¿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?
¿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?
Respuestas:
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.
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 en foo
:
aptitude install '?reverse-depends(foo)'
o
aptitude install '~Rfoo'
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 usando aptitude mark
o el apt-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 el equiv
paquete para construir un paquete ficticio con las dependencias correctas para su programa compilado manualmente. Ver información sobre equivs
en el APT HOWTO
En caso de construir pkgname desde las fuentes
apt-get build-dep pkgname
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.