Eu construí dois pacotes RPM
proj1-1.0-1.x86_64.rpm
libtest1-1.0-1.x86_64.rpm
proj1
depende do arquivo libtest1.so
estar presente e é refletido corretamente nos pacotes RPM, como visto aqui:
user@my-pc:~$ rpm -qp --requires proj1-1.0-1.x86_64.rpm
libtest1.so()(64bit)
user@my-pc:~$ rpm -qp --provides libtest1-1.0-1.x86_64.rpm
libtest1.so()(64bit)
A instalação de proj1
falha devido a uma dependência ausente.
user@my-pc:~$ rpm -ivh proj1-1.0-1.x86_64.rpm
error: Failed dependencies:
libtest1.so()(64bit) is needed by proj1-1.0-1.x86_64.rpm
Como garantir que a libtest1-1.0-1.x86_64.rpm
instalação seja automática durante a instalação do proj1-1.0-1.x86_64.rpm
?
Tentei a --aid
opção rpm -i
conforme descrito aqui, mas não funcionou para mim.
Existe alguma outra maneira?
Obrigado por qualquer ajuda.
yum --nogpgcheck localinstall packagename.arch.rpm
.yum localinstall
e é o mesmo que a resposta já postada aqui , com as desvantagens já discutidas para situações em que as dependências não estão no yum repos (veja que este método não funcionará a menos que faça parte).sudo yum --disablerepo=* --enablerepo=local install packagename.arch.rpm
para garantir queyum
ele não analise outros repositórios.O link @gertvdijk fornecido mostra uma maneira rápida de alcançar os resultados desejados sem configurar um repositório local:
Apenas mude
packagename.arch.rpm
para o nome do arquivo RPM que você deseja instalar.Editar Apenas um esclarecimento, isso instalará automaticamente todas as dependências que já estão disponíveis nos repositórios YUM do sistema.
Se você tiver dependências atendidas por outros RPMs que não estão nos repositórios do sistema, esse método não funcionará, a menos que cada RPM também seja especificado junto com
packagename.arch.rpm
a linha de comando.fonte
libtest1-1.0-1.x86_64.rpm
esteja em um repositório em outro local ou ambos os pacotes sejam especificados na linha de comando como "rpm -i
" exigiria. Acabei de verificar isso noyum
3.4.3 (Fedora 18). Transcrição aqui, mostrando que ele vai para oupdates
repositório de dependências, mesmo quando os arquivos estão ali.rpm -i
", portanto, o uso nãoyum
oferece benefícios adicionais.Para usuários de dnf, basta usar
dnf install *.rpm
,localinstall
não é mais necessário.fonte
mysql-workbench
comrpm -ivh
. eventualmente acabou com este post. DNF fez o truque.Para mim trabalhou apenas com
E solicitou autorização automaticamente para descarregar as depedências. Abaixo o exemplo, estou usando o fedora 22
fonte
Encontrei uma solução mais simples. Se você tiver todos os RPMs no mesmo diretório, tudo que você precisa fazer é,
rpm
parece descobrir a ordem correta para instalá-los e instalar os RPMs.fonte
A resposta de Mateus despertou muitas emoções, porque ainda falta um pequeno detalhe. O comando geral seria:
O
package_file_name
acima pode incluir o caminho absoluto ou relativo local ou ser um URL (possivelmente até um URI).O Yum procuraria dependências entre todos os arquivos de pacotes fornecidos na linha de comando E SE FALHAR para encontrar as dependências lá, também usará todos os repositórios do yum configurados e habilitados.
Nem o diretório de trabalho atual nem os caminhos de nenhum
package_file_name
deles serão pesquisados, exceto quando qualquer um desses diretórios tiver sido configurado anteriormente como umyum
repositório ativado .Portanto, no caso do OP, o
yum
comando:faria, como faria o
rpm
:A diferença entre essas
yum
erpm
invocações seria visível apenas se um dos pacotes listados a serem instalados tivesse dependências adicionais dos pacotes NÃO listados na linha de comando.Nesse caso
rpm
, apenas se recusará a continuar, enquantoyum
usaria quaisquer repositórios yum configurados e habilitados para procurar dependências e pode ter êxito.O diretório de trabalho atual NÃO será pesquisado em nenhum caso, exceto quando tiver sido configurado anteriormente como um
yum
repositório ativado .fonte
Eu me deparei com isso e o que funcionou para mim foi executar
yum localinstall enterPkgNameHere.rpm
dentro do diretório em que o arquivo .rpm está localizado.Nota: substitua o
enterPkgNameHere.rpm
pelo nome do seu arquivo .rpm.fonte
No caso do openSUSE Leap 15, estou recebendo um erro semelhante:
Eu executo este comando para descobrir quais são as dependências:
Então eu executo este comando para instalar dependências:
Então eu executo isso para instalar o
rpm
arquivo:Estou não tenho certeza se é a melhor prática, no entanto, ele resolveu o meu problema.
fonte
Etapa 1: copiar todo o pacote de rpm em determinados locais
Etapa 2: se o createrepo ainda não estiver instalado, como não será por padrão, instale-o.
Etapa 3: crie os metedados do repositório e dê a permissão abaixo
Etapa 4: Crie o arquivo de repositório com o seguinte conteúdo em /etc/yum.repos.d/mysql.repo
Etapa 5 Execute este comando para instalar
fonte
Simples, basta executar o seguinte comando.
Digite sua senha e pronto.
fonte
Processo de geração de RPM a partir do arquivo de origem: 1) faça o download do arquivo de origem com extensão.gz. 2) instale o rpm-build e o rpmdevtools do yum install. (a pasta rpmbuild será gerada ... SPECS, SOURCES, RPMS .. as pastas deverão ser geradas dentro da pasta rpmbuild). 3) copie o código-fonte.gz para a pasta SOURCES. (Rpmbuild / SOURCES) 4) Desvire a bola de tar usando o seguinte comando. vá para a pasta SOURCES: rpmbuild / SOURCES onde o arquivo tar está presente. comando: por exemplo, a pasta tar -xvzf httpd-2.22.tar.gz httpd-2.22 será gerada no mesmo caminho. Verifique se apr e apr-util e lá na pasta httpd-2.22 / srclib. Se apr e apr-util não existir, baixe a versão mais recente do site apache, descompacte-a e coloque-a na pasta httpd-2.22 / srclib. Verifique também se você possui a instalação do PCRE no seu sistema.
5) vá para a pasta extraída e digite o comando abaixo: ./configure --prefix = / usr / local / apache2 --with-included-apr --enable-proxy --enable-proxy-balancer --with-mpm = worker --enable-mods-static = all 6) execute o comando abaixo assim que o configure for bem-sucedido: make 7) após a execução bem-sucedida od faça o comando executar: verifique a instalação na mesma pasta. (se você não possui o software checkinstall, baixe a versão mais recente do site) Também o software checkinstall possui um bug que pode ser resolvido da seguinte maneira ::::: localize checkinstallrc e substitua TRANSLATE = 1 por TRANSLATE = 0 usando o comando vim. Verifique também se há um pacote de exclusão: EXCLUDE = "/ selinux" 8) O checkinstall solicitará a opção (digite R se você quiser construir o rpm para o arquivo de origem) 9) O arquivo .rpm concluído será criado na pasta RPMS dentro do arquivo rpmbuild / RPMS. .. Muito bem sucedida ....
Atenciosamente, Prerana
fonte