Installieren von Paketen ohne Sudo-Zugriff


11

Gibt es eine einfache Möglichkeit, Pakete mit einem großen Abhängigkeitsbaum zu installieren, vorausgesetzt, Sie haben keinen Superuser-Zugriff? Angenommen, ich wollte Firefox installieren. Firefox hat eine Menge Abhängigkeiten, von denen jede ihre eigenen Abhängigkeiten usw. hat. Die Installation dieser Abhängigkeiten auf die Weise "./configure; make; make install" würde ewig dauern.

Gibt es eine Option, die ich apt-get geben kann, damit es in einem persönlichen Verzeichnis installiert wird? Oder gibt es eine Möglichkeit, es zu hacken, um all das schwere Heben für mich zu erledigen?


Versuchen Sie, auf www.superuser.com zu fragen, oder wenn eine Server-Frage speziell www.serverfault.com

Antworten:


4

Sie können einzelne .deb-Dateien in Ihrem Home-Verzeichnis installieren mit:

dpkg-deb -x /path/to/some.deb $HOME

Dies berücksichtigt jedoch nicht die Abhängigkeiten wie aptitude oder apt-get.


Ich habe diese Methode verwendet, um Atom für Julia auf meiner Workstation zu installieren. Außerdem habe ich in ~ / .bashrc einen Alias ​​für atom erstellt: alias atom = "/ path / to / the / ausführbare Datei / atom / binary / file". Führen Sie dann Folgendes aus: source ~ / .bashrc. Sie können Atom im Terminal ausführen.
Guter Wille

2

Schauen Sie sich NixOs ( LWN ) an. Pakete sind isoliert (manchmal muss die Distribution sie patchen) und können mehrmals, in verschiedenen Versionen oder von verschiedenen Benutzern installiert werden.

jhbuild kann einen großen cmmi-Prozess automatisieren. Aber jemand muss ein Modulset (ein Abhängigkeitsdiagramm) schreiben.

Wenn Sie mit dem manuellen Konfigurieren / Ausführen aller Installationsvorgänge beginnen, können Sie mit stow die Installation in Ihrem Haus vereinfachen. Stow ist hilfreich, um Dinge in mehreren Präfixen zu installieren, aber nur ein Präfix für die Abhängigkeitsauflösung zu verwenden.

dpkg kann gezwungen werden, in einem anderen Präfix mit instdir / admindir / root zu installieren, dies ist jedoch nur für Chroot-Umgebungen nützlich.


0

Kompilieren Sie Firefox nicht aus dem Quellcode, sondern installieren Sie einfach ein Binärpaket in Ihrem Home-Verzeichnis.

In diesem Mozilla KnowledgeBase-Artikel wird die Vorgehensweise erläutert. Grundsätzlich müssen Sie nur einen Tarball extrahieren und eine firefoxDatei darin ausführen . Alle Abhängigkeiten sind bereits enthalten, sodass Sie nichts mit installieren müssen apt.

BEARBEITEN: Nein, es gibt keine generische Methode, zumindest weil die meisten Anwendungen (und insbesondere GUI-Anwendungen) erfordern, dass ein Großteil der zugehörigen Daten an bekannten Orten wie / usr / share abgelegt wird und darin fest codiert ist ( na ja , Es kann zur Kompilierungszeit konfiguriert werden, aber Sie möchten nicht alles neu kompilieren, wie Sie es in Frage gestellt haben. Sie können also nur nach vorkompilierten Binärpaketen suchen, die im Startverzeichnis nach Ressourcen suchen und nicht nach Systempaketen.


Ich interpretiere die Frage als Paketverwaltungspraktiken. Ich vermute, dass Firefox nur ein Beispiel ist, daher sind Firefox-spezifische Methoden nicht besonders nützlich.
Quacksalber Quijote

Danke, habe den Beitrag bearbeitet. Firefox-Informationen sind weiterhin nützlich.
Whitequark

0

Ich denke, die Antwort ist so ziemlich "nein". Erstens ist die Paketdatenbank nur über root zugänglich, und zweitens haben einige / viele Pakete fest codierte Pfade, die es unmöglich machen, sie zu verschieben. Die Verwendung einer Chroot wäre eine mögliche Antwort, aber Sie benötigen auch root dafür oder zumindest jemanden mit root, um Ihnen eingeschränkte Rechte zu gewähren.


0

Ich glaube, Sie müssen eine Chroot machen, dann können Sie Ihre Pakete dort installieren.

Ref: https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/appendix-chroot.html https://wiki.ubuntu.com/DebootstrapChroot


Root-Berechtigungen sind ohnehin erforderlich, um eine Chroot zu erstellen. Warum also nicht stattdessen einfach Pakete installieren ? Abgesehen davon sind die Chancen, dass Ihr Systemadministrator Ihnen die vollen Root-Berechtigungen (oder sogar nur apt-bezogene) gewährt, viel, viel geringer als die für chroot. Es ist (fast) nicht gefährlich für das Host-System.
Whitequark
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.