Обновление деривативов RedHat
Обновление деривативов RedHat.
Содержание
1 Общая информация
1.1 Проект ELevate
- Сайт: https://almalinux.org/elevate/
- Документация: https://wiki.almalinux.org/elevate/
- Поддерживает следующие пути обновления и миграции:
- обновление с CentOS 6 до CentOS 7;
- обновление с CentOS 7 до AlmaLinux 8, CentOS Stream 8, Euro Linux 8, Oracle Linux 8 или Rocky Linux 8;
- обновление Scientific Linux 7 до AlmaLinux 8;
- обновление с 8.x до 9.x в том же дистрибутиве;
- миграция на Oracle Linux 9 доступна с утилитой Oracle Leapp.
1.1.1 Scientific Linux 7
- Scientific Linux 7 была последняя поддерживаемая версия.
- Они рекомендуют обновляться на AlmaLinux:
1.2 Предварительные действия
- Определите версию операционной системы:
cat /etc/os-release
2 7 → 8
2.1 Обновление Centos 7 до Rocky 8
2.1.1 Общая информация
- Будем использовать проект Elevate.
2.1.2 Подготовка к обновлению
Возможно, придётся заменить репозитории: CentOS 8. Изменение адресов репозиториев
Удалите внешние репозитории:
sudo yum -y remove epel-release sudo yum -y remove rpmforge-release sudo yum -y remove elrepo-releaseОбновите систему:
sudo yum -y upgradeПерегрузите машину:
sudo rebootУстановите пакет elevate-release:
sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpmУстановите утилиты для миграции:
sudo yum install -y leapp-upgrade leapp-data-rocky- Другие варианты установки:
centos,almalinux,eurolinux,oraclelinux:sudo yum install -y leapp-upgrade leapp-data-almalinux
- Другие варианты установки:
Лучше установить SELinux в
permissiveв файле/etc/selinux/config.Перегрузите компьютер.
Восстановите метки SELinux:
sudo restorecon -vR /Удалите неподдерживаемые модули ядра:
sudo rmmod pata_acpi sudo rmmod floppyПроверьте возможность обновления:
sudo leapp preupgradeОтчёт находится в файле
/var/log/leapp/leapp-report.txt.Там же находятся и рекомендации по устранению проблем.
Тут же будет список неподписанных пакетов, которые, скорее всего, вам придётся установить заново после обновления.
Также создаётся файл
/var/log/leapp/answerfile, где нужно подтвердить действия.Подтвердите удаление модуля PAM PKCS#11:
sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=TrueПосле исправления запустите утилиту опять. И так до устранения основных недостатков.
2.1.3 Обновление
- После подготовки сделайте обновление:
sudo leapp upgrade - После скачивания необходимых пакетов будет предложено перегрузить машину.
- После перезагрузки начнётся процесс обновления.
2.1.4 После обновления
Удалите старые пакеты от Centos7:
rpm -qa | grep -E 'el7[.-]' | xargs rpm -e rpm -qa | grep -E 'sl7[.-]' | xargs rpm -eВыполните последующие действия либо обновляйте до следующей версии.
Установите внешние репозитории:
dnf install epel-releaseОбновите необновлённые пакеты:
dnf -y updateУстановите удалённые пакеты, например:
dnf install fail2ban systemctl enable --now fail2ban.serviceЕсли используете LVM, обновите метаданные:
sudo vgck --updatemetadata <volume_group_name>- Можно в виде скрипта:
for i in $(vgdisplay -A -c 2>/dev/null | cut -f1 -d: | xargs ); do sudo vgck --updatemetadata ${i}; done
- Можно в виде скрипта:
Установите SELinux в
enforcingв файле/etc/selinux/config.
3 8 → 9
3.1 Обновление Oracle 8 до Oracle 9
3.1.1 Общая информация
- Материалы:
3.1.2 Подготовка к обновлению
- Обновите систему:
sudo dnf update - Установите утилиту Leapp:
sudo dnf install leapp-upgrade --enablerepo=ol8_appstream,ol8_baseos_latest - Лучше установить SELinux в
permissiveв файле/etc/selinux/config. - Перегрузите компьютер.
- Восстановите метки SELinux:
sudo restorecon -vR / - Удалите внешние репозитории:
dnf remove epel-release - Проверьте возможность обновления:
sudo leapp preupgrade --oraclelinux - Отчёт находится в файле
/var/log/leapp/leapp-report.txt. - Там же находятся и рекомендации по устранению проблем.
- Тут же будет список неподписанных пакетов, которые, скорее всего, вам придётся установить заново после обновления.
- Также создаётся файл
/var/log/leapp/answerfile, где нужно подтвердить действия. - После исправления запустите утилиту опять. И так до устранения основных недостатков.
3.1.3 Обновление
- После подготовки сделайте обновление:
sudo leapp upgrade --oraclelinux - После скачивания необходимых пакетов будет предложено перегрузить машину.
- После перезагрузки начнётся процесс обновления.
3.1.4 После обновления
Установите внешние репозитории:
dnf install epel-releaseОбновите необновлённые пакеты:
dnf -y updateУстановите удалённые пакеты, например:
dnf install fail2ban systemctl enable --now fail2ban.service- Установите SELinux в
enforcingв файле/etc/selinux/config. - Установите ядро Unbreakable Enterprise Kernel:
dnf -y install kernel-uek kernel-uek-modules kernel-uek-modules-extra
- Установите SELinux в
3.2 Обновление Rocky 8 до Rocky 9
3.2.1 Общая информация
- Будем использовать проект Elevate.
3.2.2 Подготовка к обновлению
Возможно, придётся заменить репозитории: CentOS 8. Изменение адресов репозиториев
Обновите систему:
sudo dnf -y upgradeПерегрузите машину:
sudo rebootУстановите пакет elevate-release:
sudo dnf install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpmОтменить исключение пакетов, выполненное при предыдущем обновлении:
sudo dnf config-manager --save --setopt exclude=''Установите утилиты для миграции:
sudo dnf install -y leapp-upgrade leapp-data-rocky- Другие варианты установки:
centos,almalinux:sudo yum install -y leapp-upgrade leapp-data-almalinux
- Другие варианты установки:
Лучше установить SELinux в
permissiveв файле/etc/selinux/config.Перегрузите компьютер.
Восстановите метки SELinux:
sudo restorecon -vR /Удалите внешние репозитории:
dnf remove epel-releaseПроверьте возможность обновления:
sudo leapp preupgradeОтчёт находится в файле
/var/log/leapp/leapp-report.txt.Там же находятся и рекомендации по устранению проблем.
Тут же будет список неподписанных пакетов, которые, скорее всего, вам придётся установить заново после обновления.
Также создаётся файл
/var/log/leapp/answerfile, где нужно подтвердить действия.Общие исправления для Rocky Linux 8.
- Изменение конфигурации firewalld:
sudo sed -i "s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/" /etc/firewalld/firewalld.conf - Удаление файла конфигурации сети для неподдерживаемого типа сетевого устройства:
rm /etc/sysconfig/network-scripts/ifcfg-[device_name] - Обход требования проверки устройства VDO в файле ответов:
sudo leapp answer --section check_vdo.no_vdo_devices=True - Удалите неподдерживаемые модули ядра:
sudo rmmod ip_set
- Изменение конфигурации firewalld:
После исправления запустите утилиту опять. И так до устранения основных недостатков.
3.2.3 Обновление
- Обычно пакеты
make-develиrocky-logosприводят к сбою обновления. Удалите их:dnf -y remove make-devel dnf -y remove rocky-logos - После подготовки сделайте обновление:
sudo leapp upgrade - После скачивания необходимых пакетов будет предложено перегрузить машину.
- После перезагрузки начнётся процесс обновления.
3.2.4 После обновления
Удалите старые пакеты от Rocky Linux 8:
sudo rpm -qa | grep -E 'el8[.-]' | xargs rpm -eВыполните последующие действия либо обновляйте до следующей версии.
Установите внешние репозитории:
sudo dnf config-manager --set-enabled crb sudo dnf -y install epel-release sudo /usr/bin/crb enableОбновите необновлённые пакеты:
sudo dnf -y updateУстановите удалённые пакеты, например:
sudo dnf -y install fail2ban sudo systemctl enable --now fail2ban.serviceЕсли используете LVM, обновите метаданные:
sudo vgck --updatemetadata <volume_group_name>- Можно в виде скрипта:
for i in $(vgdisplay -A -c 2>/dev/null | cut -f1 -d: | xargs ); do sudo vgck --updatemetadata ${i}; done
- Можно в виде скрипта:
Установите SELinux в
enforcingв файле/etc/selinux/config.
4 9 → 10
4.1 Обновление Alma 9 до Alma 10
4.1.1 Общая информация
- Будем использовать проект Elevate.
4.1.2 Подготовка к обновлению
Проверка готовности
- Обновите систему:
sudo dnf -y upgrade - Перегрузите машину:
sudo reboot - Проверка архитектуры процессора (CPU).
- AlmaLinux 10 требует поддержки архитектуры
x86_64-v3. - Выполните команду, чтобы убедиться, что ваш процессор совместим.
/usr/lib64/ld-linux-x86-64.so.2 --help | grep x86-64-v3 - Если в выводе есть
x86-64-v3 (supported, searched), то система готова к обновлению.
- AlmaLinux 10 требует поддержки архитектуры
- Убедитесь, что на корневом разделе (
/) есть не менее 5 ГБ свободного места для загрузки и распаковки новых пакетов.
- Обновите систему:
Установка инструментов
- Установите пакет elevate-release:
sudo dnf install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm - Отменить исключение пакетов, выполненное при предыдущем обновлении:
sudo dnf config-manager --save --setopt exclude='' - Установите утилиты для миграции:
sudo dnf install -y leapp-upgrade leapp-data-almalinux - Лучше установить SELinux в
permissiveв файле/etc/selinux/config. - Перегрузите компьютер.
- Восстановите метки SELinux:
sudo restorecon -vR / - Удалите внешние репозитории:
dnf remove epel-release
- Установите пакет elevate-release:
Проверка готовности (Preupgrade)
- Проверьте возможность обновления:
sudo leapp preupgrade - Отчёт находится в файле
/var/log/leapp/leapp-report.txt. - Там же находятся и рекомендации по устранению проблем.
- Тут же будет список неподписанных пакетов, которые, скорее всего, вам придётся установить заново после обновления.
- Также создаётся файл
/var/log/leapp/answerfile, где нужно подтвердить действия.- Ответить на них можно командой
sudo leapp answer --section <имя_секции>.confirm=True
- Ответить на них можно командой
- Нужно вносить исправления до тех пор, пока повторный запуск
sudo leapp preupgradeне покажет0 Inhibitors.
- Проверьте возможность обновления:
Наиболее частые проблемы (ингибиторы)
Устаревшая сетевая конфигурация (Legacy network configuration).
- Leapp сообщит, что обнаружены файлы в
/etc/sysconfig/network-scripts/. - Нужно мигрировать конфигурацию в формат, поддерживаемый NetworkManager.
sudo nmcli con migrate - Сами скрипты нужно удалить.
- Leapp сообщит, что обнаружены файлы в
Модуль ядра
qla4xxx.- Может вызывать конфликт.
- Нужно выгрузить модуль.
sudo rmmod qla4xxx
Репозиторий Ceph
- Файл конфигурации этого репозитория может мешать обновлению.
- Нужно удалить его.
sudo rm /etc/yum.repos.d/ceph.repo
4.1.3 Обновление
- Обычно пакеты
make-develиrocky-logosприводят к сбою обновления. Удалите их:dnf -y remove make-devel dnf -y remove rocky-logos - После подготовки сделайте обновление:
sudo leapp upgrade - После скачивания необходимых пакетов будет предложено перегрузить машину.
- Выполните перезагрузку:
sudo reboot - После перезагрузки в меню GRUB автоматически будет выбран пункт
ELevate-Upgrade-Initramfs(или аналогичный). - Не вмешивайтесь в процесс. Начнется финальная фаза обновления, в ходе которой будут заменены все пакеты.
- Этот этап может занять от 10 до 30 минут и более, в зависимости от производительности сервера.
- На экране будет отображаться прогресс.
- По окончании этого процесса сервер снова перезагрузится автоматически и загрузится уже с ядром AlmaLinux 10.
4.1.4 После обновления
Проверьте версию ОС после входа в систему:
cat /etc/almalinux-release # Ожидаемый вывод: AlmaLinux 10.X uname -r # Должно отображаться ядро версии 5.14.0 или новееУдалите оставшиеся пакеты от AlmaLinux 9.
# Посмотреть список пакетов с меткой el9 rpm -qa | grep el9 # Удалить их все одной командой (будьте внимательны!) sudo dnf remove $(rpm -qa | grep el9)Верните SELinux в
enforcing mode.Отредактируйте файл конфигурации:
sudo vi /etc/sysconfig/selinuxУстановите параметр
SELINUX=enforcing, затем перезагрузите сервер для применения настроек.sudo rebootУстановите внешние репозитории:
sudo dnf config-manager --set-enabled crb sudo dnf -y install epel-release sudo /usr/bin/crb enable sudo dnf -y install almalinux-release-develОбновите необновлённые пакеты:
sudo dnf -y updateУстановите удалённые пакеты, например:
sudo dnf -y install fail2ban sudo systemctl enable --now fail2ban.serviceЕсли используете LVM, обновите метаданные:
sudo vgck --updatemetadata <volume_group_name>- Можно в виде скрипта:
for i in $(vgdisplay -A -c 2>/dev/null | cut -f1 -d: | xargs ); do sudo vgck --updatemetadata ${i}; done
- Можно в виде скрипта:
