¿Hay una mejor manera de instalar solo las dependencias requeridas de un paquete, en lugar de instalarlo directamente con apt-get (o cualquier otra interfaz de dpkg) y luego eliminarlo inmediatamente, dejando de lado sus dependencias?
fuente
¿Hay una mejor manera de instalar solo las dependencias requeridas de un paquete, en lugar de instalarlo directamente con apt-get (o cualquier otra interfaz de dpkg) y luego eliminarlo inmediatamente, dejando de lado sus dependencias?
apt-cache depends pkgname
mostrará las dependencias de un paquete.
Si lo quieres todo en un solo comando, podrías hacerlo peor que:
apt-get install `apt-cache depends pkgname | awk '/Depends:/{print$2}'`
apt-get proporciona un comando para exactamente eso ...
apt-get build-dep <package name>
De las páginas de manual que obtienes
build-dep hace que apt-get instale / elimine paquetes en un intento de satisfacer las dependencias de compilación para un paquete fuente. Por defecto, las dependencias se satisfacen para compilar el paquete de forma nativa. Si se desea, se puede especificar una arquitectura de host con la opción --host-architecture.
build dependencies
ydependencies
? Como en el caso, si normalmente instala un programa, obtiene dependencias que realmente necesita para ejecutarse, y con las dependencias de compilación, pienso más en bibliotecas, compiladores, cosas así. Entonces, como no estoy seguro (esta respuesta tiene votos a favor), pero me parece que no es trivial que obtener dependencias de compilación sea lo mismo que obtener las dependencias (ejecutar) que tienen los paquetes.aptitude le permitirá especificar una consulta en lugar de un nombre de paquete al instalar. Si desea instalar las dependencias del paquete nombrado
foo
, puede instalar los paquetes que tienen una dependencia inversa enfoo
:o
El problema con la instalación de un paquete y luego su eliminación, es que todos los paquetes que se instalan como dependencias se marcarán como "instalados automáticamente", y se eliminarán por cualquier acción de instalación / eliminación / actualización por aptitude o cuando se ejecute a
apt-get autoclean
menos que márquelos como instalados manualmente usandoaptitude mark
o elapt-mark
comando.Sin embargo, esto plantea la pregunta de por qué querrías hacer esto, mi mejor suposición es que estás tratando de instalar dependencias para algún software que vas a compilar a mano. En ese caso, primero instalaría las dependencias de compilación
apt-get build-dep packagename
, pero luego debería crear un paquete ficticio que tenga las dependencias de tiempo de ejecución (que generalmente difieren de las dependencias de compilación) al usar elequiv
paquete para construir un paquete ficticio con las dependencias correctas para su programa compilado manualmente. Ver información sobreequivs
en el APT HOWTOfuente
En caso de construir pkgname desde las fuentes
fuente