Sur un CentOS 7, j'ai installé foobar version 2, compilé à partir des sources.
Comment puis-je informer Yum de cette installation afin qu'elle n'installe pas foobar version 1 pour la dépendance?
Installation de foobar
$ git clone https://example.com/foobar.git
[...]
$ cd foobar
$ make && sudo make install
[...]
$ foobar --version
foobar v2
Installation d'un package nécessitant 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
Je voudrais yum de savoir foobar 2 est installé et que baz exige foobar >= 1
ou simplement foobar
, foobar-1.0.0-0.el7.x86_64.rpm
ne doit pas être installé.
Réponses:
Faites l'effort supplémentaire lors de l'ajout de logiciels personnalisés à votre système et regroupez vos ajouts dans un RPM . Voir Martin Streicher, 2010-01-12, Création et distribution de packages , IBM sur la façon de procéder.
Ensuite, installez ce RPM résultant afin qu'il puisse et sera agréable avec la gestion des conflits et des dépendances de votre gestionnaire de paquets, les procédures de mise à niveau, de rétrogradation et de suppression et les rapports de sécurité.
la source
Une autre option (mais certainement pas la meilleure réponse): créer un fichier rpm factice avec le nom en question.
Vous aurez besoin
rpmbuild
installé, et un tarball factice.Écrivez le fichier de spécifications factices. Celui-ci fonctionne pour moi sur Fedora 29. Il devrait également être bon sur CentOS 7.
Modifiez le nom et le numéro de version du package si nécessaire, puis générez le package.
Le fichier rpm de sortie "binaire" sera
~/rpmbuild/RPMS/noarch/example-0.0.0-1.fc29.x86_64.rpm
la source
Ce n'est pas ainsi que ça
rpm
fonctionne.rpm
utilise un db où il stocke quels rpms sont installés sur le système. Si vous installez certains fichiers manuellement,rpm
ne le sait pas.La meilleure façon de résoudre ce problème est d'installer foobar 2 avec un rpm. D'autres solutions ne seraient qu'une solution de contournement et ne fonctionneraient pas à long terme.
la source
Peut-
rpm --nodeps
être la réponse que vous cherchez? Il a été discuté dans un fil plus ancien ici sur Serverfault.( dites à yum d'ignorer une seule dépendance )
la source