AlmaLinux AlmaLinuxCentOS

Не удаётся перейти с CentOS 8 на AlmaLinux (almalinux-deploy)

  • Обновлено
  • Чтение ≈ 4 минуты

Краткий ответ

Скрипт almalinux-deploy заменяет пакеты CentOS пакетами AlmaLinux. Ниже — причины и порядок действий от простого к сложному.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Если не помогло
  5. Подготовка и запуск
  6. Типичные ошибки
  7. После миграции и откат

#Что означает ошибка

Сообщение
Error: Transaction failed during almalinux-deploy

Миграция CentOS на AlmaLinux скриптом almalinux-deploy.sh может прерваться: нет места, конфликты сторонних пакетов, не найдены репозитории (особенно на CentOS 8 после EOL), неподдерживаемая версия или архитектура. Скрипт поддерживает переход на ту же мажорную версию (8→8, Stream 8→8). Для CentOS 7 нужен промежуточный шаг обновления.

Проверьте журнал скрипта и сделайте резервную копию.

Сначала исправьте блокирующие факторы.

Скрипт almalinux-deploy заменяет пакеты CentOS пакетами AlmaLinux. Ошибки возникают из-за недоступных старых репозиториев, неподдерживаемой версии или конфликтов сторонних пакетов.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Недоступны репозитории CentOS 8EOL.Переключите на vault.
Сторонние пакетыКонфликт.Удалите.
Нехватка места/ или /var.Освободите.
Версия не 8.xНеподдерживаемо.Обновите сначала.

#Пошаговое решение

  1. Сделайте снимок или резервную копиюДо миграции CentOS или перехода между крупными версиями Enterprise Linux определите точный выпуск через cat /etc/redhat-release и архитектуру uname -m. Учтите, что переход CentOS 7 → AlmaLinux 9 через ELevate требует двух последовательных поддерживаемых этапов: сначала до EL8, затем до EL9; инструмент almalinux-deploy предназначен не для произвольного обновления между крупными версиями. Сохраните полный образ сервера и базу данных отдельно, попробуйте восстановление на копии и получите доступ к консоли хостинга. Не запускайте случайный сценарий из интернета сразу на рабочем сервере.
  2. Обновите систему и освободите местоСначала уточните дистрибутив и его текущую версию. Откройте штатный менеджер обновлений или используйте пакетный менеджер вашей системы; перед массовым обновлением на сервере сделайте резервную копию или снимок и проверьте совместимость.
  3. Для CentOS 8 переведите репозитории на vaultCentOS Linux 8 завершил поддержку и его старые рабочие зеркала могут быть недоступны. Прежде чем менять репозитории, выполните cat /etc/centos-release и создайте снимок виртуальной машины или полный резервный образ системы. Если это именно CentOS Linux 8 (не CentOS Stream 8), обратитесь к официальной процедуре получения архивных пакетов из CentOS Vault для конкретной версии; вручную подменять URL в неизвестном .repo файле без проверки подписей опасно. Если у вас Stream или другая ветка, этот шаг пропустите.
  4. Запустите almalinux-deploy.shУтилита almalinux-deploy изменяет дистрибутив, основные пакеты и загрузочные компоненты; запускать её можно только на поддерживаемой исходной системе, при наличии полной резервной копии и доступа к консоли сервера. Откройте официальный репозиторий проекта AlmaLinux Migration Tool и сверяйте актуальную версию скрипта, контрольную сумму/подпись и перечень поддерживаемых исходных выпусков. Не используйте команду вида curl URL | bash со случайной ссылкой. Запускайте подтверждённый официальный сценарий в тестовой копии, прочитайте журнал и только затем планируйте переход боевого сервера с возможностью отката.
  5. Проверьте os-release и distro-syncПосле миграции или после исправления ошибки входа сначала откройте консоль сервера и выполните cat /etc/os-release. Система должна сообщать именно AlmaLinux ожидаемой основной версии, а не смешение пакетов CentOS/AlmaLinux. Проверьте sudo dnf check и rpm -q almalinux-release, затем sudo dnf repolist для просмотра действующих репозиториев. Не выполняйте вслепую dnf distro-sync: он может заменить или удалить несовместимые пакеты; сначала просмотрите план sudo dnf distro-sync --assumeno, сверяйте его с официальным руководством и резервной копией. Проверьте SSH, сеть, службы приложений и перезагрузку в согласованное окно.
  6. Подтвердите результат миграции не только по названию ОСПосле контролируемого перехода и перезапуска проверьте cat /etc/os-release, uname -r, sudo dnf check, systemctl --failed и работу всех критичных сервисов. Найденные остатки пакетов CentOS сначала исследуйте, не удаляйте массово. При отказе сети или загрузки откатывайтесь на проверенный снимок, а не перезапускайте сценарий миграции вслепую.
  7. Только определение исходного выпуска и свободного места
    Linux · Терминал (Bash)Команда
    Только определение исходного выпуска и свободного места. Выполнение загруженного сценария с правами root без проверки контрольной суммы, совместимости пути миграции и резервной копии опасно.
    cat /etc/redhat-release
    rpm -q centos-release almalinux-release
    df -h / /boot

#Если не помогло

Перед миграцией обязательно сделайте копию данных.

#Подготовка и запуск

Сделайте снимок ВМ или резервную копию. Обновите систему текущего релиза: sudo dnf update -y, перезагрузитесь. Освободите место (нужно несколько ГБ на / и /var). Скачайте скрипт с github.com/AlmaLinux/almalinux-deploy: curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh, sudo bash almalinux-deploy.sh. Журнал: /var/log/almalinux-deploy.log.

#Типичные ошибки

Для CentOS 8 после EOL предварительно переключите репозитории на vault.centos.org. Конфликты сторонних репозиториев: временно отключите EPEL, Remi, Docker (dnf --disablerepo), затем включите заново. Ошибки Package ... conflicts — удалите конфликтующий пакет (dnf remove) и повторите. Сообщение о версии/архитектуре: скрипт поддерживает x86_64 и aarch64. /boot заполнен — удалите старые ядра. Пакеты, оставшиеся от CentOS (centos-*), удаляются самим скриптом.

#После миграции и откат

Проверьте: cat /etc/os-release, dnf distro-sync -y, rpm -qa | grep -i centos. Установите актуальное ядро и перезагрузитесь. Отката встроенного нет: восстановление — из снимка. Если миграция остановилась на середине, не перезагружайтесь вслепую: изучите журнал, исправьте причину и перезапустите скрипт (он идемпотентен). Для CentOS 7 используйте ELevate для перехода 7→8→9 по шагам.

Linux · Терминал (Bash)Команда
Только чтение исходного выпуска. Автоматическое обновление -y и загрузка/исполнение удалённого сценария не являются безопасным единым действием для производственного сервера.
cat /etc/os-release
rpm -qa | grep -E "(centos|almalinux)-release"

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.