Как обновиться до CentOS Stream 9 с CentOS Stream 8

centos System

В этой статье мы расскажем, как обновить CentOS Stream 9 с CentOS Stream 8.

Если использовать только официальные репозитории, то обновление до нового релиза CentOS Stream 9, который следует за Red Hat Enterprise Linux 9, не составит труда.

Использование неофициальных или пользовательских репозиториев CentOS Stream 8 может привести к нестабильной работе системы или поломке системы пользователя, если следовать этому руководству. Сначала проверьте на совместимость с CentOS Stream 9 установленные на данный момент репозитории, если используются какие-то специфические или неофициальные.

В следующей статье используется CentOS Stream 9 только с официальными репозиториями по умолчанию и, кроме того, с репозиторием EPEL, который поддерживает CentOS Stream.

Все установленные пакеты должны быть обновлены до последних версий.

dnf updateУтилита DNF сообщает, что все пакеты обновлены, потому что обновлять ничего не нужно.

Очистка всех пакетов, которые больше не требуются.

Проверьте сиротские и оставленные пакеты. Некоторые из пакетов здесь могут использоваться пользователем явно, поэтому важно знать систему. Удалите пакеты, если они не используются системой и отображаются в виде вывода следующих команд, а также если они не используются пользователем системы.

dnf repoquery --unneeded

Удалите ненужные пакеты:

где [packadge_name] - список пакетов для удаления.

dnf remove -y python3-distro-0:1.4.0-2.module_el8+762+77bd8591

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

Установите репозитории CentOS Stream 9.

Необходимо установить три файла:

  • https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/Packages/centos-stream-repos-9.0-24.el9.noarch.rpm
  • https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/Packages/centos-stream-release-9.0-24.el9.noarch.rpm
  • https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/Packages/centos-gpg-keys-9.0-24.el9.noarch.rpm

Это последняя версия на момент написания этой статьи. Проверьте URL http://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/Packages/, чтобы узнать о более новых версиях.

Установка репозитория CentOS Stream 9.

Обновите дистрибутив с помощью следующей команды

dnf -y --releasever=9-stream --allowerasing --setopt=deltarpm=false distro-sync

Перестройте базу данных RPM.

Очистите кэш DNF:

Повторно выполните команду обновления:

Установите все пакеты для "Минимальной установки":

dnf -y groupupdate "Core" "Minimal Install"

Теперь система обновлена до CentOS Stream 9.

cat /etc/*release

Систему следует перезагрузить.

Ошибка обновления "Problem: conflicting requests":

в случае возникновения ошибки

Problem: conflicting requests

Выполняем обновление следующим образом

Ошибка Error: Transaction test error:

удаляем конфликтные пакеты

Ошибка warning: Converting database from bdb_ro to sqlite backend

Выполняем следующую последовательность команд, после которой предупреждение должно уйти

Ошибка установки группы пакетов "Error: Transaction test error"

Если в процессе возникает ошибка

Удаляем initscripts

после чего, необходимо повторить

Дополнительная очистка.

Удалите старые ядра и все старые пакеты, которые имеют версию ".el8" для CentOS Stream 8.

Сначала удалите старые ядра:

rpm -q kernel-core

Удалите Менеджер подписок, если у вас нет подписки:

Посмотрите все пакеты с расширением .el8, что означает, что они относятся к CentOS Stream 8:

dnf list --installed|grep el8

Это старые библиотеки или модули, старые версии которых не включены в релиз CentOS Stream 9. Лучший способ - найти их эквиваленты в CentOS Stream 9 и установить эти пакеты. Если они не используются, их можно удалить.

Например, библиотека inih в CentOS Stream 9 имеет более старую версию, чем в CentOS Stream 8. inih в CentOS Stream 8 взята из репозитория EPEL, а в CentOS Stream 9 - из baseos. В задних случаях может случиться так, что пакеты в новом выпуске CentOS окажутся немного старше, чем пакет EPEL из старого выпуска CentOS.

Чтобы использовать пакет CentOS Stream 9, просто удалите старый, а затем установите его снова.

Так же можно попробовать обновить модули, после окончания всех процессов обновления

dnf update

Проверка logrotate

На этом шаге, предстоит проверить, запущена ли служба logrotate systemd, поскольку она отвечает за периодическую ротацию журналов в /var/log. Если эта служба не запущена, журналы могут заполнить корневой (или журнальный) раздел:

Пересоздайте загрузочную запись аварийного ядра.

Загрузочное ядро - старое, поэтому оно должно быть сгенерировано для нового выпуска CentOS, то есть для текущего ядра. Ознакомьтесь с подробной информацией в этой статье - Генерация загрузочной записи ядра спасения в CentOS Stream 9

Вот что нужно сделать:

Команда не выводит информацию об успешной генерации ядра восстановления.

Сломанные модули DNF

Похоже, что некоторые модули DNF могут быть сломаны, и менеджер DNF сообщает об этом.

К примеру

Просто верните модули в исходное состояние с помощью:

Неработающие модули отображаются в каждой команде DNF, и после их переустановки вывод проблемы исчезнет.

Изменения в брандмауэре.

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

Проще говоря, если после обновления интернет на все виртуальные серверы прекратился, добавьте "-add-forward" в зону.

Avatar for Gnostis
Gnostis
Добавить комментарий