[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Эта страница ещё не завершена!

Обновление Slackware до новой версии

Обновление или установка с нуля

Установка Slackware с чистого листа всегда предпочтительнее, если вы пользуетесь довольно старой версией дистрибутива и хотите пропустить несколько релизов. Слишком много внутренних изменений могло произойти за прошедшее время, так что попытка обновления скорее всего обернётся крайне болезненной процедурой, отнюдь не гарантирующей успеха. В подобных случаях рекомендуется сохранить список установленных пакетов (ls -lart /var/log/packages), создать резервную копию каталога /etc, ну и своих собственных данных (вы ведь уже сделали это, правда?), после чего просто отформатировать диск и установить Slackware с загрузочного устройства обычным образом.

Если же вы собираетесь обновиться до следующей версии, можно сделать это вручную, следуя инструкциям в файле UPGRADE.TXT, который находится в корне дистрибутивного DVD, либо первого CD. Более подробные указания и полезные советы вы можете найти в файле CHANGES_AND_HINTS.TXT, находящемся там же. Кроме того, процесс можно автоматизировать с помощью slackpkg, это избавит вас от значительной части рутинной работы. Я всегда использую slackpkg (с осторожностью) при обновлении своих систем от одной стабильной версии к другой. Та же самая процедура может быть применена для перехода к slackware-current, поддержки slackware-current в актуальном состоянии, или для превращения slackware-не-очень-current в последний стабильный релиз.

Соображения насчёт ядра

Просто запустить slackpkg в надежде на внезапный успех - не самый разумный вариант. Есть вещи, о которых следует позаботиться, прежде чем пускаться во все тяжкие. Для начала, запомните одну вещь:

Никогда не обновляйте ваше рабочее ядро!

Почему? Да потому что вы обновляете хренову тучу пакетов, и должны быть готовы, что с некоторой, пусть и незначительной долей вероятности ваш компьютер после перезагрузки превратится в тыкву. Согласитесь, не очень-то хотелось бы получить систему, которая не просто не работает как следует, а даже не загружается. Новая версия Slackware может содержать ядро, которое попросту откажется работать на вашей машине (опять же, вероятность невелика, но тем не менее). Поэтому вы должны сохранить заведомо рабочее ядро и выделить ему отдельную секцию в файле /etc/lilo.conf. Таким образом, если новое ядро начнёт выпендриваться, вы всегда сможете воспользоваться старым, дабы загрузиться и выяснить, что же пошло не так. Собственно, это те же самые предосторожности, которые следует соблюдать при собственноручной сборке ядра.

По поводу видеодрайверов

Если ваш компьютер оборудован видеокартой от Nvidia или ATI и у вас установлены фирменные драйвера (проприетарные блобы), не пытайтесь запускать иксы сразу после обновления системы. Эти драйвера завязаны на версию ядра, Mesa и X-сервера (кроме того, пакеты mesa и xorg-server гарантированно перезапишут некоторые файлы, принадлежащие драйверам), так что перед запуском графического режима их придётся переустановить.

Если хотите подробностей, у нас есть соответствующая статья.

Slackpkg и все-все-все

Раз уж вы решили обновлять Slackware, то в первую же очередь обновите slackpkg. Команда upgradepkg установит файл /etc/slackpkg/mirrors.new - это список зеркал, на которых хранится в том числе и новый релиз Slackware. Сравните его с оригиналом и перенесите свои изменения, если необходимо.

Убедитесь, что раскомментирована строго одна строка, указывающая на необходимую версию и архитектуру.

Обновление системы с помощью slackpkg

Следующие шаги должны сработать в любом случае:

  • Внесите в чёрный список (/etc/slackpkg/blacklist) следующие ядерные пакеты:
    kernel-generic
    kernel-generic-smp
    kernel-huge
    kernel-huge-smp
    kernel-modules
    kernel-modules-smp

    Это предотвратит случайное обновление рабочего ядра.

  • Внесите в чёрныф список пакеты из сторонних репозитариев путём добавления их меток. Пример для SlackBuilds.org, AlienBOB и Multilib:
    [0-9]+_SBo
    [0-9]+alien
    [0-9]+compat32
  • Если релиз Slackware, до которого вы обновляетесь, содержит новые ядра, используйте команду installpkg для установки их пакетов (не upgradepkg, потому что иначе старое ядро будет удалено). Следует установить как минимум одно ядро (kernel-generic, kernel-generic-smp, kernel-huge, или kernel-huge-smp) и соответствующий пакет с модулями (kernel-modules или kernel-modules-smp). Не используйте slackpkg для этого шага.
  • Теперь, когда у нас есть новое ядро плюс модули, можно обновлять всё остальное. Сперва обновим базу данных slackpkg, содержащую сведения о пакетах:
    # slackpkg update
 ru:howtos:slackware_admin:systemupgrade ()
Этот перевод старее, чем оригинальная страница, и может быть неактуальным. Смотрите, что было изменено.
Перевод этой страницы?: