No CentOS 7, instalei a versão 2 do foobar , compilada a partir de fontes.
Como posso informar o yum dessa instalação para que não instale o foobar versão 1 por dependência?
Instalação de foobar
$ git clone https://example.com/foobar.git
[...]
$ cd foobar
$ make && sudo make install
[...]
$ foobar --version
foobar v2
Instalação de um pacote que requer foobar
$ sudo yum install baz
[...]
---> Package baz.x86_64 0:3.14.15-9 will be installed
--> Processing Dependency: foobar >= 1 for package: baz-3.14.15-9.x86_64
[...]
Dependencies Resolved
==============================================================
Package Arch Version Repository Size
==============================================================
Installing:
baz x86_64 3.14.15-9 example 1.1 M
Installing for dependencies:
foobar x86_64 1.0.0-0.el7 example 4.5 M
Eu gostaria de saber yum foobar 2 está instalado e desde baz requer foobar >= 1
ou simplesmente foobar
, foobar-1.0.0-0.el7.x86_64.rpm
não deve ser instalado.
Respostas:
Faça um esforço extra ao adicionar software personalizado ao seu sistema e empacote suas adições em um RPM . Consulte Martin Streicher, 12-01-2010, Construindo e distribuindo pacotes , IBM, sobre como fazer isso.
Em seguida, instalar esse RPM resultando por isso pode e vai jogar bonito com a manipulação de conflito e dependência do seu gerenciador de pacotes, atualizar os procedimentos de downgrade e remoção e relatórios de segurança.
fonte
Outra opção (embora definitivamente não seja a melhor resposta): crie um arquivo rpm fictício com o nome em questão.
Você precisará
rpmbuild
instalado e um tarball fictício.Escreva o arquivo de especificação fictícia. Este funciona para mim no Fedora 29. Também deve ser bom no CentOS 7.
Ajuste o nome do pacote e o número da versão conforme necessário e, em seguida, crie o pacote.
O arquivo rpm "binário" de saída será
~/rpmbuild/RPMS/noarch/example-0.0.0-1.fc29.x86_64.rpm
fonte
Não é assim que
rpm
funciona.rpm
usa um banco de dados onde armazena quais rpms estão instalados no sistema. Se você instalar alguns arquivos manualmente,rpm
não o saberá.A melhor maneira de resolver isso é instalar o foobar 2 com uma rpm. Outras soluções seriam apenas alternativas e não funcionariam a longo prazo.
fonte
Pode
rpm --nodeps
ser a resposta que você está procurando? Foi discutido em um tópico mais antigo aqui no Serverfault.( diga ao yum para ignorar uma única dependência )
fonte