Перейти к содержанию

Пошаговая инструкция по миграции с CentOS 8 на Rocky Linux

Шаг 1.Резервное копирование

Выполнить резервное копирование сервера или важных каталогов на сервере.

Шаг 2. Проверка соответствия версий

Перед запуском скрипта миграции, необходимо проверить версию операционной системы. Версия CentOS должна быть не ниже версии 8.3. В противном случае необходимо прописать адреса зеркал с пакетами для обновления, как указано в пункте Шаг 3 и выполнить команду

dnf update -y 

Образы CentOS можно скачать по ссылке. Система обновится до версии CentOS Linux release 8.5.2111.

Шаг 3. Добавление зеркал

Необходимо добавить зеркала на CentOS 8, используя следующие команды:

sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*

Шаг 4. Скачать скрипт для миграции:

cd /tmp
curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh

Шаг 5. Предоставить права выполнения (execute) на скрипт:

chmod +x migrate2rocky.sh

Шаг 6. Выполнить скрипт, стартующий загрузку и установку пакетов:

sudo bash migrate2rocky.sh -r 

Шаг 7. Завершение установки и перезагрузка

В случае успешной установки появится следующее сообщение:

После завершения установки, следует перезагрузить систему командой reboot.

В случае успешной миграции, в момент загрузки системы и выбора ядра, Rocky Linux будет присутствовать в списке.

Шаг 8. Поиск ошибок

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

  • cat /etc/redhat-release – проверяем точно ли мы перешли на RockyLinux;
  • dmesg - проверка аппаратных ошибок;
  • journalctl - ошибки в системе.

Шаг 9. Проверка работы сервисов

Если переносится система с графическим интерфейсом, то при миграции с CentOS на Rocky Linux могут возникнуть проблемы. В процессе выполнения скрипта миграции, возможны проблемы с пакетами, когда система не будет смигрирована на RockyLinux. При этом старые пакеты CentOS будут испорчены. При попытке проверить версию системы командами описанными ниже:

cat /etc/os-release
cat /etc/redhat-release

Будет выведено следующее сообщение:

Unable to detect release version (use '--releasever' to specify release version--

Аналогичное сообщение будет получено при попытке выполнить команды:

dnf makecache & dnf update

Решением данной проблемы, будет частичный откат системы CentOS путем установки пакетов из архивного зеркала vault. Необходимо скачать пакеты той версии, которая была ранее установлена на системе (см. Шаг 2) CentOS version 8.5.2111.

Выполнить последовательность команд:

cd /tmp
wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-release-8.5-1.2111.el8.noarch.rpm
wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-repos-8-3.el8.noarch.rpm
wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-3.el8.noarch.rpm
rpm -ivh ./centos-gpg-keys-8-3.el8.noarch.rpm  --force
rpm -ivh ./centos-linux-release-8.5-1.2111.el8.noarch.rpm ./centos-linux-repos-8-3.el8.noarch.rpm --force

Перед выполнением скрипта миграции, необходимо предварительно установить все зависимости. Например, список из 6 проблемных пакетов:

Error: Check discovered 6 problem(s)
anaconda-gui-33.16.5.6-1.el8.x86_64 has missing requires of system-logos
firefox-91.4.0-1.el8_5.x86_64 has missing requires of redhat-indexhtml
gdm-1:40.0-15.el8.x86_64 has missing requires of system-logos
gnome-session-3.28.1-13.el8.x86_64 has missing requires of system-backgrounds
gnome-session-3.28.1-13.el8.x86_64 has missing requires of system-logos
plymouth-graphics-libs-0.9.4-10.20200615git1e36e30.el8.x86_64 has missing requires of system-logos

Для решения подобной проблемы следует установить 3 пакета:

yum install system-logos
yum install system-backgrounds
yum install redhat-indexhtml

После выполнения указанных действий по устранению проблем с зависимостями, необходимо повторить действия по миграции, начиная с пункта Шаг 6. Выполнить скрипт, стартующий загрузку и установку пакетов”.