Вопрос или проблема
Я обновил AlmaLinux 8.6 до AlmaLinux 8.7. Я хотел бы отменить обновление, но мне это не удается. Вот сообщение об ошибке:
Error: The following problems occurred while running a transaction:
Cannot find rpm nevra "NetworkManager-1:1.36.0-9.el8_6.x86_64".
Cannot find rpm nevra "NetworkManager-adsl-1:1.36.0-9.el8_6.x86_64".
Cannot find rpm nevra "NetworkManager-bluetooth-1:1.36.0-9.el8_6.x86_64".
Простой способ отмены был бы очень кстати. Есть ли способ сохранить состояние машины, чтобы легко вернуться назад, если что-то пойдет не так?
Следующее позволит вам отменить изменения (пакеты Appstream) при обновлении с AlmaLinux 8.7 до AlmaLinux 8.8.
Скопируйте текущую конфигурацию и сделайте ее файлом репозитория для предыдущего выпуска AlmaLinux.
sudo cp /etc/yum.repos.d/almalinux.repo /etc/yum.repos.d/almalinux-8.7.repo
Замените все $releasever
на предыдущую версию AlmaLinux.
sudo sed -i 's/$releasever/8.7/g' /etc/yum.repos.d/almalinux-8.7.repo
Обновите значение в теге []
на предыдущую версию AlmaLinux
sudo sed -i 's/\[baseos\]/\[baseos-8.7\]/g' /etc/yum.repos.d/almalinux-8.7.repo
sudo sed -i 's/\[appstream\]/\[appstream-8.7\]/g' /etc/yum.repos.d/almalinux-8.7.repo
sudo sed -i 's/\[extras\]/\[extras-8.7\]/g' /etc/yum.repos.d/almalinux-8.7.repo
sudo sed -i 's/baseos-source\]/\[baseos-source-8.7\]/g' /etc/yum.repos.d/almalinux-8.7.repo
sudo sed -i 's/\[appstream-source\]/\[appstream-source-8.7\]/g' /etc/yum.repos.d/almalinux-8.7.repo
sudo sed -i 's/\[extras-source\]/\[extras-source-8.7\]/g' /etc/yum.repos.d/almalinux-8.7.repo
sudo sed -i 's/\[baseos-debuginfo\]/\[baseos-debuginfo-8.7\]/g' /etc/yum.repos.d/almalinux-8.7.repo
sudo sed -i 's/\[appstream-debuginfo\]/\[appstream-debuginfo-8.7\]/g' /etc/yum.repos.d/almalinux-8.7.repo
sudo sed -i 's/\[extras-debuginfo\]/\[extras-debuginfo-8.7\]/g' /etc/yum.repos.d/almalinux-8.7.repo
Ответ или решение
Конечно, проблема, с которой вы столкнулись, связана с использованием команды dnf history undo last
в AlmaLinux 8.6 при попытке откатить обновление до AlmaLinux 8.7. Сообщение об ошибке «Cannot find rpm nevra» указывает на то, что DNF не может найти указанные пакеты NetworkManager предыдущей версии. Давайте разберемся, как можно решить эту проблему.
F (Fact-finding: факты)
-
АльмаЛинукс: AlmaLinux – это форк CentOS, предназначенный для тех, кто хочет стабильной и бесплатной серверной операционной системы. Версии между собой совместимы, но иногда обновления приводят к незначительным несоответствиям.
-
Команда
dnf history undo
: Эту команду используют для отката изменений, внесенных последней транзакцией DNF, включая обновления пакетов. -
Ошибка NEVRA: NEVRA (Название, Версия, Релиз, Архитектура) — это схема именования пакетов. Такая ошибка может появиться, если DNF не находит ссылки на предыдущие версии пакетов.
O (Offer: предложение решения)
-
Создание резервной копии системы: Прежде всего, настоятельно рекомендуется всегда делать резервные копии перед выполнением обновлений системы. Вы можете использовать такие инструменты как
Timeshift
илиBacula
. -
Настройки репозиториев:
- Скопируйте текущую конфигурацию репозитория и создайте файл для версии 8.7, как описано в вашем примере.
- Измените все ссылки
$releasever
на8.7
, что позволит системе «смотреть» на репозитории версии 8.7 для поиска необходимых пакетов.
R (Reason why: мотивация)
Использование предложенного метода модификации репозиториев позволяет указать DNF «взглянуть назад» на репозиторий предыдущей версии. Это помогает находить пакеты, если они пропущены при обновлении и отсутствуют в текущем репозитории.
E (Emotion: влияние)
Возникающие проблемы с обновлениями системы могут вызывать беспокойство, однако, следуя данным рекомендациям, вы сможете безопасно вернуть систему к предыдущему рабочему состоянию.
S (Simple actions: простые действия)
- Выполните предложенные команды для редактирования вашего репозитория.
- Убедитесь, что созданы резервные копии важной информации.
- Проверьте изменение конфигурации репозитория на корректность.
T (Trust: доверие)
Эти шаги основаны на общепринятых практиках безопасности и управления системой для серверных операционных систем, таких как AlmaLinux, что гарантирует высокую степень надежности.
Если вы следуете этим рекомендациям, вы сможете успешно и безопасно откатить систему до необходимого состояния. Это обеспечение стабильной работы вашей серверной инфраструктуры без длительных простоев или потери данных.