Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
wiki:od:upgrd_150 [14/07/2023 11:36] – создано grafwiki:od:upgrd_150 [18/07/2023 10:22] (текущий) – [Как обновлять Slackware 14.2 до 15.0 <volkerdi@slackware.com>] graf
Строка 9: Строка 9:
 \\ \\
  
-===== Как обновлять Slackware 14.до 14. <volkerdi@slackware.com> =====+===== Как обновлять Slackware 14.до 15. <volkerdi@slackware.com> =====
  
 +Важные изменения от Slackware 14.2 до 15.0 подробно описаны в файле [[wiki:od:cah_150|CHANGES_AND_HINTS.TXT]]. Благодарю Роби Воркмэна (Robby Workman) за помощь.
 +
 +Прежде чем начать, настоятельно рекомендую сделать резервную копию системы, 
 +или как минимум каталога /etc.  Возможно потребуется обратиться к ним по 
 +завершении обновления.  Сделайте копию или попробуйте рискнуть.
 +
 +Ок, теперь, когда всё надёжно скопировано, приступим. :-)
 +
 +Для обновления потребуются пакеты Slackware 15.0.  Если они на DVD, создайте для его монтирования новый каталог так, чтобы он не помешал при обновлении: 
 +<code>
 +mkdir /packages
 +mount /dev/cdrom /packages
 +</code>
 +
 +Пакеты не обязаны находиться на DVD, например, можно скопировать каталог 
 +slackware (тот, в котором расположены подкаталоги с пакетами, обычно 
 +"slackware" или "slackware64" с установочного диска) куда-либо, например, 
 +/root/slackware.  Главное -- помнить, где этот каталог с пакетами находится. 
 +Для последующих примеров будем использовать /root/slackware. 
 +
 +  *0.  Переключитесь в однопользовательский режим:
 +<code>
 +telinit 1
 +</code>
 +Отметим, что это __**не**__ строго обязательно, отчёты об успешном обновлении удалённых машин в многопользовательском режиме имели место быть. Однако, в многопользовательском режиме больше поводов для возникновения ошибок, а при удалённом обновлении в этом режиме их ещё больше, поэтому стоит рассмотреть вариант с клонированием удалённой машины локально, что позволит выполнить тестовый запуск для выявления проблем и их обхода. 
 +
 +  *1.  Обновите общие библиотеки //glibc// Это важно, иначе на последующих шагах обновления возможны отказы:
 +<code>
 +upgradepkg --install-new /root/slackware/a/aaa_glibc-solibs-*.txz
 +</code>
 +
 +  *2. Обновите пакетный менеджер и необходимые ему утилиты:
 +<code>
 +upgradepkg /root/slackware/a/pkgtools-*.txz
 +upgradepkg /root/slackware/a/tar-*.txz
 +upgradepkg /root/slackware/a/xz-*.txz
 +upgradepkg /root/slackware/a/findutils-*.txz
 +</code>
 +
 +  *3. Обновите все остальное (и установите новые пакеты):
 +<code>
 +upgradepkg --install-new --terse /root/slackware/*/*.t?z
 +</code>
 +
 +  *4. Удалите устаревшие пакеты. В файле [[wiki:od:cah_150|CHANGES_AND_HINTS.TXT]] должен быть список таких пакетов. Также можно зайти в ///var/lib/pkgtools/packages// и посмотреть список пакетов:
 +<code>
 +ls -lt | less
 +</code>
 +
 +Возможно, вы обнаружите несколько старых, устаревших или прекративших свое существование пакетов. Их можно удалить с помощью команды //removepkg//. Эта команда избавит вас от пакетов, которые устарели после выхода Slackware 14.2 или были представлены во время цикла разработки 15.0 и впоследствии удалены:
 +<code>
 +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
 +</code>
 +
 +  *5. Исправьте свои конфигурационные файлы. Некоторые файлы конфигурации, в каталоге ///etc//, требуют внимания. Свежеустановленные в систему конфигурационные файлы имеют расширение ".new" Может потребоваться дополнить их данными из старых файлов, затем заменить старые файлы новыми.
 +
 +Смелы? Можете использовать этот небольшой сценарий для установки большинства конфигурационных файлов .new в ///etc// Если вносились любые локальные изменения, их потребуется внести во вновь установленные файлы.  Прежние файлы будут скопированы в *.bak.  В любом случае, это неплохая отправная точка.  Собственно сценарий:
 +<code bash>
 +#!/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
 +</code>
 +
 +Вероятно, также потребуется заменить этим файлом его прежний вариант:
 +<code>
 +/usr/share/vim/vimrc.new
 +</code>
 +
 +  *6. **ВАЖНО!** Прежде, чем приступать к перезагрузке системы, необходимо убедиться, что загрузчик обновлен для нового ядра! Убедитесь, что ваш //initrd// обновлен (если вы его используете). Вы можете создать новый //initrd// автоматически, выполнив скрипт:
 +<code>
 +# geninitrd
 +</code>
 +
 +Если вы используете LILO, убедитесь, что пути в файле ///etc/lilo.conf// указывают на корректное ядро, а затем введите //**lilo**// для переустановки загрузчика. Если для загрузки используется USB-накопитель, скопируйте на него новое ядро вместо старого. Если используется //elilo// на машине с //UEFI BIOS//, выполните команду //**eliloconfig**// для установки нового ядра и //initrd// в системный раздел //EFI//.
 +
 +  *7.  Вернитесь в многопользовательский режим:
 +<code>
 +telinit 3
 +</code>
 +
 +  *8.  Перезагрузитесь для использования нового ядра.
 +
 +Вот теперь вы точно используете //Slackware 15.0// :-)
 +
 +Желаю всем удачи!
 +
 +----
 +Патрик Фолькердинг (//Patrick Volkerding//)\\
 +volkerdi@slackware.com
Навигация
Печать/экспорт
QR Code
QR Code wiki:od:upgrd_150 (generated for current page)