Перевёл: Graf
Дата перевода: июль 2023 г.
Оригинал: http://slackware.osuosl.org/slackware-15.0/UPGRADE.TXT



порядок обновления Slackware 14.2 до 15.0


Как обновлять Slackware 14.2 до 15.0 <volkerdi@slackware.com>

Важные изменения от Slackware 14.2 до 15.0 подробно описаны в файле CHANGES_AND_HINTS.TXT. Благодарю Роби Воркмэна (Robby Workman) за помощь.

Прежде чем начать, настоятельно рекомендую сделать резервную копию системы, или как минимум каталога /etc. Возможно потребуется обратиться к ним по завершении обновления. Сделайте копию или попробуйте рискнуть.

Ок, теперь, когда всё надёжно скопировано, приступим. :-)

Для обновления потребуются пакеты Slackware 15.0. Если они на DVD, создайте для его монтирования новый каталог так, чтобы он не помешал при обновлении:

mkdir /packages
mount /dev/cdrom /packages

Пакеты не обязаны находиться на DVD, например, можно скопировать каталог slackware (тот, в котором расположены подкаталоги с пакетами, обычно «slackware» или «slackware64» с установочного диска) куда-либо, например, /root/slackware. Главное – помнить, где этот каталог с пакетами находится. Для последующих примеров будем использовать /root/slackware.

telinit 1

Отметим, что это не строго обязательно, отчёты об успешном обновлении удалённых машин в многопользовательском режиме имели место быть. Однако, в многопользовательском режиме больше поводов для возникновения ошибок, а при удалённом обновлении в этом режиме их ещё больше, поэтому стоит рассмотреть вариант с клонированием удалённой машины локально, что позволит выполнить тестовый запуск для выявления проблем и их обхода.

