Installieren eines .deb-Pakets im Ausgangsverzeichnis

31

Ist es möglich, ein .debPaket vollständig in meinem Home-Verzeichnis bei Debian zu installieren ?

free_easy
quelle
Sie könnten ein Deb-Paket erstellen, das überall installiert wird. Aber warum willst du das? Pakete sollen in das System installiert werden.
Faheem Mitha
5
@Faheem Mitha - Wir haben nicht alle Root-Zugriff auf unsere Unix-Boxen, wissen Sie, ich weiß nicht, wo ich arbeite. Wenn wir ein Paket (in meinem Fall RPM) benötigen, um eine Software zu verwenden, wäre es schön, wenn wir es im Benutzerbereich installieren könnten, anstatt mit der IT zu sprechen und sie zu veranlassen, das Paket für uns auf dem System zu installieren.
Mark Booth
@FaheemMitha Eine andere Sache ist das Testen einer neuen Version eines Pakets. Wenn ich ein bestimmtes Paket nur einem Benutzer zur Verfügung stellen möchte, werde ich es nicht systemweit installieren.
Erathiel
@Erathiel Nun, das ist wirklich ein Anwendungsfall für eine virtuelle Maschine.
Faheem Mitha
@FaheemMitha Vielleicht oder vielleicht auch nicht;) Mein Anwendungsfall war eine Entwicklungsmaschine mit mehreren Benutzern, die als Entwicklungsumgebungen dienten. Ich musste ein Paket auf eine neue Version nur für einen bestimmten Benutzer stoßen, damit wir testen konnten, wie sich die neue Version verhält. Da der Server selbst eine virtuelle Maschine ist, haben Sie teilweise recht;)
Erathiel

Antworten:

18

Es kommt darauf an, was Sie mit "installieren" meinen. Es ist möglich, den Dateiinhalt einer .deb-Datei mit zu extrahieren. dpkg-deb -x <filename.deb>Ob Sie die Software nach dem lokalen Extrahieren tatsächlich verwenden können, hängt jedoch davon ab, wie sie geschrieben wurde. Viele Linux-Programme erwarten, dass sie ihre Ressourcendateien an den zur Kompilierungszeit festgelegten Standardpositionen finden, z. B. /usr/shareoder /usr/lib, was fehlschlägt, wenn die Software nicht am üblichen Speicherort installiert wird. Auch alle vom Paket installierten systemweiten Konfigurationsdateien, z. B. .desktopDateien, die Einträge im Startmenü erstellen, funktionieren nicht wie vorgesehen, wenn sie am falschen Speicherort installiert werden.


quelle
3
es solltedpkg-deb -x app.deb /path/to/target/dir/
qed
oder einfach dpkg -x app.deb / path / to / target / dir /
Erik Aronesty
5

Vielen Dank für alle Ihre Kommentare und Antworten. Es war eine selbstverpackte Software, bei der ich einige grundlegende Überprüfungen durchführen möchte, ob meine Verpackung korrekt war. Ich bin root auf meinem Computer, möchte dort aber noch keine echte Installation durchführen oder ein virtuelles Image verwenden. Ich habe diese Lösung gefunden: https://serverfault.com/questions/23734/ist-die-jedes-Weg-zum-Anpassen-zum-Installieren-von-Paketen-in-Meines-Home-Verzeichnisses, für das es perfekt funktioniert mir atm.

free_easy
quelle
5
@ Ivogel fragt: "Die Seite, auf die Sie verlinkt haben, hat viele Beiträge, und ich kann nicht sagen, welche die Lösung ist, die für Sie funktioniert hat. Könnten Sie bitte angeben?"
drs
4

Beachten Sie, dass die Verwendung des Debian-Paketsystems Root-Zugriff erfordert. Für die Installation eines Deb-Pakets in einem Benutzerverzeichnis ist Root-Zugriff erforderlich. Wenn Sie Root-Zugriff haben, ist es sinnvoller, nur wie gewohnt auf dem System zu installieren.

Wenn Sie keinen Root-Zugriff haben, können Sie das Debian-Paketierungssystem nicht verwenden. Sie könnten sicherlich eine Deb-Datei in ihre Bestandteile entpacken und in Ihr Home-Verzeichnis stecken, aber dies würde imo wenig Sinn machen. Ich schlage vor, Sie gehen mit einer lokalen Installation. Je nachdem, welche Software Sie installieren, verfügt die Software möglicherweise über ein internes Paketverwaltungssystem, das Sie verwenden können.

Faheem Mitha
quelle
Ich weiß nicht, ob es hinzugefügt wurde, nachdem diese Antwort erstellt wurde, aber dpkg hat eine --force-non-root-Option, die verwendet werden kann, um dies zu umgehen.
Bruce Adams
@BruceAdams Ich sehe diese Option nicht auf der Manpage. Können Sie eine Referenz angeben?
Faheem Mitha
Wenn Sie dpkg ausführen - helfen Sie dabei, erwähnt es --force-thing. Wenn Sie dpkg --force-help ausführen, erhalten Sie weitere Details. Siehe zum Beispiel askubuntu.com/questions/193695/…
Bruce Adams
@BruceAdams Ok, ich sehe es, aber ich habe keine Ahnung , wie es funktionieren würde: not-root Try to (de)install things even when not root.
Faheem Mitha
Siehe meine Frage stackoverflow.com/questions/47099045/… Zum Zeitpunkt des Schreibens ist jedoch noch keine Antwort verfügbar . Also habe ich auch keine Ahnung.
Bruce Adams