¿Cómo puedo forzar a apt para optimizar el árbol de dependencias para un tamaño de descarga mínimo?


10

Alguna información de fondo :

Como ya sabrás, en un paquete Debian, puede haber dependencias alternativas, escritas en el archivo CONTROL como Depends: apache2|something-else, por ejemplo. ¿Cómo aptselecciona qué dependencias elegir y cómo puedo anular esto para minimizar el tamaño de descarga?

Tengo una conexión lenta en algunas ubicaciones y necesito que use el tamaño de descarga total más pequeño. ¿Cómo puedo forzarlo a hacerlo?

Editar: no estoy preguntando por omitir recomienda.

Edición 2: no estoy preguntando sobre saltear dependencias. Estoy tratando de obtener todas las dependencias, solo en el tamaño total más pequeño, especialmente observando y atravesando package1|package2opciones profundamente .

Edición 3: A grepo de otra manera el script de shell es aceptable.

Desafortunadamente, dado que las respuestas actuales no responden realmente la pregunta, realmente no pueden obtener la recompensa. ¡Todavía está disponible para alguien dispuesto a escribir un script bash!

Edición 4: Aunque la recompensa se ha otorgado a una buena respuesta que les animo a votar, todavía estoy buscando una respuesta más concreta . Si también maneja elegantemente paquetes virtuales proporcionados por uno o más paquetes, entonces posiblemente le daré otra recompensa después de los hechos para otorgar esa respuesta .

Respuestas:


3

Siempre podría tener una lista de todas las dependencias y luego a mano, podría instalar los paquetes que preferiría instalar, pero busqué en páginas de manual y en varios foros, pero no pude responder a su pregunta exacta más que reescribir la fuente para que así sea como código abierto funciona de todos modos


Esto puede ayudar, pero necesitaré algo más específico que eso. Intente desarrollar su publicación con más detalles, o un script de shell mientras lo hace, ¡y bienvenido a Ask Ubuntu !.
nanofarad

1
@ ObsessiveSSOℲ Honestamente, no tengo tiempo, sin embargo, si desea hacerlo, entonces este comando: VAR = $ (apt-cache show gedit | grep "Size" | grep -Ev 'I' | sed 's / Size: // g ') obtendrá el tamaño del paquete que puede usar para comparar valores en una matriz poblada con este comando. Lo siento, no pude ayudar más.
David

Si no pasa nada mejor, eres verdaderamente el ganador de esta recompensa.
nanofarad

@ ObsessiveSSOℲ podría dar un ejemplo de un paquete con dependencias alternativas
David

Algo tan simple como lo wordpressque implica apache2|httpd. También tenga en cuenta que httpdes un paquete virtual. También te daré la recompensa. Sin embargo, no voy a aceptar todavía.
nanofarad

1

Que yo sepa, no hay forma de optimizar eso. La mayoría de las cosas ya están muy comprimidas, por lo que no descargas casi todo el tamaño del archivo. (La próxima vez que instale un paquete, observe la diferencia entre la cantidad de datos que se descargarán y el espacio total del disco duro que se consumirá).

Si sabe lo que está haciendo (por ejemplo, ya lo instaló foo, pero dice que necesita reinstalarlo) y desea dejar todas las dependencias desactivadas cuando instala un archivo, agregue el indicador --no-install-recommends.
Algunas de las respuestas a esta pregunta explican cómo instalar paquetes específicos sin las dependencias. Lo cubrieron un poco más profundo que yo, así que si todavía tienes problemas o mi respuesta no resolvió tu problema, te recomiendo que eches un vistazo a ese hilo.


-2

Creo que estás confundiendo cómo funcionan las dependencias. Si algo es dependiente, entonces, por definición, es necesario. Supongo que lo que podría hacer es averiguar exactamente qué archivos de la dependencia que está usando la aplicación que desea usar ... y eliminar todo lo que no llama ... pero eso parece mucho trabajo por unos pocos megabytes ...

Parece que está pidiendo un automóvil que aún conduzca sin una cuarta rueda (digamos 'atrás-izquierda', por el bien de esta metáfora), para ahorrar peso. En algún momento tendrá que girar a la derecha. El automóvil seguirá rodando, pero solo con cierta funcionalidad ... al no instalar el 'Recomendado', creo que irá lo más liviano posible sin tener que profundizar en el desarrollo.


66
Realmente no entendiste la pregunta. Él conoce las dependencias. Pero debe saber que puede haber dos paquetes que satisfagan la misma dependencia. en ese caso, él quería el de menor tamaño
Anwar

En mi opinión, es lamentable que estas respuestas tengan que sufrir votos negativos. Son buenas respuestas, y espero que nadie se haya desanimado. Solo asegúrate de responder la pregunta.
nanofarad

@asty para aclarar e informar. :) (no me importan los votos
negativos

No te rechacé primero, solo expliqué el asunto. pero ahora, he dado, porque la respuesta no abordó el problema @ ObsessiveSSOℲ habló en su pregunta
Anwar
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.