Wie kann ich ein Paket ohne Root-Zugriff installieren?

100

Ich habe keinen Root-Zugriff auf diesem Computer.

Ich würde gerne wissen, ob es einen Weg gibt, wie ich Ubuntu-Pakete herunterladen und sie als nicht-root installieren kann?

Wahrscheinlich in meinem ~/bin oder ~/usr/share oder so ähnlich? Würde das funktionieren?

    
Weboide 29.07.2010, 13:17

3 Antworten

93

Apt unterstützt es nicht direkt, aber es gibt Möglichkeiten, es zu tun.

Eine besteht darin, schroot zu verwenden, um eine Nicht-Root-Chroot zu erstellen. Dies ist ein etwas involvierter Prozess , aber Sie sollten in der Lage sein, Community-Hilfe für so viele Entwickler zu finden, die Chroot-Umgebungen zum Kompilieren einrichten Code.

Der zweite Weg, den ich kenne, ist die Installation von einem .deb-Paket. Sie können es möglicherweise von einer Website herunterladen oder wenn es in den Ubuntu-Repositories ist, die Sie herunterladen können.

apt-get download package

Ersetzen Sie package durch den Namen des Pakets

Sobald Sie Ihre Deb-Datei haben, rufen Sie dpkg direkt von der Kommandozeile auf. Im folgenden Beispiel wird package.deb in Ihrem Home-Verzeichnis installiert.

dpkg -i package.deb --force-not-root --root=$HOME 

Der Nachteil bei der Verwendung von dpkg ist, dass Fehlermeldungen kryptisch sind; dpkg löst Abhängigkeiten nicht automatisch auf oder erstellt die erwartete Verzeichnisstruktur.

Schließlich können Sie den Befehl apt-get source verwenden, um die Quelle des Pakets abzurufen und sie für die lokale Installation zu konfigurieren. Normalerweise sieht das ungefähr so ​​aus:

apt-get source package
cd package
./configure --prefix=$HOME
make
make install

Der Nachteil dieses Ansatzes besteht darin, dass Sie die Entwicklungsumgebung, die für diesen Ansatz zur Verfügung steht, überhaupt benötigen und dass Sie Dutzende von Paketen kompilieren müssen, um alle Abhängigkeiten aufzulösen.

BEARBEITEN:

Da dpkg -i nicht funktioniert (siehe Kommentare), schlage ich diese Alternative vor:

dpkg -x package.deb dir

Dadurch wird das .deb-Paket in dir extrahiert. Dann können Sie den Pfad exportieren, wo die Binärdatei ist. Solange alle Abhängigkeiten der Binärdatei installiert sind, sollte sie wie üblich ausgeführt werden.

    
jbowtie 29.07.2010, 13:56
16

Ich nehme an, Sie möchten jedit installieren. Zuerst müssen Sie das Paket finden und herunterladen. Ich nehme einfach die deb-Datei von einem Mirror und öffne eine Konsole / ein Terminal:

  1. mkdir /tmp/jedit && cd /tmp/jedit - Erstellt ein neues Verzeichnis in tmp und ändert sich in es.
  2. wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb - Paket herunterladen
  3. ar x jedit_4.3.1.dfsg-0ubuntu1_all.deb oder, einfach zu typisieren, ar x *.deb - extrahiert den Inhalt der Datei
  4. tar xvzf data.tar.gz - Die Datei data.tar.gz enthält alles, was Sie zum Ausführen der Software benötigen
  5. usr/bin/jedit öffnet den Editor
  6. erledigt: -)

Sie können die Dateien an einen beliebigen Punkt in Ihrem Home-Verzeichnis verschieben und von dort aus ausführen.

    
qbi 29.07.2010 13:32
9

Ich habe ein Programm namens JuJu geschrieben, das im Grunde eine wirklich kleine Linux-Distribution (die nur den Paket-Manager enthält) in Ihrer haben $ HOME / .juju Verzeichnis.

Es ermöglicht, dass Ihr benutzerdefiniertes System im Home-Verzeichnis über proot erreichbar ist, und Sie können daher alle Pakete ohne Root-Rechte installieren. Es wird korrekt auf alle Haupt-Linux-Distributionen laufen, die einzige Einschränkung ist, dass JuJu auf dem Linux-Kernel mit der empfohlenen Mindestversion 2.6.32 laufen kann.

Zum Beispiel nach dem Installieren von JuJu, um Jedit zu installieren:

$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit
    
user967489 02.11.2014 19:17

Tags und Links