Frage Gibt es eine Möglichkeit, APT Pakete in meinem Home-Verzeichnis zu installieren?


Gibt es einen Weg zu bekommen? GEEIGNET um Pakete in meinem Home-Verzeichnis zu installieren?

Ich möchte keine systemweiten Änderungen vornehmen.

Alternativ, gibt es irgendwelche Home-Verzeichnis-basierte Linux-Paket-Manager?


38


Ursprung


Siehe auch Nicht-Root-Paketmanager. - imz -- Ivan Zakharyaschev


Antworten:


Dpkg hat nicht die Funktion --relocate, die RPM hat. Es lohnt sich zu überlegen, wie viele RPM-Pakete diese Funktion unterstützen. Grundsätzlich kann es nicht gemacht werden.

Was Sie tun könnten, ist eine Chroot zu verwenden, wenn Sie etwas testen möchten, bevor Sie es global auf dem System installieren. Um dies zu tun, müssen Sie in der Lage sein, auf root zuzugreifen. Das erste, was zu tun ist, ist eine grundlegende Chroot zu erstellen:

# debootstrap lenny-chroot

Dies schafft eine Lenny Chroot innerhalb der lenny-chroot Verzeichnis.

Jetzt können wir die chroot betreten:

# chroot lenny-chroot

Jetzt können wir tun, was immer wir wollen und alles installieren, ohne dass es den Rest des Systems durcheinander bringt. Wenn Sie fertig sind, geben Sie einfach exit ein oder drücken Sie Strg-D


17





Linuxbrew ist ein weiterer nicht root-fähiger Paketmanager für Linux (basierend auf dem populären Homebrew-Paketverwaltungssystem für OS X), der aus der Quelle kompiliert und die Binärdateien in Ihrem Home-Verzeichnis speichert.

Die Funktionen von Linuxbrew lauten wie folgt:

  • Kann Software in einem Home-Verzeichnis installieren und erfordert daher kein sudo
  • Installieren Sie Software, die nicht von der nativen Distribution gepackt wurde
  • Installieren Sie aktuelle Versionen der Software, wenn die native Distribution alt ist
  • Verwenden Sie den gleichen Paket-Manager, um Ihre Mac- und Linux-Maschinen zu verwalten

8





Gentoo Präfix macht genau das, was Sie wollen.

Es installiert alle Pakete in einem angegebenen Verzeichnis. Kein Root-Zugriff erforderlich. Wenn Sie es loswerden wollen, entfernen Sie einfach das Basisverzeichnis.

PS: Dies funktioniert nicht unter Ubuntu> = 11.04 oder irgendeinem anderen Debian-Derivat mit Multiarch.


7



Gentoo baut aus der Quelle, Poster scheint über ein Paket in ein bestimmtes Verzeichnis zu installieren. Das ist nicht wirklich dasselbe. - Andrew Case
@AndrewCase Gentoo hat auch Pakete, glaube ich. Die Tatsache, dass sie nicht binär sind, ist für die endgültige Installation irrelevant. - jiggunjer


Nur als kleine Ergänzung zu der Option, es zu kompilieren, gibt es die halbwegs Möglichkeit, in ein Paket mit einer anderen Präfix-Option zur Kompilierungszeit (mit "checkinstall" oder vielleicht einer anderen Methode) zu kompilieren. Der Vorteil ist, dass das Paket auf Paketmanagern wie aptitude oder synaptic erscheint.

Außerdem denke ich, dass es in einigen Fällen möglich sein könnte, das eigentliche .deb herunterzuladen und ein anderes Präfix über dpkg install zu erzwingen, aber ich denke, dass es nicht mit irgendeinem zufälligen Paket gemacht werden kann, aber mit dem kompiliert werden muss eine Variable für ihre Position (anstelle des expliziten Literalpräfix), die Sie vor der Installation exportieren würden. Ich weiß jedoch nichts über das Verfahren, googeln nach "dpkg instdir prefix".


4





Sie können verwenden Fake-Brut - Werfen Sie einen Blick auf die Demo auf ihrer Website.


2





Rootless GoboLinux kann genau das tun, wonach Sie fragen: Paketmanager ohne erhöhte Rechte in Ihrem eigenen Home-Verzeichnis. Hoffentlich weißt du, was du tust; Rootless ist nicht der am besten gepflegte Installationsmodus von Gobo, und als ich ihn vor ein paar Jahren benutzte, erforderte es ein paar Verbesserungen, da das Installationsskript im Vergleich zu anderen Gobo-Änderungen etwas veraltet war.

Es gibt auch Klik, die ziemlich viele neu verpackt .debs, kann Pakete in Ihrem Home-Verzeichnis installieren, und benötigt keine root-Berechtigungen zu betreiben ... aber die Ersteinrichtung erfordert root.


1





Ich bekomme normalerweise die Quellen und checke eine Datei wie "INSTALL" aus. Normalerweise gibt es Anweisungen zu tun ./configure --prefix=somedir. Dann müssen Sie hinzufügen somedir/bin auf deinen Weg.


1



Es kann schwierig sein, Abhängigkeiten zu erhalten, zu kompilieren und zu aktualisieren. - Paolo
Das ist rückwärts. Die Frage ist, wie man Paketmanager (die seit den neunziger Jahren vorzuziehen sind) dazu bringt, sich so zu verhalten. - Lightness Races in Orbit


Nein, das glaube ich nicht.

Das Beste, was ich jetzt denken kann, ist zu benutzen apt-get source und kompiliere dein Paket. Vielleicht könnten Sie die Prozedur (die mehr oder weniger automatisiert sein kann) irgendwie anpassen, um die Pakete in Ihrem Haus zu installieren.

Ein anderes ist zu benutzen dpkg -X um es auf ein Verzeichnis Ihrer Wahl zu extrahieren.


1





In wenigen Fällen müssen Sie Pakete in Ihrem Basisordner installieren.

Sie können jedoch Software auf Ihrem lokalen Computer kompilieren und installieren. Einfach entpacken, dann mit konfigurieren ./configure --prefix=$HOME/local oder irgendein anderes Verzeichnis. Sie können dann make und make install wie normal. Dadurch wird das Programm kompiliert und installiert ~/local/zB das von Ihnen ausgeführte Programm wird angezeigt ~/local/bin/programmname.


0