Auf einem CentOS 7 habe ich foobar Version 2 installiert , die aus Quellen kompiliert wurde.
Wie kann ich Sie auf diese Installation aufmerksam machen, damit foobar Version 1 für Abhängigkeiten nicht installiert wird ?
Installation der Fußleiste
$ git clone https://example.com/foobar.git
[...]
$ cd foobar
$ make && sudo make install
[...]
$ foobar --version
foobar v2
Installation eines Pakets, das foobar erfordert
$ 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
Ich würde gerne wissen , yum foobar 2 installiert ist , und da baz erfordert foobar >= 1
oder einfach foobar
, foobar-1.0.0-0.el7.x86_64.rpm
sollte nicht installiert werden.
Antworten:
Nehmen Sie sich die Mühe, wenn Sie Ihrem System benutzerdefinierte Software hinzufügen, und packen Sie Ihre Erweiterungen in ein RPM . Weitere Informationen hierzu finden Sie in Martin Streicher, 2010-01-12, Erstellen und Verteilen von Paketen , IBM .
Installieren Sie dann das resultierende RPM, so dass es mit den Konflikt- und Abhängigkeitsbehandlungs-, Upgrade-, Downgrade- und Entfernungsprozeduren sowie den Sicherheitsberichten Ihres Paketmanagers kann und wird .
quelle
Eine andere Option (wenn auch definitiv nicht die beste Antwort): Erstellen Sie eine Dummy-RPM-Datei mit dem fraglichen Namen.
Sie müssen
rpmbuild
installiert und ein Dummy-Tarball.Schreiben Sie die Dummy-Spezifikationsdatei. Dieses funktioniert für mich unter Fedora 29. Es sollte auch unter CentOS 7 funktionieren.
Passen Sie den Paketnamen und die Versionsnummer nach Bedarf an und erstellen Sie das Paket.
Die Ausgabe "Binär" RPM-Datei wird sein
~/rpmbuild/RPMS/noarch/example-0.0.0-1.fc29.x86_64.rpm
quelle
Das ist nicht wie
rpm
funktioniert das nicht.rpm
Verwendet eine Datenbank, in der gespeichert wird, welche RPMs auf dem System installiert sind. Wenn Sie einige Dateien manuell installieren,rpm
wissen Sie nichts darüber.Der beste Weg, dies zu lösen, ist die Installation von Foobar 2 mit einer Drehzahl. Andere Lösungen wären nur eine Umgehung und würden auf lange Sicht nicht funktionieren.
quelle
Vielleicht ist
rpm --nodeps
das die Antwort, die Sie suchen? Es wurde in einem älteren Thread hier auf Serverfault besprochen.( Sagen Sie yum, dass Sie eine einzelne Abhängigkeit ignorieren sollen. )
quelle