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.


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.


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

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.



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.


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


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.