Перевёл: 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.

  • 0. Переключитесь в однопользовательский режим:
telinit 1

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

  • 1. Обновите общие библиотеки glibc. Это важно, иначе на последующих шагах обновления возможны отказы:
upgradepkg --install-new /root/slackware/a/aaa_glibc-solibs-*.txz
  • 2. Обновите пакетный менеджер и необходимые ему утилиты:
upgradepkg /root/slackware/a/pkgtools-*.txz
upgradepkg /root/slackware/a/tar-*.txz
upgradepkg /root/slackware/a/xz-*.txz
upgradepkg /root/slackware/a/findutils-*.txz
  • 3. Обновите все остальное (и установите новые пакеты):
upgradepkg --install-new --terse /root/slackware/*/*.t?z
  • 4. Удалите устаревшие пакеты. В файле CHANGES_AND_HINTS.TXT должен быть список таких пакетов. Также можно зайти в /var/lib/pkgtools/packages и посмотреть список пакетов:
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
  • 5. Исправьте свои конфигурационные файлы. Некоторые файлы конфигурации, в каталоге /etc, требуют внимания. Свежеустановленные в систему конфигурационные файлы имеют расширение «.new». Может потребоваться дополнить их данными из старых файлов, затем заменить старые файлы новыми.

Смелы? Можете использовать этот небольшой сценарий для установки большинства конфигурационных файлов .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
  • 6. ВАЖНО! Прежде, чем приступать к перезагрузке системы, необходимо убедиться, что загрузчик обновлен для нового ядра! Убедитесь, что ваш initrd обновлен (если вы его используете). Вы можете создать новый initrd автоматически, выполнив скрипт:
# geninitrd

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

  • 7. Вернитесь в многопользовательский режим:
telinit 3
  • 8. Перезагрузитесь для использования нового ядра.

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

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


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

Навигация
Печать/экспорт
QR Code
QR Code wiki:od:upgrd_150 (generated for current page)