Benutzerlokales Paketverwaltungssystem

10

Ich muss Software als nicht privilegierter Benutzer in SuSE bereitstellen, verwalten und ausführen (dh kein Root-Zugriff, ich kann die Paketverwaltung des Systems usw. nicht verwenden).

Was sind meine Optionen?

Ich würde es vorziehen, den Paketmanager (YaST) des Systems wiederzuverwenden, indem ich irgendwie ein separates benutzerlokales Repository einrichte. Die zweitbeste Wahl ist ein separates Paketverwaltungssystem, das benutzerlokale Repositorys unterstützt. Vorzugsweise würde es auch Push-Style-Updates unterstützen (im Gegensatz zu Pull).

Alex B.
quelle
Kanonische Frage, nach der ich gesucht habe, die ich aber erst gefunden habe, nachdem ich ein Kopfgeld für diese Frage erhalten habe. - Nicht-Root-Paketmanager
Piotr Dobrogost
Ich denke, es gibt nicht viel darüber zu sagen, was gesagt wurde. Es gibt verschiedene mögliche Methoden für die Installation von Software als Nicht-Root-Benutzer, aber es gibt keine formalen Systeme, sodass es keine kanonische Antwort gibt. Obwohl es kann scheinen wie eine „sehr interessante und wichtige“ Frage, es ist wohl nur so zu der kleinen Minderheit von Nutzern , die einen erheblichen Bedarf für so etwas haben, was, die möglicherweise unter Berücksichtigung kolossale Menge an Arbeit und Kopfschmerzen beteiligt ist , hilft zu erklären , warum es ist nicht passiert.
Goldlöckchen

Antworten:

7

Nun, für Gentoo gibt es das Gentoo Prefix- Projekt, mit dem Sie Pakete an einem anderen Ort als / installieren können. Die Paketmanager-Portage von Gentoo ist in Python geschrieben und sehr portabel, sodass Sie problemlos einen neuen Baum für einen Benutzer einrichten können, auf den dieser Benutzer uneingeschränkten Zugriff hat, ohne etwas zu beschädigen.

Zwei Probleme sehe ich:

  1. Sie müssen wahrscheinlich eine Menge Dinge kompilieren oder Binärpakete für Ihre Benutzer auf diese Weise erstellen, und Sie müssen wahrscheinlich eine Menge Dinge zweimal installieren, damit das Präfix-Ding richtig funktioniert (ich denke, es wäre schwierig, Dinge zu erstellen gegen Sie bereits so installierte Pakete)

  2. Sie hätten keinen Push-Service.

Der andere Ansatz, den ich sehe, besteht darin, eine Reihe von tar.gz-Dateien anzubieten, bei denen es sich im Grunde nur um maßgeschneiderte Pakete aus Ihrer Distribution handelt, die gepatcht wurden, um ein anderes Präfix zu verwenden: Nehmen wir an, Sie erstellen in jedem Benutzerverzeichnis ein Verzeichnis "Library" und fügen "~" hinzu / Library / usr / bin "Für den Pfad jedes Benutzers kann ein einfacher Paketmanager erstellt werden, der sich um die Installation kümmert (Sie können sich auch den Pacman von Arch Linux ansehen, da es sich im Grunde nur um .tar.gz-Dateien und Abhängigkeiten handelt.

tante
quelle
1
Aber er benutzt Gentoo nicht, er ist auf SuSE. Wie hilft das?
ire_and_curses
Wie ire_and_curses sagte, ist dies für Gentoo, nicht für SuSE. Ich würde abstimmen, aber ich bin nur bei 123 Wiederholungen (es dauert 125, um abzustimmen ..)
JamesTheAwesomeDude
3
Das Gentoo-Präfix kann auch auf SUSE installiert werden.
Zjhui
3
Obwohl dies keine SuSE-spezifische Antwort ist, gibt es keine SuSE-spezifische Antwort. Daher könnte jemand, der unbedingt über ein Linux-System verfügen muss, das dies kann, daran interessiert sein, zu wissen, was tatsächlich verfügbar ist. "Alternativen" sind kaum irrelevant oder tangential, wenn sie tatsächlich die einzige Möglichkeit sind . + 1
Goldlöckchen
0

Verwenden Sie einen privilegierten Benutzermanager [lizenziert :(], und Sie können Befehle ausführen, die als normaler Benutzer Superbenutzerzugriff benötigen. Alles wird nachverfolgt und überwacht


quelle
2
Hallo! Kann jemand etwas näher darauf eingehen ...? Kann ein Benutzer normal mit Linux arbeiten (Pakete abrufen, installieren, kompilieren usw.) in einer eingeschränkten Netzwerkumgebung (dh ohne Zugriff auf lokale / Remote-Proxy-Einstellungen usw.)?
Nikos Alexandris
0

Sie können zypper family commandIhrem Benutzer alles in zulassen /etc/sudoers file.

Persischer Golf
quelle
Könnten Sie etwas genauer sein? Wie machen Sie das, welche Vorsichtsmaßnahmen müssen getroffen werden, welche Risiken?
vonbrand
zypperBefehl wie apt-get in debian oder yumin redhat-base distro. Sie können also: youruser ALL = NOPASSWD: /usr/sbin/zypperDann müssen Sie nicht über Root-Rechte und Ihr Passwort verfügen.
PersianGulf
Wenn Sie Befehle angeben, haben Sie kein Risiko.
PersianGulf
1
Klar, kein Risiko. Nicht dass ein zufälliger Benutzer, der Pakete installieren / entfernen kann, das System jemals königlich vermasseln könnte.
vonbrand
Nein, da das System selbst ein Schließsystem verwendet.
PersianGulf