Як можна змусити apt оптимізувати дерево залежності для мінімального розміру завантаження?


10

Довідкова інформація :

Як ви можете знати, в пакеті Debian можуть бути альтернативні залежності, записані у файлі CONTROL як Depends: apache2|something-else, наприклад. Як aptвибрати, які залежності вибрати, і як я можу це змінити, щоб зменшити розмір завантаження?

У деяких місцях я перебуваю на повільному зв’язку, і мені потрібно, щоб використовувати найменший загальний розмір завантаження. Як я можу змусити це зробити це?

Редагувати: Я не прошу пропустити рекомендації.

Редагувати 2: Я не запитую про пропуск залежностей. Я намагаюся здобути всі залежності, саме в найменшому загальному розмірі, особливо помічаючи і глибоко обходячи package1|package2вибір.

Правка 3: grepСценарій оболонки чи іншим способом прийнятний.

На жаль, оскільки нинішні відповіді насправді не відповідають на питання, вони не можуть дійсно отримати винагороду. Це все ще є хтось, хто бажає написати баш сценарій!

Редагування 4: Хоча щедрості було присвоєно гарну відповідь, на яку я закликаю вас відмовитись, я все ж шукаю більш конкретної відповіді . Якщо він також елегантно поводиться з віртуальними пакунками, наданими одним або декількома пакунками, то, можливо , я надам ще одну винагороду за фактом, щоб присвоїти цю відповідь .

Відповіді:


3

Ви завжди можете мати підходящий список усіх залежностей, тоді вручну ви могли б встановити пакунки, які ви хотіли б встановити, але я шукав чоловічі сторінки та кілька форумів, але я не міг відповісти на ваше точне запитання, окрім того, як переписати джерело на apt ось як відкривається працює в будь-якому випадку.


Це може допомогти, але мені знадобиться щось більш конкретне, ніж це. Спробуйте деталізувати свою публікацію з більш детальною інформацією або сценарієм оболонки, поки ви перебуваєте на ній, і ласкаво просимо до Ask Ubuntu !.
нанофарад

1
@ ObsessiveSSOℲ Чесно кажучи, у мене немає часу, але якщо ви хочете виконати це, то ця команда: VAR = $ (apt-кеш-шоу gedit | grep "Size" | grep -Ev 'I' | sed 's / Size: // g ') отримає вам розмір пакету, який ви можете використовувати для порівняння зі значеннями масиву, заповненого за допомогою цієї команди. Вибачте, що не міг допомогти більше.
Девід

Якщо нічого кращого не виходить, ти справді переможець цієї щедрості.
нанофарад

@ ObsessiveSSOℲ, чи можете ви навести приклад пакету з різними залежностями
Девід

Щось таке просте wordpress, що передбачає apache2|httpd. Також зауважте, що httpdце віртуальний пакет. Я також дам вам нагороду. Я все ще не прийму.
нанофарад

1

Наскільки мені відомо, немає можливості цього оптимізувати. Більшість речей вже сильно стиснуті, тому ви не завантажуєте майже весь розмір файлу. (Наступного разу, коли ви встановлюєте пакет, погляньте на різницю між кількістю завантажуваних даних та загальним обсягом жорсткого диска, який потрібно споживати.)

Якщо ви знаєте, чим займаєтесь (наприклад, ви вже встановили foo, але це говорить про те, що вам потрібно перевстановити його), і хочете залишити всі залежності, коли встановлюєте файл, додайте прапор --no-install-recommends.
Деякі відповіді на це питання пояснюють, як встановити конкретні пакети без залежностей. Вони висвітлювали це дещо глибше, ніж я, тож якщо ви все ще маєте проблеми або моя відповідь не вирішила вашу проблему, я рекомендую поглянути на цю тему.


-2

Я думаю, ви заплутаєтесь, як працюють залежності. Якщо щось залежить - то за визначенням це потрібно. Я гадаю, що ви могли б зробити, щоб точно дізнатися, які файли залежать від програми, яке ви хочете використовувати ..., і видаліть усе, що не викликає. Але це здається великою роботою на кілька мегабайт ..

Ви, здається, просите автомобіль, який все одно буде їздити, не вистачаючи 4-го колеса (скажімо, заднє-ліве, заради цієї метафори), щоб заощадити на вазі. У якийсь момент вам потрібно буде повернути праворуч. Автомобіль все ще буде котитися, але лише з певною функціональністю ... не встановлюючи «Рекомендований», я думаю, ви їдете максимально безпечно, не маючи необхідності заглибитись у розробку.


6
Ви справді не зрозуміли питання. Він знає залежності. Але ви повинні знати, що може бути два пакети, що задовольняють однакові залежності. в цьому випадку він хотів меншого розміру
Анвар

ІМО прикро, що ці відповіді мають зазнати протистояння. Вони хороші відповіді, і я сподіваюся, що ніхто не відлякував. Просто переконайтесь, що ви відповіли на запитання.
нанофарад

@ як ти для роз'яснення та інформування. :) (Я не заперечую проти голосів.)
knope

Я вас не скликав спочатку, просто пояснив це. але тепер я дав, тому що відповідь не стосувався питання @ ObsessiveSSOℲ говорив у своєму запитанні
Anwar
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.