В названии поста все сказано. Первые шаги по миграции с CentOS 7 на Rocky Linux 8 провалились (на мой взгляд) из-за RPM-модулей.
Если что-то установлено традиционным способом через dnf
, dnf
замечает, доступна ли зависимость только в виде модульного RPM, и активирует поток приложения модуля для установки других зависимостей в правильной версии.
Для автоматической установки настроенного дистрибутива дополнительные RPM загружаются через --download-only
. dnf
В этом конкретном случае docker устанавливается на Rocky Linux 8. RPM-файлы модулей и зависимости отделяются от своего потока и помещаются в ISO, чтобы автоматическая установка работала без проблем.
Если модуль RPM найден,
repo2module
вызывается для созданияmodule.yaml
. Файл YAML помещается в дополнительный репозиторий RPM в образе ISO, и репозиторий обновляется черезmodifyrepo_c
. В противном случае репозиторий RPM модуля не будет работать.
Если дистрибутив был установлен успешно, то не распознается, что некоторые установленные модули RPM принадлежат существующему потоку приложения. Ранее они были отделены через --download-only
.
При попытке вручную активировать поток приложений модуля RPM dnf
обнаруживаются проблемы зависимостей с уже установленными RPM.
Теперь была установлена система, которую нельзя обновлять все чаще. По этой причине офлайн-установка настроенного дистрибутива на основе RHEL через kickstart в настоящее время невозможна, на мой взгляд, поскольку обновление системы невозможно при существующем подключении к серверу RPM.
- Как разработчики представляли себе обработку дистрибутивов kickstart с RPM-модулями? Возможно, я делаю ошибку при компиляции дистрибутива.
- Как решить проблему с обновлением предустановленных RPM-пакетов модулей?