Estoy en el proceso de crear un CD en vivo y, para reducir el tamaño de la imagen del CD, necesito prescindir de algunos paquetes. De forma predeterminada, los paquetes recomendados están instalados y al apagar ese interruptor, el CD pasa de estar lleno de basura que no necesito (¿por qué necesitaría el diseñador QT4 porque estoy empaquetando un programa Python QT?) a apenas utilizable.
Lo ideal sería alguna herramienta que tome una lista de paquetes como entrada y rastree su gráfico de dependencia, siguiendosoloenlaces "depende", pero imprimiendo los enlaces "recomendados" que encuentra, mostrándome efectivamente el "nivel superior" de los paquetes recomendados que se instalarían en función de los paquetes que ingresé a la herramienta. Esto me ayudaría a decidir cuál de esos paquetes debo incluir y luego puedo volver a ejecutar la herramienta en ese conjunto de paquetes hasta que no necesite más.
Otras herramientas como apt-cache depends
eliminarán todo, y si busco "Recomendado", esto me mostrará paquetes que los paquetes recomendados también recomiendan, lo cual no quiero.
Por ejemplo, si:
- A depende de B,
- B recomienda C,
- C depende de D, y
- D recomienda E.
Si le pregunto a esta herramienta hipotética sobre el paquete A, entonces me gustaría que me diera solo el paquete C como resultado; no quisiera que se incluyera E, ya que ni siquiera sé si quiero C todavía.
¿Existe alguna herramienta de este tipo o existe una forma algo sencilla de lograr esto con las herramientas existentes?
Respuesta1
Creo que la apt-rdepends
herramienta es exactamente lo que quieres. Instale el paquete a través de apt-get, luego ejecute esto (sustituyendo su paquete "A" por el paquete "apt" que estoy usando en el ejemplo):
apt-rdepends --follow=Depends --show=Recommends apt 2>/dev/null | grep Recommends
Recommends: gnupg
Recommends: libc6-i686
Recommends: gnupg-curl
Recommends: libldap-2.4-2 (>= 2.4.7)
Si lo omite, grep
también verá los paquetes que tienen el enlace "Recomendado". Es bastante sencillo y coincide exactamente con sus requisitos, con un posible problema: no puede saber apt-rdepends
cuándo detenerse, es decir, seguirá enlaces "dependientes" hasta un nivel de recursividad arbitrario.
Lea la página de manual para obtener más información sobre las opciones de la línea de comandos. Es una herramienta realmente interesante, ¡incluso puedes hacer búsquedas inversas!