💾 Archived View for tilde.team › ~rami › redhat_upgrade.gmi captured on 2023-12-28 at 16:13:06. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
רמי
SUBJECT: Fedora: Глобальный апгрейд релизов ОС
AUTHOR: Rami Rosenfeld
DATE: 12/09/22
TIME: 15.00
LANG: ru, en
LICENSE: GNU FDL 1.3
TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, systemd, systemctl, selinux, firewalld, dnf, rpm
Важно! Перед запуском процесса обновления ОС на новый релиз, сохраните свои критичные данные на стороннем носителе.
Важно! На всякий случай, заранее подготовьте Live USB-Flash со старой (т.е. текущей) версией операционной системы).
Рекомендация: не делайте апгрейд сразу на +2 версии релиза (хотя это допустимо). Не делайте апргрейд версий Fedora с закончившимся сроком поддержки (EOL: "end-of-the-life").
dnf upgrade --refresh
systemctl reboot
dnf install dnf-plugin-system-upgrade
dnf system-upgrade download --releasever=36
Примечание 1: В предыдущей строке измените значение --releasever на необходимое. Например, если вы обновляетесь с 35 (текущая версия Fedora) на 36, выставьте значение "36" (без кавычек и пробела).
Примечание 2: Если некоторые пакеты будут иметь неудовлетворенные зависимости (например, в случае использования ранее сторонних репозиториев), добавьте опцию --allowerasing, разрешающую удаление:
dnf system-upgrade download --releasever=36 --allowerasing
Примечание 3: Если вы хотите удалить/установить некоторые пакеты вручную перед запуском обновления ОС, используйте опцию --setopt=keepcache=1 - она удержит (т.е. сохранит) кэш пакетов, скачанных с помощью dnf; в противном случае все обновляемые пакеты будут загружены заново:
dnf system-upgrade download --releasever=36 --allowerasing --setopt=keepcache=1
dnf system-upgrade reboot
Многие конфигурационные файлы хранятся по адресу /etc. Если вы видоизменяли их перед апгрейдом ОС, система RPM создаст новые конфигурационные файлы с расширением .rpmnew, а старые пометит как .rpmsave (резервные копии ваших конфигурационных файлов). Вы можете найти эти файлы или использовать утилиту rpmconf для упрощения данного процесса:
dnf install rpmconf
При возникновении ошибок используйте команду:
rpmconf -a
После глобального апгрейда ОС некоторые пакеты могут утратить работоспособность (устареть по разным причинам, не использоваться более в новом релизе ОС, разработчик не проявляет активности), но они будут присутствовать в обновленной ОС. Для их удаления выполните:
dnf install remove-retired-packages
remove-retired-packages
dnf repoquery --unsatisfied
dnf repoquery --duplicates
После глобального апгрейда ОС все пакеты из официальных репозиториев должны быть обновлены до последней версии. Если некоторые пакеты не содержатся более в репозиториях, их можно найти и удалить:
dnf list extras
Однако будьте осторожны со следующей командой:
dnf remove $(dnf repoquery --extras --exclude=kernel,kernel-\*)
dnf install symlinks
symlinks -r /usr | grep dangling
Если вы наблюдаете предупреждения при использовании RPM/DNF, ваша база данных RPM может быть повреждена. Вначале сохраните бэкап содержимого /var/lib/rpm, затем пересоберите базу данных RPM:
rpm --rebuilddb
Если по какой-то причине ваша ОС или ее отдельные компоненты обновились не полностью, используйте команду:
dnf distro-sync --allowerasing
Примечание: Опция --allowerasing удалит пакеты с зависимостями, которые не могут быть удовлетворены. Предварительно ознакомьтесь с их списком и выполняйте команду с осторожностью (или откажитесь от этой опции)!
Если после апгрейда ОС вы наблюдаете предупреждения, связанные с правилами SELinux, скорее всего, некоторые файлы имеют некорректные разрешения SELinux. Зачастую это связано с тем, что вы деактивировали его ранее. Для исправления SELinux-контекстов безопасности файлов выполните:
fixfiles -B onboot
Примечание: Процесс произойдет во время перезагрузки ОС.
dnf system-upgrade clean
dnf clean all
Подробнее см.:
🄯 Rami Rosenfeld, 2022. GNU FDL 1.3.