it-swarm.dev

¿Cómo puedo instalar un paquete sin acceso root?

Tengo sin acceso de root en esta máquina.

Me gustaría saber si hay una forma en que ¿puedo descargar paquetes de Ubuntu e instalarlos como no root?

¿Probablemente en mi ~/bin o ~/usr/share o algo así? Funcionaría eso?

120
Weboide

Apt no lo admite directamente, pero hay formas de hacerlo.

Una es usar schroot para crear un chroot no root. Este es un poco proceso involucrado , pero uno debería poder encontrar ayuda de la comunidad para muchos desarrolladores que configuran entornos chroot para compilar código.

La segunda forma que conozco es instalar desde un paquete .deb. Puede descargar esto desde un sitio web o si está en los repositorios de Ubuntu puede descargarlo.

apt-get download package

Reemplace package con el nombre del paquete

Una vez que tenga su archivo deb, llame a dpkg directamente desde la línea de comando. El siguiente ejemplo instalará package.deb en su directorio de inicio.

dpkg -i package.deb --force-not-root --root=$HOME 

La desventaja de usar dpkg como este es que los mensajes de error probablemente sean crípticos; dpkg no resuelve automáticamente las dependencias ni crea la estructura de directorios que espera.

Finalmente, puede usar el comando apt-get source para obtener el origen del paquete y configurarlo para que se instale localmente. Por lo general, esto se parece a:

apt-get source package
cd package
./configure --prefix=$HOME
make
make install

La desventaja de este enfoque es que necesita el entorno de desarrollo disponible para que este enfoque funcione, y puede encontrarse compilando docenas de paquetes para resolver todas las dependencias.

EDITAR:

Como dpkg -i no funciona (ver comentarios), sugiero esta alternativa:

dpkg -x package.deb dir

Esto extraerá el paquete .deb al directorio. Luego puede exportar la RUTA donde está el binario. Siempre que todas las dependencias del binario estén instaladas, debería ejecutarse normalmente.

106
jbowtie

Supongo que desea instalar jedit . Primero tienes que encontrar el paquete y descargarlo. Solo tomo el archivo deb de algún espejo y abro una consola/terminal:

  1. mkdir /tmp/jedit && cd /tmp/jedit - Crea un nuevo directorio en tmp y cambia a él.
  2. wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb - Descargar paquete
  3. ar x jedit_4.3.1.dfsg-0ubuntu1_all.deb o, fácil de escribir, ar x *.deb - esto extrae el contenido del archivo
  4. tar xvzf data.tar.gz - el archivo data.tar.gz tiene todo lo que necesita para ejecutar el software
  5. usr/bin/jedit abre el editor
  6. hecho :-)

Puede mover los archivos a algún punto en su directorio de inicio y ejecutarlos desde allí.

16
qbi

Escribí un programa llamado JuJ que básicamente permite tener una distribución de Linux realmente pequeña (que contiene solo el administrador de paquetes) dentro de su directorio $ HOME/.juju.

Permite tener su sistema personalizado dentro del directorio de inicio accesible a través de proot y, por lo tanto, puede instalar cualquier paquete sin privilegios de root. Se ejecutará correctamente en todas las principales distribuciones de Linux, la única limitación es que JuJu puede ejecutarse en el kernel de Linux con la versión mínima recomendada 2.6.32.

Por ejemplo, después de instalar JuJu para instalar jedit:

$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit
9
user967489