Я хотел бы запустить несколько серверов, используя определенную версию ядра (немного ниже), но не могу определить правильный синтаксис в файле кикстарта. Я попытался указать это в разделе «% packages» как с пакетом ядра с минусовым префиксом (для его удаления), так и с записью без префикса, но я получаю сообщение об ошибке Multilib.
Из файла кикстарта:
%packages --nobase
-kernel-2.6.32-504.23.4.el6.x86_64
kernel-2.6.32-504.16.2.el6.x86_64
...other packages...
Сообщение об ошибке:
Protected multilib versions:
kernel-2.6.32-504.23.4.el6.x86_64 != kernel-2.6.32-504.16.2.el6.x86_64
Спасибо!
Как предложил Петтер, понижение версии ядра в разделе% post работает:
%post
rpm -ivh --oldpackage http://my.repo.server/centos/6.6/updates/x86_64/Packages/kernel-2.6.32-504.16.2.el6.x86_64.rpm
rpm -ivh --oldpackage http://my.repo.server/centos/6.6/updates/x86_64/Packages/kernel-firmware-2.6.32-504.16.2.el6.x86_64.rpm
Спасибо!
Ваш синтаксис правильный:
%packages
kernel-2.6.32-504.16.2.el6.x86_64
Обычно устанавливает конкретный пакет и его зависимости, если таковые имеются.
Ошибка Multilib обычно указывает на проблему взаимодействия между 32 и 64 библиотеками, но, по моему опыту, она также может указывать на неразрешимые конфликты между основными пакетами.
Рекомендуется получить систему в этом состоянии, а затем извлечь полный список пакетов с помощью rpm -qa | sed 's/.rpm//'
, затем вставьте их в кикстарт %post
раздел.