software-installation – ¿Cómo puedo instalar un paquete sin acceso de root?

Pregunta:

No tengo acceso de root en esta máquina.

Me gustaría saber si hay alguna manera de descargar paquetes de Ubuntu e instalarlos como no root.

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

Respuesta:

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

Una es usar schroot para crear un chroot que no sea root. Este es un proceso algo complicado , pero debería poder encontrar ayuda comunitaria para muchos desarrolladores que configuran entornos chroot para compilar código.

La segunda forma que conozco es instalar desde un paquete .deb. Es posible que pueda descargarlo desde un sitio web o si está en los repositorios de Ubuntu con los que puede descargarlo.

apt-get download package

Reemplazar 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 personal.

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

La desventaja de usar dpkg de esta manera es que es probable que los mensajes de error sean crípticos; dpkg no resuelve automáticamente las dependencias ni crea la estructura de directorio que espera.

Finalmente, puede usar el comando apt-get source para buscar el código fuente 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 es posible que se encuentre 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 a dir. Luego puede exportar la RUTA donde está el binario. Siempre que estén instaladas todas las dependencias del binario, debería ejecutarse con normalidad.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım