Ich bin ein Benutzer ohne Administratorrechte auf einem großen Computersystem. Ich benötige einige aktuelle Pakete, die nicht auf dem System installiert sind. Ich möchte yum verwenden, um sie zu installieren. Kann ich als Benutzer ohne sudo, admin oder root-Zugriff die Paketverwaltung verwenden, um Pakete in meinem Ausgangsverzeichnis zu installieren? Ich kann immer make aus den Quellen verwenden, aber wenn ich yum verwenden kann, wird das Leben einfacher.
51
Antworten:
Die meisten Binärdateien sind so kompiliert, dass sie an bestimmten Speicherorten unter installiert werden können
/
.Es gibt Nicht-Root-Paketmanager wie Gentoo Prefix und Rootless GoboLinux und möglicherweise 0install .
Wie Sie sagten, würde das Kompilieren dieses Problems lindern oder eine Chroot verwenden. Die größte Hürde beim Chrooten sind jedoch die Voraussetzungen und die Verknüpfung mit gemeinsam genutzten Kernelobjekten.
quelle
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 dermc
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 danncpio
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):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:
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]
: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:
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
:quelle