Verwenden von Yum zum Installieren von Paketen nur für meinen Benutzer

26073
Olivier Tremblay

Ich möchte Pakete mit einem Paketmanager installieren können (Yum ist auf meinem Server verfügbar), aber ich habe keinen Root-Zugriff. Ich brauche technisch keinen Root-Zugriff, ich möchte nur, dass die Pakete in meinem Home-Verzeichnis installiert werden.

Gibt es eine Möglichkeit, dies zu tun?

20

2 Antworten auf die Frage

11
Ignacio Vazquez-Abrams

Nicht mit yum Sie können sie jedoch verwenden yumdownloaderund dann die Pakete rpm2cpio ... | cpio -iddurchstellen, um deren Inhalt zu extrahieren, und die Dateien dann an den entsprechenden Speicherorten ablegen.

9
Mikel

Wie Ignacio darauf hinweist, können Sie verwenden yumdownloader.

Aber für den zweiten Schritt

rpm -ivh --relocate /usr=/home/username/usr --relocate /etc=/home/username/etc 

oder

rpm -ivh --relocate /=/home/username/progname 

ist wahrscheinlich einfacher.

Wenn der RPM Skripts enthält, die davon ausgehen, dass sie als Root ausgeführt werden, müssen Sie möglicherweise auch die --noscriptsOption hinzufügen .

Außerdem können Sie die --aidOption zum Auflösen von Abhängigkeiten hinzufügen .

Eine weitere nützliche Option in diesem Fall ist --rootdas Vermeiden des Schreibens von rpm in /varpath (da Sie nicht root sind), so dass der Befehl etwa so lautet :

rpm -ivh --relocate /=/home/username/progname --root /home/username/progname 
Bitte beachten Sie die folgende [Fedora-Richtlinie] (http://fedoraproject.org/wiki/Packaging:Guidelines#Relocatable_packages): "Von der Verwendung der RPM-Funktion zur Erzeugung von versetzbaren Paketen wird dringend abgeraten. Es ist schwierig, die Arbeit ordnungsgemäß auszuführen Kann vom Installateur oder von yum nicht verwendet werden und ist im Allgemeinen nicht erforderlich, wenn andere Verpackungsrichtlinien befolgt werden.Falls jedoch unwahrscheinlich ist, dass Sie einen guten Grund haben, ein Paket verlagerbar zu machen, MÜSSEN Sie diese Absicht und Begründung in der Anfrage angeben zur Überprüfung des Pakets. " Cristian Ciupitu vor 10 Jahren 1
Also gut. Die erste Option mit relocate hat nicht funktioniert, da sie als root auf / var zugreifen muss. Die zweite Option hat nicht funktioniert, da Sie scheinbar root-Zugriff benötigen. Ich erhalte die folgende Fehlermeldung: Fehler: Stammverzeichnis kann nicht geändert werden: Vorgang nicht zulässig Sylvain vor 8 Jahren 0