Sistema de gestión de paquetes local para el usuario

10

Necesito implementar, administrar y ejecutar software como un usuario no privilegiado en SuSE (es decir, sin acceso a la raíz, no puedo usar la administración de paquetes del sistema, etc.).

¿Cuáles son mis opciones?

Prefiero reutilizar el administrador de paquetes del sistema (YaST) configurando de alguna manera un repositorio local de usuario separado. La segunda mejor opción es un sistema de administración de paquetes separado que admita repositorios locales de usuario. Preferiblemente también admitiría actualizaciones de estilo push (en lugar de pull).

Alex B
fuente
Pregunta canónica que estaba buscando pero que no encontré hasta después de comenzar una recompensa por esta. - Gerentes de paquetes no raíz
Piotr Dobrogost
Creo que no hay mucho que decir al respecto más allá de lo que se ha dicho. Existen varias metodologías posibles para instalar software como usuario no root, pero no hay sistemas formales, por lo que no hay una respuesta canónica. Si bien puede parecer una pregunta "muy interesante e importante", probablemente solo sea así para la pequeña minoría de usuarios que tienen una gran necesidad de tal cosa, lo que, teniendo en cuenta la cantidad potencialmente colosal de trabajo y el dolor de cabeza involucrado, ayuda a explicar por qué No ha sucedido.
Ricitos de Oro

Respuestas:

7

Bueno, para Gentoo existe el proyecto Gentoo Prefix que le permite instalar paquetes en un lugar diferente a /. El portage del administrador de paquetes de Gentoo está escrito en Python y es muy portátil para que pueda configurar fácilmente un nuevo árbol para un usuario al que ese usuario tenga acceso completo sin romper nada.

Dos problemas que veo:

  1. Probablemente tendrá que compilar muchas cosas o crear paquetes binarios para sus usuarios de esa manera y probablemente tendrá que instalar muchas cosas dos veces para que el prefijo funcione correctamente (creo que sería difícil construir cosas contra usted ya instaló paquetes de esa manera)

  2. No tendrías un servicio push.

El otro enfoque que veo sería ofrecer un puñado de archivos tar.gz que son básicamente paquetes personalizados de su distribución parcheada para usar un prefijo diferente: Digamos que crea un directorio "Biblioteca" en cada directorio de usuario y agrega "~ / Library / usr / bin "a la ruta de cada usuario, un simple administrador de paquetes podría prepararse para encargarse de las instalaciones (también puede consultar el pacman de Arch Linux para eso, ya que básicamente son solo archivos .tar.gz y dependencias.

tante
fuente
1
Pero no está usando Gentoo, está en SuSE. Entonces, ¿cómo ayuda esto?
ire_and_curses
Como dijo ire_and_curses, esto es para Gentoo, no para SuSE. Votaría a favor, pero solo tengo 123 repeticiones (se necesitan 125 para votar a favor ...)
JamesTheAwesomeDude
3
El prefijo Gentoo también se puede instalar en SUSE.
zjhui
3
Si bien esta no es una respuesta específica de SuSE, no hay una respuesta específica de SuSE , por lo que alguien que debe tener un sistema Linux que pueda hacer esto podría estar interesado en saber qué hay realmente disponible. Las "alternativas" son apenas irrelevantes o tangenciales si son, de hecho, la única posibilidad . + 1
Ricitos de Oro
0

Utilice un administrador de usuarios privilegiado [con licencia :(] y podría ejecutar comandos que necesitan acceso de superusuario como usuario normal. Todo se rastrea y audita


fuente
2
¡Hola! ¿Alguien puede dar más detalles sobre eso ...? ¿Puede un usuario trabajar normalmente con Linux (obtener paquetes, instalar, compilar, etc.) en un entorno de red restringido (es decir, sin tener acceso para jugar con la configuración de proxy local / remoto, etc.)?
Nikos Alexandris
0

Puede permitir todo zypper family commanda su usuario /etc/sudoers file.

Golfo pérsico
fuente
¿Podrías ser un poco más preciso? ¿Cómo se hace eso, qué precauciones hay que tomar, algún riesgo?
vonbrand
zyppercomandos como apt-get en debian o yumen redhat-base distro. Para que pueda: youruser ALL = NOPASSWD: /usr/sbin/zypperentonces no necesita privilegios de root y su contraseña.
PersianGulf
Cuando especifica comandos, no tiene ningún riesgo.
PersianGulf
1
Claro, no hay riesgo. No es que ningún usuario aleatorio que pueda instalar / eliminar paquetes pueda estropear el sistema de verdad.
vonbrand
no, porque el sistema en sí usa un sistema de bloqueo.
PersianGulf