Прямо сейчас я указываю репозитории, которые будут использоваться для установки в файле кикстарта через 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