Obtendo / Empacotando dependências RPM para o aplicativo Fedora / RHEL linux - sem acesso à rede

3

Eu atualmente tenho um arquivo RPM com 2-3 dependências especificadas na seção 'Requer'. Quando este aplicativo é instalado usando o yum, ele funciona bem e as dependências são instaladas se estiverem faltando.

No entanto, aprendi que pode ser necessário instalar esse aplicativo em máquinas sem acesso à rede. Então, tudo precisa ser incluído no pacote de instalação.

É melhor eu tentar usar um instalador off-the-shelf (izPack, etc) ou existe uma maneira de agrupar tudo e ainda usar RPM / Yum. Eu prefiro ficar com a última solução.

Estou assumindo que apenas empacotar todos os RPMS em um diretório e rodar o rpm -Uhv neles servirá para o propósito, mas parece bastante difícil e faria uma desinstalação malfeita.

É possível, no meu arquivo de especificação do meu RPM, criar um repositório do yum temporário que inclua qualquer coisa que possa ser necessária no momento da instalação. Em seguida, limpe esse repo quando as coisas terminarem? Soa bizarro, mas quem sabe? Alguma outra solução óbvia que eu esteja sentindo falta?

Obrigado.

    
por Kip Russell 08.11.2012 / 21:39

1 resposta

3

O pacote yum-utils contém repoquery , que responderá à sua pergunta com:

repoquery --requires --recursive --resolve <your packages here>

Note que isso lista os todos pacotes necessários, até glibc e amigos, você precisa remover esses% antes de lançar seu wget (ou yumdownloader ) para sugar o rebanho . Depois que você tiver o conjunto, createrepo criará um repositório local com todas essas coisas, que você poderá armazenar em um pendrive (ou mesmo em um CD / DVD, mas verifique se você pode usar o repo de lá!) E use isso para instalar / atualizar suas vítimas.

BTW, este é o Fedora 16, yum-utils-1.1.31-2.fc16.noarch ; pode ser que as versões anteriores não tivessem o sinal --recursive , e nesse caso você terá que preparar um script fazendo o bit de recursão.

Espero que isso ajude.

    
por 24.01.2013 / 19:18