Lokale Installation von .rpms mit YUM

50

Ich stelle diese Frage vorsichtig, weil ich das nicht falsch verstehen will.

Ich habe eine program_name.rpm-Datei, die lokal auf meinem Server gespeichert ist (CentOS 6.5).

Ich habe es zuvor nur durch Navigieren und Verwenden von yum install program_name.rpm installiert, was gut funktioniert hat, aber es gab mir keine Option, anzugeben, wo es installiert ist.

Ist es möglich, diese rpm in / opt / some_directory anstelle des Standardinstallationsverzeichnisses zu installieren?

TheLovelySausage
quelle

Antworten:

34

Verwenden Sie rpm

rpm -ivh package.rpm

Wenn Sie es an einem anderen Ort installieren möchten, verwenden Sie:

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

Beachten Sie jedoch, dass unter new root die Verzeichnisstruktur aus dem Paket neu erstellt wird

Romeo Ninov
quelle
2
das hat super geklappt, ich nehme nicht an, dass es ein YUM-Äquivalent gibt?
TheLovelySausage
4
Zur Verdeutlichung: Yum ist Wrapper um U / min. rpm ist das Hauptprogramm für die Verwaltung in RHEL, SuSE, CentOS und anderen Distributionen
Romeo Ninov
4
Oh, ich habe immer gedacht, dass yum auf rpm basiert, habe nie
bemerkt
Müssen Sie root sein, um diesen Befehl auszuführen?
Alexej Magura
Richtig, Sie müssen root sein, um den Befehl auszuführen
Romeo Ninov
96

Schade, dass Sie diese RPM-Antwort akzeptiert haben. Das wird zu Warnungen von nachfolgenden Hinrichtungen von yum führen, wie z Warning: RPMDB altered outside of yum

Verwenden Sie stattdessen yum localinstallgemäß Abschnitt 13 der Seite " Yum- und RPM-Tricks " des CentOS-Wikis => https://wiki.centos.org/TipsAndTricks/YumAndRPM#head-3c061f4a180e5bc90b7f599c4e0aebdb2d5fc7f6

Sie können die --installrootOption verwenden, um einen anderen Installationsstamm anzugeben.

Jeff
quelle
3
Ich mag es, Dinge nach den besten Praktiken zu tun, und diese Antwort enthält das leckere Äquivalent, auf das ich gehofft habe. Leider habe ich bereits eine ganze Reihe von Paketen mit der rpm -ivh-Methode installiert. Ich wünschte, es wäre möglich, zwei richtige Antworten zu akzeptieren, da ich der Meinung bin, dass die akzeptierte Antwort korrekt ist, aber die Leute, die diese Frage ansehen, würden mehr von dieser Antwort profitieren
TheLovelySausage
Ist besser, yum anstelle von rpm zu verwenden, aber um die "Warnung: RPMDB geändert außerhalb von yum" zu lösen, ist es möglich, "yum history sync" zu verwenden
Elbarna
1
Das funktioniert. Als ich versuchte, nur rpm laufen zu lassen, wurden die Abhängigkeiten nicht ermittelt. Es ist nur ein Fehler mit "Fehlgeschlagene Abhängigkeiten" aufgetreten.
Christian Shay
"yum --nogpgcheck localinstall packagename.arch.rpm"
hmz