Вопрос или проблема
Я использую Linux messaging 3.10.0-229.14.1.el7.centos.plus.x86_64 #1 SMP Втр Сен 15 18:05:55 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
uname -r 3.10.0-229.14.1.el7.centos.plus.x86_64
cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
Я следую этому руководству https://wiki.almalinux.org/elevate/ELevating-CentOS7-to-AlmaLinux-9.html#upgrade-centos-7-to-almalinux-8 (Если есть лучшее руководство, чтобы перейти на актуальную версию almalinux, пожалуйста, дайте мне знать)
Я следовал руководству по обновлению CentOS 7 до AlmaLinux 8, пока не дошел до: sudo leapp preupgrade, а затем получил следующую ошибку:
sudo cat /var/log/leapp/leapp-report.txt
Фактор риска: высокий (ошибка)
Заголовок: Актёр system_facts неожиданно завершился с кодом выхода: 1
Резюме: Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/leapp/repository/actor_definition.py",
line 75, in _do_run
actor_instance.run(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/leapp/actors/__init__.py", line 296, in
run
self.process(*args)
File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/sy
stemfacts/actor.py", line 65, in process
bios_grubcfg_details = systemfacts.get_bios_grubcfg_details()
File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/sy
stemfacts/libraries/systemfacts.py", line 352, in get_bios_grubcfg_details
with open('/boot/grub2/grub.cfg') as fo:
IOError: [Errno 2] Нет такого файла или каталога: '/boot/grub2/grub.cfg'
Ключ: 8fb4a12b3549ee4efa3a8dd51a59049f7f812ac3
Файл /boot/grub2/grub.cfg не существует, и у меня нет grub.cfg в системе.
Если я распечатаю текущий grub, я получаю:
cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=”$(sed ‘s, release .*$,,g’ /etc/system-release)”
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT=”console”
GRUB_CMDLINE_LINUX=”vconsole.keymap=us crashkernel=auto vconsole.font=latarcyrheb-sun16 rhgb
quiet”
GRUB_DISABLE_RECOVERY=”true”
GRUB_DISABLE_LINUX_UUID=”true”
У меня нет /usr/sbin/grub2-mkconfig на машине centos 7.x, так что как мне продолжить и создать /boot/grub2/grub.cfg?
Есть ли способ скачать /usr/sbin/grub2-mkconfig, чтобы я мог создать /boot/grub2/grub.cfg? К сожалению, я не скачивал grub2-mkconfig до того, как обновления Centos7 истекли.
Сработает ли, если я запущу sudo leapp upgrade до того, как решу эту ошибку, и обновление установит grub2 само по себе, так что эта проблема будет решена в процессе обновления? Но это не может быть так, поскольку, согласно leapp-report.txt, фактор риска установлен на высокий. Или есть ли другой способ продолжить?
Спасибо за любую помощь по поводу обновления
Если ваш скрипт предварительного обновления ищет этот файл
/boot/grub2/grub.cfg
и он отсутствует, вы можете получить его, используя эти две команды
mkdir -p /boot/grub2
cp /etc/grub2.cfg /boot/grub2/grub.cfg
Ответ или решение
Решение проблемы с обновлением CentOS 7 до AlmaLinux
При попытке перейти с CentOS 7 на AlmaLinux вы столкнулись с проблемой, касающейся отсутствия файла /boot/grub2/grub.cfg
, что вызывает сбой во время выполнения команды sudo leapp preupgrade
. Рассмотрим, как можно решить эту проблему, обеспечивая корректное обновление вашей системы.
1. Причины проблемы
Ошибка, указанная в вашем лог-файле, свидетельствует о том, что Actor system_facts
не может найти файл конфигурации загрузчика GRUB, что является критическим для выполнения процесса обновления. Отсутствие файла grub.cfg
может произойти по нескольким причинам:
- Установлен некорректный или неполный пакет GRUB.
- Было произведено неподходящее изменение в конфигурации загрузчика системы.
- Ваша система могла бы подвергнуться изменениям, которые затронули системные файлы.
2. Проверка наличия GRUB
Первым шагом следует проверить наличие установленных компонентов GRUB. Для этого выполните следующую команду в терминале:
rpm -qa | grep grub
Это покажет все установленные пакеты GRUB. Если вы не видите пакеты, такие как grub2
или grub2-tools
, вам потребуется их установить.
3. Восстановление файла grub.cfg
Если файл /boot/grub2/grub.cfg
отсутствует, вы можете его создать с помощью следующей команды:
mkdir -p /boot/grub2
cp /etc/grub2.cfg /boot/grub2/grub.cfg
Если файл /etc/grub2.cfg
также отсутствует, необходимо его сгенерировать. Для этого вам потребуется команда grub2-mkconfig
, которую можно установить из пакета grub2-tools
. Попробуйте установить необходимые пакеты:
sudo yum install grub2 grub2-tools
После установки вы сможете сгенерировать файл grub.cfg
с помощью следующей команды:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
4. Проверка конфигурации
После успешного создания файла grub.cfg
, выполните следующую команду для проверки:
cat /boot/grub2/grub.cfg
Подтвердите, что файл содержит корректные настройки.
5. Продолжение процесса обновления
Теперь, когда у вас есть корректный файл конфигурации GRUB, вы можете продолжить процесс обновления. Выполните команду:
sudo leapp upgrade
Убедитесь, что ваш текущий дистрибутив и все используемые вами пакеты соответствуют требованиям для успешного перехода на AlmaLinux.
Заключение
Обновление с CentOS 7 на AlmaLinux может представлять собой трудоемкий процесс, особенно если вы сталкиваетесь с проблемами, связанными с конфигурацией загрузчика. Настоятельно рекомендую сохранять резервные копии важных данных и конфигурационных файлов перед началом процесса обновления. Всегда следуйте актуальным руководствам и документации, так как они содержат информацию о последних изменениях и исправлениях. Если возникнут дополнительные трудности, не стесняйтесь обращаться за поддержкой к сообществу или на официальные форумы AlmaLinux.