it-swarm-eu.dev

Wie kann ich ein Paket ohne Root-Zugriff installieren?

Ich habe kein Root-Zugriff auf diesem Computer.

Ich würde gerne wissen, ob es eine Möglichkeit gibt, wie ich buntu-Pakete herunterladen und als Nicht-Root installieren kann?

Wahrscheinlich in meinem ~/bin oder ~/usr/share oder so? Funktioniert das?

122
Weboide

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

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

Der zweite Weg, den ich kenne, ist die Installation von einem .deb-Paket. Sie können dies möglicherweise von einer Website herunterladen oder in den Ubuntu-Repositorys, mit denen Sie es 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 Befehlszeile aus auf. Im folgenden Beispiel wird package.deb in Ihrem Ausgangsverzeichnis installiert.

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

Der Nachteil bei der Verwendung von dpkg ist, dass Fehlermeldungen wahrscheinlich 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 für die lokale Installation zu konfigurieren. Normalerweise sieht das so aus:

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

Der Nachteil dieses Ansatzes besteht darin, dass Sie die für diesen Ansatz verfügbare Entwicklungsumgebung benötigen, um überhaupt funktionieren zu können, und möglicherweise Dutzende von Paketen kompilieren müssen, um alle Abhängigkeiten aufzulösen.

EDIT:

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, in dem sich die Binärdatei befindet. Solange alle Abhängigkeiten der Binärdatei installiert sind, sollte sie normal ausgeführt werden.

106
jbowtie

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

  1. mkdir /tmp/jedit && cd /tmp/jedit - Erstellt ein neues Verzeichnis in tmp und wechselt dorthin.
  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 tippen, ar x *.deb - extrahiert den Dateiinhalt
  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. getan :-)

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

16
qbi

Ich habe ein Programm namens JuJ geschrieben, das es im Grunde erlaubt, eine sehr kleine Linux-Distribution (die nur den Paketmanager enthält) in Ihrem $ HOME/.juju-Verzeichnis zu haben.

Es ermöglicht Ihnen, Ihr benutzerdefiniertes System innerhalb des Home-Verzeichnisses über Proot zugänglich zu machen. Daher können Sie alle Pakete ohne Root-Rechte installieren. Es wird ordnungsgemäß auf allen wichtigen Linux-Distributionen ausgeführt. Die einzige Einschränkung besteht darin, dass JuJu auf einem Linux-Kernel mit der empfohlenen Mindestversion 2.6.32 ausgeführt werden kann.

Zum Beispiel, nach der Installation von JuJu, um jedit zu installieren:

$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit
9
user967489