Wie installiere ich ein Programm lokal ohne Sudo-Berechtigungen?

Wie installiere ich ein Programm lokal ohne Sudo-Berechtigungen?

Angenommen, ich habe als Benutzer SSH-Zugriff auf einen Ubuntu-Server und muss der Einfachheit halber einige nicht systembezogene Tools installieren (mc, rtorrent, mcedit). Ich möchte Administratoren nicht mit diesen kleinen Programmen belästigen.

Gibt es eine Möglichkeit, sie zu installieren (auszuführen), ohne etwas wie zu verwenden sudo apt-get install?

Antwort1

Sie müssen diese aus dem Quellcode kompilieren. Es sollte nur eine Frage von

apt-get source PACKAGE
./configure --prefix=$HOME/myapps
make
make install

Die Binärdatei würde sich dann in befinden ~/myapps/bin. Fügen Sie also export PATH="$HOME/myapps/bin:$PATH"zu Ihrer .bashrcDatei hinzu und laden Sie die .bashrcDatei mit neu source ~/.bashrc. Dies setzt natürlich voraus, dass gcc auf dem System installiert ist.

Antwort2

  1. Kompilieren und installieren Sie in ~/bin(und bearbeiten Sie Ihre , .bashrcum festzulegen, PATHdass es eingeschlossen wird). Bibliotheken können auf ähnliche Weise kompiliert und in installiert werden ~/lib(so eingestellt, LD_LIBRARY_PATHdass sie darauf verweisen), und Entwicklungsheader können z. B. in installiert werden ~/includes.

  2. Abhängig von den spezifischen Details der Programme, die Sie installieren möchten, und den Bibliotheken, von denen sie abhängen, können Sie die .deb-Dateien herunterladen und dpkg-deb -xsie mit ' ' in Ihrem Home-Verzeichnis extrahieren. Sie werden dann viel „Spaß“ beim Einstellen der PATH, LD_LIBRARY_PATH, und anderen haben variables. Je komplexer das Programm oder die App ist, die Sie installieren, desto mehr Spaß werden Sie haben :)

    Natürlich können Sie setuidauf diese Weise keine Binärdateien installieren. Diese werden zwar installiert, aber (da Sie keine Berechtigung haben, sie mit chown auf Root umzuleiten oder das setuidBit darauf zu setzen) handelt es sich lediglich um normale Binärdateien, die Ihnen gehören.

    Ebenso ist es unwahrscheinlich, dass Daemons und Systemdienste, die unter einer bestimmten Adresse ausgeführt werden sollen , die Möglichkeit haben, die UID zu ändern oder Dateien in einer bestimmten UIDAdresse zu speichern usw., gut oder gar nicht funktionieren./etc~/etc

  3. Die meisten Systemadministratoren würden mces mceditals „weitgehend harmlose“, unschädliche Programme betrachten.

    Nur sehr wenige würden jedoch die Installation eines Torrent-Clients als harmlos betrachten, insbesondere wenn sie für die Bandbreite bezahlen müssen oder rechtlich haftbar gemacht werden. Die meisten Systemadministratoren wären wahrscheinlich nicht ganz glücklich, wenn Endbenutzer solche Software ohne Erlaubnis installieren würden. Sie sagen vielleicht „klar, mach weiter, tob dich aus“ oder auch nicht … aber Sie sollten nach allem fragen, was den Besitzern/Administratoren des Computers Probleme bereiten könnte.

Antwort3

Sie könnenJuNest, das einen kleinen Linux-Container im Benutzerverzeichnis erstellt, in dem Sie beliebige Pakete installieren können.

Antwort4

Es gibt tatsächlich ein Werkzeug dafür, das ich heute gemacht habe
https://github.com/z3r0n3t/pkget Alles was Sie brauchen ist Zugriff auf Bash, kein Root ist erforderlich. Sie können whet verwenden, um es als Zip-Datei herunterzuladen, oder verwenden Sie git clone

verwandte Informationen