52 votos

¿Instalación de paquetes en el directorio local?

Me gustaría instalar los paquetes de software, similar a apt-get install <foo> pero:

  1. Sin sudo, y
  2. En un directorio local

El propósito de este ejercicio es aislar independiente se basa en mi continuo de integración de servidor.

No me importa compilar desde el código fuente, si eso es lo que se necesita, pero obviamente prefiero el enfoque más simple posible. He intentado apt-get source --compile <foo> como se ha mencionado aquí , pero no puedo hacer que funcione con paquetes como autoconf. Me sale el siguiente error:

dpkg-checkbuilddeps: Unmet build dependencies: help2man

Tengo help2man compilado en un directorio local, pero no sé cómo informar a apt-get de que. Alguna idea?

ACTUALIZACIÓN: he encontrado una respuesta que casi funciona en http://askubuntu.com/a/350/23678. El problema con chroot es que requiere el uso de sudo. El problema con apt-get source es que no sé cómo resolver las dependencias. Debo decir, chroot se ve muy atractivo. Hay un comando equivalente que no requiere sudo?

23voto

January Puntos 15924

Este es, en general, no se puede hacer, porque sería un lío con el apt dependencias del sistema.

Hay dos soluciones:

  1. Instale el paquete de origen, el cambio en el directorio de origen, configurar e instalar el paquete, independientemente de los sistemas de envasado manualmente a un directorio de su elección.

    apt-get source <package>
    

    Este no necesita root, descarga el paquete de la fuente, se descomprime en un directorio dentro del directorio actual. A continuación, puede cambiar a ese directorio, hacer modificaciones a la fuente, configurar la instalación a otro de destino, etc.

    La configuración para que el directorio de instalación de los programas debe ir depende, sin embargo, en el programa en particular. Muchos programas utilizan la ./configure --prefix localdir a la meta de la instalación a localdir; pero este es por lejos no es siempre el caso.

  2. Crear un entorno chroot en el que instalar los paquetes:

    debootstrap precise myfancyinstall
    

    Ahora ha creado un muñeco de instalación en el myfancyinstall/ directorio

    chroot myfancyinstall
    

    Puede utilizar apt-get install dentro de la jaula chroot para instalar lo que quieras.

15voto

user172681 Puntos 23

utilizando un shell bash, y adquirir el "paquete.deb" archivo (suponiendo que el nombre del paquete es "paquete") puede ejecutar el siguiente comando para lograr lo que se desea instalar el paquete de forma que su directorio de inicio es tratado de la misma manera "/" se tratará de una instalación normal.

Este es el comando:

apt-get download package; dpkg -i --force-not-root --root=$HOME package.deb

Usted podría enfrentar algunos errores, tales como $HOME/var/lib/dpkg/lock falta tan sólo tienes que crear todos los archivos que faltan obtendrá a partir de los errores y, a continuación, la instalación debe funcionar sin el uso de sudo.

observe que si el "apt-get" descarga no funciona, puede intentar "apt" descargar " o "apitutde paquete de descarga".

si ninguno de los métodos de trabajo, usted puede descargar el paquete de forma manual desde http://packages.ubuntu.com/

otro método sería ejecutar el comando chroot con el parámetro $HOME y, a continuación, instalar el mismo caso que el anterior, sólo que sin --root=$HOME. ese comando lo podría llevar en una shell donde "/" es su actual $HOME. para volver al modo normal no te olvides de "la salida"

la buena suerte.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: