Перевод порядка обновлений версий ниже, находится на странице форума.

Перевод © Serg Bormant, 2016. Редакция 2 от 02.07.2016 16:00 MSK.
Оригинал: http://slackware.osuosl.org/slackware-14.2/UPGRADE.TXT 2016-06-24 22:58



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


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

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

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

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

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

mkdir /packages
mount /dev/cdrom /packages

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

telinit 1

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

upgradepkg /root/slackware/a/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 /root/slackware/*/*.t?z

Обновление всего, кроме языковых пакетов для KDE из KDEI (они занимают много места, а разобраться с ними после основного обновления быстро и просто), возможно запуском этого сценария в каталоге «slackware»:

#!/bin/sh
 for dir in a ap d e f k kde l n t tcl x xap xfce y ; do
  ( cd $dir ; upgradepkg --install-new *.t?z )
 done
ls -lt | less

Возможно в нём есть старые, исключённые или больше не применяемые пакеты. Если так, можете удалить их при помощи «removepkg». Эта команда позволит избавиться от пакетов, исключённых после Slackware 14.1:

removepkg ConsoleKit apmd bluez-hcidump cxxlibs foomatic-filters \
gnome-icon-theme imlib kdeadmin kdenetwork kdesdk kdetoys kwallet \
lesstif libelf libjpeg libxfcegui4 networkmanagement obex-data-server \
obexfs open-cobol oxygen-gtk3 phonon-mplayer phonon-xine pil portmap \
procps qca-cyrus-sasl qca-gnupg qca-ossl udev xchat xf86-input-aiptek \
xf86-video-modesetting xfce4-mixer xfce4-volumed xfwm4-themes

Смелы? Можете использовать этот небольшой сценарий для установки большинства конфигурационных файлов .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 $configfile $(echo $configfile | rev | cut -f 2- -d . | rev)
   fi
 done

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

/usr/lib*/man.conf.new
/usr/share/vim/vimrc.new
upgradepkg --install-new *-<ваш язык для KDE>-*t?z

Если ваш язык уже был добавлен в KDE после Slackware 14.1, вам будет нужно установить его с помощью installpkg, или upgradepkg –install-new.

Убедитесь, что вы установили пакеты Slackware/kdei для kde и calligra (если вы их используете).

Для 64-битного или 32-битного однопроцессорного ядра используйте:

/usr/share/mkinitrd/mkinitrd_command_generator.sh -k 4.4.14 | bash

Для 32-битного ядра SMP используйте:

/usr/share/mkinitrd/mkinitrd_command_generator.sh -k 4.4.14-smp | bash

Если используете LILO, убедитесь, что пути в /etc/lilo.conf указывают на правильное ядро, затем выполните «lilo» для переустановки LILO. Если для загрузки используется флешка, скопируйте на неё новое ядро вместо старого.

telinit 3

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

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


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