Anstatt Verwendung yum
finden die RPMs Sie wollen und sie herunterladen. Sie können sie immer noch nicht direkt installieren, ohne root zu sein, aber RPM-Pakete sind eigentlich schicke .cpio-Dateien, und Sie können ihren Inhalt entpacken. Der einfachste Weg, dies zu tun, ist wahrscheinlich der mc
Dateibrowser ("Midnight Commander") (eine der größten Software-Komponenten aller Zeiten), mit dem Sie den Inhalt einer .rpm
Datei durchsuchen und Dateien direkt daraus kopieren können.
In diesem rpm2cpio
Fall können Sie es in .cpio konvertieren und dann cpio
die darin enthaltenen Dateien extrahieren und an den richtigen Stellen ablegen . Beide werden bereits auf einem Red Hat- oder Fedora-System installiert. Hier ist ein Beispiel für die Installation von "xsnow" (Sie möchten dies wahrscheinlich in einem leeren Verzeichnis tun):
»rpm2cpio xsnow-1.42-17.fc17.x86_64.rpm > xsnow.cpio
Beachten Sie, dass ich eine für mein System geeignete RPM-Datei gefunden habe: fc17 x86_64. Dies ist wichtig, da es sich um vorkompilierte Binärdateien handelt, die mit anderen Komponenten verknüpft sind. Extrahieren Sie nun die .cpio:
»cpio -idv < xsnow.cpio
./usr/bin/xsnow
./usr/share/doc/xsnow-1.42
./usr/share/doc/xsnow-1.42/README
./usr/share/man/man6/xsnow.6.gz
212 blocks
Press any key to continue...
Wenn ich diesen Verzeichnisbaum durchsuche, ist alles vorhanden, was ich brauche, mit Ausnahme einiger Metainformationen, die mir beim Auflösen von Abhängigkeiten helfen könnten. Dies kann gefunden werden mit rpm -q -p [package] --[query]
:
»rpm -q -p xsnow-1.42-17.fc17.x86_64.rpm --requires
warning: xsnow-1.42-17.fc17.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID d2382b83: NOKEY
libX11.so.6()(64bit)
libXext.so.6()(64bit)
libXpm.so.4()(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1
Ich bin mir ziemlich sicher, dass ich all das Zeug schon habe. Jetzt muss ich nur noch die ausführbare Datei xsnow in meinem $ PATH ablegen, die bereits einen Bin in meinem Home-Verzeichnis enthält:
»cp ./usr/bin/xsnow ~/bin
Viola! Jetzt kann ich xsnow
nichts mehr tippen und ansehen, da xsnow mit KDE nicht gut funktioniert :( aber hoffentlich ist der eigentliche Vorgang klar. Ich musste nichts außerhalb meines Home-Verzeichnisses tun.
Wenn Sie Bibliotheken installieren müssen, müssen Sie auch für diese ein eigenes Verzeichnis erstellen und Folgendes hinzufügen ~/.bashrc
:
export LD_LIBRARY_PATH=/home/you/lib