Installieren von Software unter Linux ohne Root-Rechte

8

An meinem Arbeitsplatz habe ich ein reguläres Benutzerkonto auf RedHat- und Suse-Maschinen. Ich habe keine Root-Rechte.

Wie kann ich Software installieren, die ich aus dem Internet herunterlade (aus Quellen oder Binärdateien)?

Zum Beispiel möchte ich jetzt die Geany IDE für meinen eigenen Gebrauch installieren. Ich habe versucht, Quellen herunterzuladen und zu kompilieren, und ich habe versucht, das RPM zu installieren, aber keines davon funktioniert, da es das Root-Verzeichnis erfordert.

Igor Oks
quelle
2
Benötigen Sie root aufgrund von Zielberechtigungen (haben keinen Zugriff auf / etc, / bin, / sbin usw.) oder weil rpm / gcc eingeschränkte Berechtigungen hat?
Simurr

Antworten:

12

Sie können Software in Ihrem eigenen Home-Verzeichnis installieren. Wenn Sie mit dem Kompilieren aus dem Quellcode vertraut sind und das Paket automake verwendet, können Sie beim Konfigurieren die folgende Option verwenden:

--prefix=$HOME/install

oder Wasauchimmer. In ähnlicher Weise hat rpm auch eine Präfixoption. Dies funktioniert jedoch nur, wenn die Drehzahl wurde gebaut relocatable zu sein.

Scott Pack
quelle
9

Ich verwende JuJu, das im Grunde erlaubt, eine wirklich winzige Linux-Distribution (die nur den Paketmanager enthält) in Ihrem $ HOME / .juju-Verzeichnis zu haben.

Sie können Ihr benutzerdefiniertes System im Home-Verzeichnis über proot zugänglich machen und daher alle Pakete ohne Root-Rechte installieren. Es läuft ordnungsgemäß auf allen wichtigen Linux-Distributionen. Die einzige Einschränkung besteht darin, dass JuJu auf einem Linux-Kernel mit der empfohlenen Mindestversion 2.6.32 ausgeführt werden kann.

Geben Sie beispielsweise nach der Installation von JuJu zur Installation von pip Folgendes ein:

$>juju -f
(juju)$> pacman -S python-pip
(juju)> pip
user967489
quelle
6

Meistens können Sie PREFIX übergeben, um die Installation in Ihrem Home-Verzeichnis zu konfigurieren:

./configure --prefix=/home/ioks/bin

Dies könnte die Berechtigungsprobleme umgehen.

Kyle Brandt
quelle
4

Hier ist ein sehr schönes Dokument, das die Verwendung von RPM ohne Rootberechtigung erklärt:

"Ihnen wurde gesagt, dass für die Arbeit mit RPMs Systemadministratorrechte erforderlich sind? Sie wurden in die Irre geführt."

http://www.nordugrid.org/documents/rpm_for_everybody.html

Jean Jordaan
quelle
3

Wenn Sie es an der Standardposition (/ usr / bin usw.) installieren möchten, lautet die kurze Antwort, dass dies nicht der Fall ist, es sei denn, der Systemadministrator richtet etwas Besonderes ein, damit Sie dies tun können.

Wenn Sie aus dem Quellcode kompilieren, verfügen die meisten Pakete über die Option --prefix, mit der Sie ein nicht standardmäßiges Installationsziel festlegen können. Auf diese Weise können Sie Inhalte in Ihrem Home-Verzeichnis installieren, einschließlich Bibliotheken, die Sie für andere Softwarepakete verwenden können.

jj33
quelle
1

Hmmm. Nicht, dass dies wahrscheinlich etwas ist, was ein Benutzer tun könnte, aber ich frage mich, ob es sinnvoll sein könnte, dass pro Benutzer "Overlay" -Dateisysteme (union-fs usw.) vorhanden sind, die die "Standard" -Systeminstallationsverzeichnisse überlagern und dies zulassen Nichtprivilegierte Benutzer können Software an den "normalen" Orten installieren.

Sie können auch ein globales union-fs-Dateisystem verwenden, um vom Administrator installierte nicht standardmäßige SW-Dateien (die auf vielen Systemen häufig in / usr / local / * enthalten sind) von Verteilungspaketen zu trennen. (Vielleicht auch, um Updates zu trennen und sogar ein "Rollback" ala XP System Restore zu ermöglichen).

Hmmm

jesup
quelle
1

Ich habe das gleiche Problem wie du. Ich habe es noch nicht ausprobiert, aber es scheint, dass Linuxbrew in dieser Angelegenheit nützlich sein kann.

JPCF
quelle