Instalar un paquete .deb en el directorio de inicio

31

¿Es posible instalar un .debpaquete completamente en mi directorio de inicio en debian?

libre_fácil
fuente
Puede crear un paquete de Deb que se instale en cualquier lugar. pero ¿Por qué querrías? Se supone que los paquetes deben instalarse en el sistema.
Faheem Mitha
55
@Faheem Mitha: no todos tenemos acceso de root a nuestros cuadros de Unix, ya sabes, ciertamente no sé dónde trabajo. Si necesitamos un paquete (RPM en mi caso) para usar alguna pieza de software, sería bueno si pudiéramos instalarlo en el espacio del usuario en lugar de tener que hablar con TI y hacer que instalen el paquete en el sistema por nosotros.
Mark Booth
@FaheemMitha Otra cosa es probar una nueva versión de un paquete. Si quiero que un paquete específico esté disponible solo para un usuario, no sigo instalándolo en todo el sistema.
Erathiel
@Erathiel Bueno, ese es realmente un caso de uso para una máquina virtual.
Faheem Mitha
@FaheemMitha Quizás o quizás no;) Mi caso de uso fue una máquina de desarrollo con varios usuarios que sirven como entornos de desarrollo. Necesitaba llevar un paquete a una nueva versión solo para un usuario específico, para poder probar cómo se comporta la nueva versión. Pero el servidor es una máquina virtual en sí misma, por lo que tiene razón en parte;)
Erathiel

Respuestas:

19

Depende de lo que quieras decir con "instalar". Es posible extraer el contenido del archivo de un archivo .deb usando dpkg-deb -x <filename.deb>, pero si realmente puede usar el software después de extraerlo localmente depende de cómo esté escrito. Una gran cantidad de software de Linux esperará encontrar sus archivos de recursos en ubicaciones estándar especificadas en tiempo de compilación, como /usr/shareo /usr/lib, lo que fallará si el software no está instalado en la ubicación habitual. Además, los archivos de configuración de todo el sistema instalados por el paquete, como los .desktoparchivos que crean entradas en el menú de inicio, no funcionarán según lo previsto si se instalan en la ubicación incorrecta.


fuente
3
debería serdpkg-deb -x app.deb /path/to/target/dir/
qed
o simplemente dpkg -x app.deb / path / to / target / dir /
Erik Aronesty
5

Gracias por todos sus comentarios y respuestas. Era un software autoempaquetado en el que me gustaría hacer algunas comprobaciones básicas si mi embalaje era correcto. Soy root en mi computadora, pero no me gustaría hacer una instalación real allí ni quiero usar una imagen virtual por el momento. Se me ocurrió esta solución: https://serverfault.com/questions/23734/is-there-any-way-to-get-apt-to-install-packages-to-my-home-directory Que funciona perfectamente para yo atm.

libre_fácil
fuente
55
@Ivogel pregunta "La página a la que se vinculó tiene muchas publicaciones, y no puedo decir cuál es la solución que funcionó para usted. ¿Podría especificarlo?"
drs
4

Tenga en cuenta que el uso del sistema de paquetes Debian requiere acceso de root. Por lo tanto, instalar un paquete deb en el directorio de inicio de un usuario requiere acceso de root. Si tiene acceso de root, entonces tiene más sentido simplemente instalarlo en el sistema normalmente.

Si no tiene acceso de root, no puede usar el sistema de empaquetado de Debian. Ciertamente, podría descomprimir un archivo deb en sus componentes y pegarlo en su directorio de inicio, pero hacerlo tendría poco sentido. Te sugiero que vayas con una instalación local. Dependiendo del software que esté instalando, el software puede tener algún tipo de sistema interno de administración de paquetes que puede usar.

Faheem Mitha
fuente
No sé si se agregó después de que se creó esta respuesta, pero dpkg tiene una opción --force-non-root que se puede usar para solucionar esto.
Bruce Adams el
@BruceAdams No veo esta opción listada en la página del manual. ¿Me puede proporcionar una referencia?
Faheem Mitha
Si ejecuta dpkg --help it menciona --force-thing. Si ejecuta dpkg --force-help, proporciona más detalles. Ver por ejemplo askubuntu.com/questions/193695/…
Bruce Adams el
@BruceAdams Ok, yo lo veo, pero no tengo ni idea de cómo funcionaría: not-root Try to (de)install things even when not root.
Faheem Mitha
Vea mi pregunta stackoverflow.com/questions/47099045/… Sin embargo, al momento de escribir esto todavía no tiene una respuesta. Así que tampoco tengo idea.
Bruce Adams