wiki:od:upgrd - Wiki на Slackware.su

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

Перевод © 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.

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

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

  • 1. Обновите общие библиотеки glibc. Это важно, иначе на последующих шагах обновления возможны отказы:
upgradepkg /root/slackware/a/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 /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
  • 4. Удалите устаревшие пакеты. В файле CHANGES_AND_HINTS.TXT должен быть их список. Также можно перейти в /var/log/packages и посмотреть список установленных пакетов:
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
  • 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 $configfile $(echo $configfile | rev | cut -f 2- -d . | rev)
   fi
 done

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

/usr/lib*/man.conf.new
/usr/share/vim/vimrc.new
  • 6. Если для KDE требуется не en_US языковой пакет, для его установки или обновления перейдите в каталог slackware/kdei и выполните команду:
upgradepkg --install-new *-<ваш язык для KDE>-*t?z

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

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

  • 7. ВАЖНО! Перед попыткой перезагрузки системы обеспечьте обновление загрузчика для нового ядра! Сначала убедитесь, что обновили initrd (если используете его). Для автоматической генерации initrd возможно использовать сценарий mkinitrd_command_generator.sh.

Для 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. Если для загрузки используется флешка, скопируйте на неё новое ядро вместо старого.

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

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

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


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

Печать/экспорт
QR Code
QR Code wiki:od:upgrd (generated for current page)