Na seção de postagens do seu kickstart, inclua algo assim:
%post
cat >/etc/yum.repos.d/your.repo <<EOF
[... INCLUDE REPO CONFIG FILE CONTENTS HERE ...]
EOF
Neste momento, estou especificando repositórios a serem usados para instalação no arquivo de kickstart por meio da repo
directive . Estou, então, especificando novamente esses repositórios para serem adicionados à /etc/yum.repos.d
pós-instalação.
Existe uma maneira elegante de evitar a duplicação de informações? Ela já me mordeu na bunda uma vez.
Talvez eu esteja entendendo isso incorretamente, mas: parece que a diretiva repo
é usada apenas para especificar os repositórios usados pelo anaconda para instalação. Na verdade, ele não instala o repositório no servidor. Eu estou baseando essa suposição na minha experiência com instalações do kickstart.
É por isso que eu instalo os repositórios novamente após a instalação. Eu quero saber se existe uma maneira melhor, então não preciso especificar os repositórios na diretiva repo
e no meu script de pós-instalação.
O comando "repo" do CentOS 7 anaconda suporta --install, que instala as informações do repositório no sistema que está sendo construído: link
Assim como a definição do repositório de instalação, isso precisa ser feito duas vezes. Usamos um script postinstall que é chamado na% pós-seção. Esse script, por sua vez, copia os arquivos repo apropriados para /etc/yum.repos.d/ - dependendo do sistema operacional.
Dessa forma, usamos quase o mesmo arquivo de kickstart para o CentOS 4 e o CentOS 5.
Eu sei que este é um segmento antigo, mas como encontrei outra solução (provavelmente adicionada em uma versão posterior do cobbler), pensei em adicioná-lo:
Se você colocar $ yum_config_stanza em sua% post nos seus modelos de kickstart, o cobbler criará um arquivo .repo dos repositórios designados e o colocará em /etc/yum.repos.d/ para você. Eu também removo os padrões para que apenas meus espelhos sejam usados.
A parte relevante do meu modelo de kickstart:
%post --log=/root/ks-post.log
#configure repos
rm /etc/yum.repos.d/*
$yum_config_stanza