Système de gestion de paquets utilisateur-local

10

J'ai besoin de déployer, gérer et exécuter des logiciels en tant qu'utilisateur non privilégié dans SuSE (c'est-à-dire, aucun accès root quel qu'il soit, ne peut pas utiliser la gestion des packages du système, etc.).

Quelles sont mes options?

Je préférerais réutiliser le gestionnaire de packages du système (YaST) en configurant en quelque sorte un référentiel utilisateur-local distinct. Le deuxième meilleur choix est un système de gestion de packages distinct qui prend en charge les référentiels utilisateur-local. De préférence, il prendrait également en charge les mises à jour de style push (par opposition à pull).

Alex B
la source
Question canonique que je cherchais mais que je n'ai trouvée qu'après avoir commencé une prime sur celui-ci. - Non-Root Package Managers
Piotr Dobrogost
Je pense qu'il n'y a pas grand-chose à dire à ce sujet au-delà de ce qui a été dit. Il existe différentes méthodologies possibles pour installer un logiciel en tant qu'utilisateur non root, mais il n'y a pas de système formel, il n'y a donc pas de réponse canonique. Bien que cela puisse sembler être une question "très intéressante et importante", ce n'est probablement le cas que pour la petite minorité d'utilisateurs qui ont un besoin sérieux d'une telle chose, ce qui, compte tenu de la quantité potentiellement colossale de travail et de maux de tête impliqués, aide à expliquer pourquoi cela ne s'est pas produit.
goldilocks

Réponses:

7

Eh bien pour Gentoo, il y a le projet Gentoo Prefix qui vous permet d'installer des packages dans un endroit différent de /. Le portage du gestionnaire de paquets de Gentoo est écrit en Python et très portable afin que vous puissiez facilement configurer une nouvelle arborescence pour un utilisateur auquel cet utilisateur a un accès complet sans rien casser.

Deux problèmes que je vois:

  1. Vous devrez probablement compiler beaucoup de choses ou créer des packages binaires pour vos utilisateurs de cette façon et vous devrez probablement installer beaucoup de choses deux fois pour que le préfixe fonctionne correctement (je pense qu'il serait difficile de construire des choses contre vous les packages déjà installés de cette façon)

  2. Vous n'auriez pas de service push.

L'autre approche que je vois serait d'offrir un punch de fichiers tar.gz qui sont fondamentalement juste des packages personnalisés de votre distribution corrigés pour utiliser un préfixe différent: Disons que vous créez un répertoire "Library" dans chaque répertoire utilisateur et ajoutez "~ / Library / usr / bin "vers le chemin de chaque utilisateur, un simple gestionnaire de paquets pourrait être créé pour prendre en charge les installations (vous pouvez également consulter le pacman d'Arch Linux pour cela car il s'agit essentiellement de fichiers .tar.gz et de dépendances.

tante
la source
1
Mais il n'utilise pas Gentoo, il est sur SuSE. Alors, comment cela aide-t-il?
ire_and_curses
Comme l'a dit ire_and_curses, c'est pour Gentoo, pas pour SuSE. Je voudrais downvote, mais je ne suis qu'à 123 rep (il faut 125 pour downvote ..)
JamesTheAwesomeDude
3
Le préfixe Gentoo peut également être installé sur SUSE.
zjhui
3
Bien que ce ne soit pas une réponse spécifique à SuSE, il n'y a pas de réponse spécifique à SuSE , donc quelqu'un qui doit absolument avoir un système Linux qui peut le faire pourrait être intéressé à savoir ce qui est réellement disponible. Les "alternatives" sont à peine hors de propos ou tangentielles si elles sont, en fait, la seule possibilité . + 1
goldilocks
0

Utilisez un gestionnaire d'utilisateurs privilégié [sous licence :(] et vous pouvez exécuter des commandes qui nécessitent un accès superutilisateur en tant qu'utilisateur normal. Tout est suivi et audité


la source
2
Salut! Quelqu'un peut-il élaborer un peu plus là-dessus ...? Un utilisateur peut-il travailler normalement avec Linux (obtenir des packages, installer, compiler, etc.) dans un environnement réseau restreint (c'est-à-dire sans avoir accès à jouer avec les paramètres de proxy local / distant, etc.)?
Nikos Alexandris
0

Vous pouvez tout autoriser zypper family commandà votre utilisateur dans /etc/sudoers file.

Golfe Persique
la source
Pourriez-vous être un peu plus précis? Comment faites-vous cela, quelles précautions doivent être prises, quels risques?
vonbrand
zyppercomme apt-get dans debian ou yumdans la distribution redhat-base. Vous pouvez donc youruser ALL = NOPASSWD: /usr/sbin/zypper:, vous n'avez alors pas besoin de privilèges root et de votre mot de passe.
PersianGulf
Lorsque vous spécifiez des commandes, vous n'avez aucun risque.
PersianGulf
1
Bien sûr, aucun risque. Ce n'est pas qu'un utilisateur aléatoire qui peut installer / supprimer des packages puisse jamais visser le système royalement.
vonbrand
non, car le système lui-même utilise un système de verrouillage.
Golfe Persique