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

Установка репозиториев yum, указанных в файле кикстарта

Прямо сейчас я указываю репозитории, которые будут использоваться для установки в файле кикстарта через repo директива. Затем я повторно указываю те репозитории, которые нужно добавить в /etc/yum.repos.d после установки.

Есть ли элегантный способ избежать дублирования информации? Он уже однажды укусил меня за задницу.

Уточнение:

Возможно, я неправильно это понимаю, но: кажется, что repo Директива используется только для указания репозиториев, которые используются Anaconda для установки. Фактически он не устанавливает репо на сервер. Я основываю это предположение на своем опыте установки кикстарта.

Вот почему я снова устанавливаю репозитории после установки. Я хочу знать, есть ли лучший способ, поэтому мне не нужно указывать репозитории в обоих repo директиве и в моем сценарии после установки.

Команда CentOS 7 anaconda "repo" поддерживает параметр --install, который устанавливает информацию о репозитории в собираемой системе: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/sect-kickstart-syntax.html

В разделе сообщений вашего кикстарта укажите что-то вроде этого:

%post
cat >/etc/yum.repos.d/your.repo <<EOF
[... INCLUDE REPO CONFIG FILE CONTENTS HERE ...]
EOF

Так же, как и определение репозитория установки, это нужно сделать дважды. Мы используем postinstall-скрипт, который вызывается в разделе% post. Этот сценарий, в свою очередь, копирует соответствующие файлы репо в /etc/yum.repos.d/ - в зависимости от ОС.

Таким образом, мы используем почти один и тот же файл кикстарта для CentOS 4 и CentOS 5.

Я знаю, что это старый поток, но когда я нашел другое решение (вероятно, добавленное в более позднюю версию cobbler), я подумал, что добавлю его:

Если вы поместите $ yum_config_stanza в свой% post в своих шаблонах кикстарта, cobbler создаст файл .repo с назначенными репозиториями и поместит его в /etc/yum.repos.d/ для вас. Я также удаляю стандартные, чтобы использовались только мои зеркала.

Соответствующая часть моего шаблона кикстарта:

%post --log=/root/ks-post.log

#configure repos
rm /etc/yum.repos.d/*
$yum_config_stanza