No tengo acceso de root en esta máquina.
Me gustaría saber si hay una manera de descargar paquetes de Ubuntu e instalarlos como no root.
Probablemente en mi ~/bin
o ~/usr/share
o algo por el estilo? Funcionaría eso?
No tengo acceso de root en esta máquina.
Me gustaría saber si hay una manera de descargar paquetes de Ubuntu e instalarlos como no root.
Probablemente en mi ~/bin
o ~/usr/share
o algo por el estilo? Funcionaría eso?
Respuestas:
Apt no lo admite directamente, pero hay formas de hacerlo.
Una es usar schroot
para crear un chroot no root. Este es un proceso algo complicado , 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
Reemplazar package
con el nombre del paquete
Una vez que tenga su archivo deb llame 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 apt-get source
comando 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.
sudo apt-get build-dep package
para instalar todo lo necesario para construir un paquete (después de obtener su fuente apt-get source
).
--force-not-root --root=$HOME
o variaciones de los mismos no funcionarán. Los paquetes binarios de Debian no están diseñados para instalarse en el directorio de inicio, punto. O, para decirlo de otra manera,. "El siguiente ejemplo instalará package.deb en su directorio de inicio". No, no lo hará.
--force-not-root --root=/your/custom/path
Supongo que quieres instalar jedit . Primero tienes que encontrar el paquete y descargarlo. Solo tomo el archivo deb de algún espejo y abro una consola / terminal:
mkdir /tmp/jedit && cd /tmp/jedit
- Crea un nuevo directorio tmp
y cambia en él.wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb
- Descargar paquetear x jedit_4.3.1.dfsg-0ubuntu1_all.deb
o, fácil de escribir, ar x *.deb
esto extrae el contenido del archivotar xvzf data.tar.gz
- el archivo data.tar.gz
tiene todo lo que necesita para ejecutar el softwareusr/bin/jedit
abre el editorPuede mover los archivos a algún punto en su directorio de inicio y ejecutarlos desde allí.
Escribí un programa llamado JuJu 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 distribuciones principales de Linux, la única limitación es que JuJu puede ejecutarse en el núcleo 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