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. ]