Назад | Перейти на главную страницу

CentOS kickstart - принудительная версия ядра

Я хотел бы запустить несколько серверов, используя определенную версию ядра (немного ниже), но не могу определить правильный синтаксис в файле кикстарта. Я попытался указать это в разделе «% 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 раздел.