Como sobrescrever o pedido do pacote anaconda / kickstart?

5

Estou construindo um ISO inicializável para ser usado para instalar uma imagem do Linux (Oracle Linux, 5.8). Isto está usando o anaconda com um arquivo de kickstart para selecionar os pacotes a serem carregados. Alguns desses pacotes estão falhando com problemas de dependência em sua seção% post.

Por exemplo, isso é visto em /root/install.log após a conclusão da instalação:

Installing thirdparty-tools-1.00-09.noarch
/var/tmp/rpm-tmp.97891: line 1: ln: command not found
/var/tmp/rpm-tmp.97891: line 2: ln: command not found
/var/tmp/rpm-tmp.97891: line 3: ln: command not found
/var/tmp/rpm-tmp.97891: line 4: ln: command not found
error: %post(thirdparty-tools-1.00-09.noarch) scriptlet failed, exit status 127

Estou tentando descobrir se é possível controlar / substituir a ordenação de pacotes, sem editar nenhum RPM para adicionar dependências . Eu tenho procurado na documentação do anaconda / kickstart ( link ), e procurando extensivamente em outros lugares, então eu acho que a resposta é realmente 'não, você não pode fazer isso', o que seria uma vergonha.

O problema é que estou tentando incluir vários RPMs de terceiros , que não estão sob meu controle e que foram assinados digitalmente. Estes incluem algum processamento em uma seção% post. Este processamento requer alguns comandos padrão do Linux, por exemplo, 'ln', 'touch', etc, que são fornecidos dentro do pacote coreutils. O pacote de terceiros atualmente não inclui uma dependência no pacote coreutils, embora obviamente deva realmente. O Anaconda usa seu próprio algoritmo de ordenação parcial para escolher que ordem instalar esses pacotes, e os pacotes de terceiros estão sendo instalados antes do pacote coreutils. Obviamente, a solução adequada é obter esses RPMs fixados pelo terceiro; no entanto, é provável que demore muito tempo.

Eu esperava que a opção deles fosse escondida / não documentada para o arquivo de kickstart, o que poderia adicionar dependências extras. Idealmente, gostaria de poder adicionar algo assim à seção% packages:

%packages
@admin-tools
@base
@core
@system-tools
thirdparty-tools

# We would like to add some magic command to indicate a missing dependency
thirdparty-tools dependson coreutils

Então, minha pergunta é: É possível controlar ou substituir a ordenação de pacotes sem editar nenhum RPM para adicionar dependências?

[Fiz essa mesma pergunta no site principal do StackOverflow, antes de perceber que esse site do Unix StackExchange existia, mas ainda não recebi nenhuma resposta; desculpas para quem vê isso duas vezes. ]

    
por Conor O'Neill 24.07.2013 / 12:53

1 resposta

1

Dentro da seção% packages, não, não é possível. Dentro do arquivo de kickstart, você pode adicionar comandos de instalação à seção% post para suas ferramentas de terceiros para garantir que eles sejam instalados apenas após a instalação de todos os pacotes e dependências na seção% packages.

    
por 24.07.2013 / 14:19