upgradepkg --install-new /root/slackware/a/aaa_glibc-solibs-*.txz
upgradepkg /root/slackware/a/pkgtools-*.txz
upgradepkg /root/slackware/a/tar-*.txz
upgradepkg /root/slackware/a/xz-*.txz
upgradepkg /root/slackware/a/findutils-*.txz
upgradepkg --install-new --terse /root/slackware/*/*.t?z
ls -lt | less

Возможно, вы обнаружите несколько старых, устаревших или прекративших свое существование пакетов. Их можно удалить с помощью команды removepkg. Эта команда избавит вас от пакетов, которые устарели после выхода Slackware 14.2 или были представлены во время цикла разработки 15.0 и впоследствии удалены:

removepkg --terse ConsoleKit2 PyQt Thunar aaa_elflibs amarok amor ash \
automoc4 bigreqsproto calligra-l10n-bs calligra-l10n-ca \
calligra-l10n-ca@valencia calligra-l10n-cs calligra-l10n-da \
calligra-l10n-de calligra-l10n-el calligra-l10n-en_GB calligra-l10n-es \
calligra-l10n-et calligra-l10n-fi calligra-l10n-fr calligra-l10n-gl \
calligra-l10n-hu calligra-l10n-it calligra-l10n-ja calligra-l10n-kk \
calligra-l10n-nb calligra-l10n-nl calligra-l10n-pl calligra-l10n-pt \
calligra-l10n-pt_BR calligra-l10n-ru calligra-l10n-sk calligra-l10n-sv \
calligra-l10n-tr calligra-l10n-uk calligra-l10n-zh_CN \
calligra-l10n-zh_TW cargo cgmanager compositeproto damageproto db42 \
db44 dirmngr dmxproto dri2proto dri3proto eigen2 eject evieext \
fixesproto fontcacheproto fontsproto gcc-java getty-ps glade3 \
glibc-solibs glproto gnome-themes-standard gnu-cobol gst-plugins-base0 \
gst-plugins-good0 gstreamer0 gtk-xfce-engine herqq idnkit ilmbase \
imapd inputproto intel-gpu-tools js185 kaccessible kajongg \
kaudiocreator kbproto kde-base-artwork kde-baseapps kde-l10n-ar \
kde-l10n-bg kde-l10n-bs kde-l10n-ca kde-l10n-ca@valencia kde-l10n-cs \
kde-l10n-da kde-l10n-de kde-l10n-el kde-l10n-en_GB kde-l10n-es \
kde-l10n-et kde-l10n-eu kde-l10n-fa kde-l10n-fi kde-l10n-fr \
kde-l10n-ga kde-l10n-gl kde-l10n-he kde-l10n-hi kde-l10n-hr \
kde-l10n-hu kde-l10n-ia kde-l10n-id kde-l10n-is kde-l10n-it \
kde-l10n-ja kde-l10n-kk kde-l10n-km kde-l10n-ko kde-l10n-lt \
kde-l10n-lv kde-l10n-mr kde-l10n-nb kde-l10n-nds kde-l10n-nl \
kde-l10n-nn kde-l10n-pa kde-l10n-pl kde-l10n-pt kde-l10n-pt_BR \
kde-l10n-ro kde-l10n-ru kde-l10n-sk kde-l10n-sl kde-l10n-sr \
kde-l10n-sv kde-l10n-tr kde-l10n-ug kde-l10n-uk kde-l10n-wa \
kde-l10n-zh_CN kde-l10n-zh_TW kde-runtime kde-wallpapers kde-workspace \
kdeartwork kdegraphics-strigi-analyzer kdelibs \
kdenetwork-strigi-analyzers kdepim kdepim-apps-libs kdepimlibs \
kdesdk-strigi-analyzers kdevelop-php kdevelop-php-docs kdevplatform \
kdewebdev keybinder kgamma kio-mtp klettres korundum kplayer kppp \
kremotecontrol ksaneplugin ksnapshot ksysguard ktuberling ktux \
kuser kwebkitpart lha libXfont libart_lgpl libbluedevil libcroco \
libkdeedu libkgeomap liblastfm libmcs libmm-qt libmowgli libmsn \
libnm-qt libtermcap libva-intel-driver libwmf-docs mailx man \
mkfontdir mozjs52 mozjs60 mozjs68 mplayerthumbs nepomuk-core \
nepomuk-widgets notify-python openldap-client openssl10 \
openssl10-solibs orage oxygen-icons pairs perlkde perlqt \
phonon-gstreamer pm-utils presentproto printproto pth pykde4 pyrex \
python python-enum34 qca-qt5 qimageblitz qjson qt qt-gstreamer qtruby \
qtscriptgenerator randrproto raptor2 rasqal recordproto redland \
renderproto resourceproto rfkill rxvt scim scim-anthy scim-hangul \
scim-input-pad scim-m17n scim-pinyin scim-tables scrnsaverproto \
seamonkey-solibs sendmail sendmail-cf slocate smokegen smokekde \
smokeqt soprano strigi superkaramba tetex tetex-doc transfig trn \
urwid videoproto virtuoso-ose wicd-kde wireless-tools workbone \
xcmiscproto xextproto xf86-video-xgi xf86-video-xgixp xf86bigfontproto \
xf86dgaproto xf86driproto xf86miscproto xf86vidmodeproto xfractint \
xineramaproto xproto xv

Смелы? Можете использовать этот небольшой сценарий для установки большинства конфигурационных файлов .new в /etc. Если вносились любые локальные изменения, их потребуется внести во вновь установленные файлы. Прежние файлы будут скопированы в *.bak. В любом случае, это неплохая отправная точка. Собственно сценарий:

#!/bin/sh
cd /etc
find . -name "*.new" | while read configfile ; do
   if [ ! "$configfile" = "./rc.d/rc.inet1.conf.new" \
       -a ! "$configfile" = "./rc.d/rc.local.new" \
       -a ! "$configfile" = "./group.new" \
       -a ! "$configfile" = "./passwd.new" \
       -a ! "$configfile" = "./shadow.new" ]; then
     cp -a $(echo $configfile | rev | cut -f 2- -d . | rev) \
     $(echo $configfile | rev | cut -f 2- -d . | rev).bak 2> /dev/null
     mv --verbose $configfile $(echo $configfile | rev | cut -f 2- -d . | rev)
   fi
done

Вероятно, также потребуется заменить этим файлом его прежний вариант:

/usr/share/vim/vimrc.new
# geninitrd

Если вы используете LILO, убедитесь, что пути в файле /etc/lilo.conf указывают на корректное ядро, а затем введите lilo для переустановки загрузчика. Если для загрузки используется USB-накопитель, скопируйте на него новое ядро вместо старого. Если используется elilo на машине с UEFI BIOS, выполните команду eliloconfig для установки нового ядра и initrd в системный раздел EFI.

telinit 3

Вот теперь вы точно используете Slackware 15.0. :-)

Желаю всем удачи!


Патрик Фолькердинг (Patrick Volkerding)
volkerdi@slackware.com