cd my-dir;
rpm2cpio to-install.rpm | cpio -idv
Siehe So extrahieren Sie ein RPM-Paket, ohne es zu installieren (Befehl rpm extract).
So extrahieren Sie den Inhalt von RPM-Paketen
export ins=foo-bar.rpm
rpm2cpio $ins | cpio -idv
Wie man tar.gz
extrahiert archivieren
gzip -dc foo-bar.tar.gz | tar xvf –
cd foo-bar-dir
Wie man tar.gz
extrahiert Pakete in das aktuelle Verzeichnis
export file=foo-bar.tar.gz
# Note that `xovf` switch order *matters*
gzip -dc $file | tar -xovf -
Wie man Binärdateien als Nicht-Root erstellt
./configure --prefix=$HOME && make && make install
Ich denke, die "echte" Antwort auf das "Installieren" einer RPM ohne Root-Rechte lautet:Sie können nicht . ABER vorausgesetzt, Sie könnten den Installationsprozess tatsächlich starten...
RPMs werden mithilfe einer Liste von Anweisungen installiert, die in einer Spezifikationsdatei (.spec) bereitgestellt werden, die normalerweise der Dateisystemhierarchie folgt. Die meisten Pfade in dieser Hierarchie sind fast immer Betriebssystempfade und keine Benutzerpfade. Wenn Ihr Benutzername also keinen Zugriff auf alle Pfade hat, auf denen ein RPM installiert wird, würde es sicherlich fehlschlagen. Wenn Sie ein RPM erstellen, das allen seinen Pfaden das Präfix /home/me
voranstellt (oder einen anderen Pfad, den Sie besitzen), dann würde es funktionieren. Dazu müsste eine src.rpm erworben und wie in anderen Antworten erläutert extrahiert und dann neu erstellt werden. Wenn Sie dies tun, können Sie einfach in Betracht ziehen, Root-Zugriff zu erhalten oder die Software von Grund auf neu zu erstellen (normalerweise das, was Sie tun, wenn Sie nicht vorhaben, die Software auf viele Computer zu verteilen).
Es gibt clevere Tricks, die Ihnen beim manuellen Build-Prozess helfen. Sie können beispielsweise die bereits in einem RPM aufgeführten Abhängigkeiten verwenden, um alle Ihre Abhängigkeiten zu erhalten:https://stackoverflow.com/a/13877738/1236128.