Instalação local do .rpms usando o YUM

50

Estou fazendo essa pergunta com cautela, porque não quero entender errado.

Eu tenho um arquivo program_name.rpm salvo localmente no meu servidor (CentOS 6.5).

Eu o instalei anteriormente apenas navegando até ele e usando o yum install program_name.rpm, que funcionou bem, mas não me deu a opção de especificar onde está instalado.

É possível instalar este rpm em / opt / some_directory em vez de no local de instalação padrão?

TheLovelySausage
fonte

Respostas:

34

Use rpm

rpm -ivh package.rpm

Se você deseja instalá-lo em outro local, use:

rpm -ivh -r /new/path package.rpm

mas esteja ciente de que a nova raiz será recriada a estrutura de diretórios do pacote

Romeo Ninov
fonte
2
isso funcionou muito bem, não acho que exista um equivalente YUM?
TheLovelySausage
4
Para esclarecer: yum é wrapper em torno de rpm. rpm é o programa principal para gerir embalados em RHEL, SuSE, Red Hat Enterprise Linux e outras distribuições
Romeo Ninov
4
Oh, eu sempre pensei yum foi baseado em rpm, nunca percebi que era um invólucro, obrigado por toda sua ajuda
TheLovelySausage
Você precisa ser root para executar este comando?
Alexej Magura
Correto, você deve estar root para executar o comando #
Romeo Ninov 14/10
97

Pena que você aceitou a resposta rpm. Isso levará a avisos de execuções subseqüentes do yum, como Warning: RPMDB altered outside of yum

Em vez disso, você deve usar yum localinstall, conforme a seção 13 da página Truques Yum e RPM do wiki do CentOS => https://wiki.centos.org/TipsAndTricks/YumAndRPM#head-3c061f4a180e5bc90b7f599c4e0aebdb2d5fc7f6

Você pode usar a --installrootopção para especificar uma raiz de instalação diferente.

Jeff
fonte
3
Eu gosto de fazer as coisas de acordo com as melhores práticas e esta resposta inclui o equivalente yum que eu esperava. Infelizmente, já instalei um monte de pacotes usando o método rpm -ivh. Eu gostaria que fosse possível aceitar duas respostas corretas, porque eu sinto a resposta aceita é correto, mas as pessoas que vêm para ver esta questão iria beneficiar mais de esta resposta
TheLovelySausage
É melhor usar yum vez de rpm, mas para resolver o "aviso: rpmdb fora alterado de yum" é possível usar "yum histórico de sincronização"
elbarna
11
Isso funciona. Quando tentei apenas executar o rpm, ele não conseguiu as dependências. Apenas com erro "Dependências com falha".
Christian Shay
"yum --nogpgcheck localinstall packagename.arch.rpm"
hmz 26/03