Jak zmusić apt do optymalizacji drzewa zależności pod kątem minimalnego rozmiaru pobierania?


10

Niektóre informacje podstawowe :

Jak zapewne wiesz, w pakiecie Debian mogą występować alternatywne zależności, zapisane Depends: apache2|something-elsena przykład w pliku CONTROL . W jaki sposób aptwybrać, które zależności wybrać i jak mogę to zmienić, aby zminimalizować rozmiar pobieranych plików?

W niektórych lokalizacjach mam wolne połączenie i potrzebuję najmniejszego całkowitego rozmiaru pliku do pobrania. Jak mogę to do tego zmusić?

Edycja: Nie pytam o pominięcie rekomendacji.

Edycja 2: Nie pytam o pomijanie zależności. Staram się uzyskać wszystkie zależności, w najmniejszym całkowitym rozmiarze, szczególnie zauważając i głęboko przemierzając package1|package2wybory.

Edycja 3: grepDopuszczalny jest skrypt powłoki lub inny skrypt powłoki.

Niestety, ponieważ obecne odpowiedzi tak naprawdę nie odpowiadają na pytanie, tak naprawdę nie mogą dostać nagrody. Nadal jest dostępny dla kogoś, kto chce napisać skrypt bash!

Edycja 4: Chociaż nagrodę przyznano za dobrą odpowiedź, którą zachęcam do głosowania, wciąż szukam bardziej konkretnej odpowiedzi . Jeśli również elegancko obsługuje pakiety wirtualne dostarczane przez jeden lub więcej pakietów, prawdopodobnie dam kolejną nagrodę po fakcie, aby przyznać tę odpowiedź .

Odpowiedzi:


3

Zawsze możesz mieć apt z listą wszystkich zależności, a następnie ręcznie możesz zainstalować pakiety, które wolisz zainstalować, ale przeszukałem strony podręcznika i kilka forów, ale nie mogłem odpowiedzieć na twoje pytanie inne niż przepisanie źródła na apt, czyli w ten sposób opensource i tak działa.


To może pomóc, ale potrzebuję czegoś bardziej konkretnego. Spróbuj rozwinąć swój post z dalszymi szczegółami lub skryptem powłoki, gdy jesteś w tym miejscu, i zapraszamy do Ask Ubuntu !.
nanofarad

1
@ ObsessiveSSOℲ Szczerze mówiąc nie mam czasu, jednak jeśli chcesz to zrobić, to polecenie: VAR = $ (apt-cache show gedit | grep "Size" | grep -Ev 'I' | sed 's / Size: // g ') otrzyma rozmiar pakietu, którego możesz użyć do porównania z wartościami w tablicy zapełnionej za pomocą tego polecenia. Przepraszam, że nie mogłem pomóc.
David

Jeśli nic lepszego nie przychodzi, to naprawdę jesteś zwycięzcą tej nagrody.
nanofarad

@ ObsessiveSSOℲ czy możesz podać przykład pakietu z zależnościami alt
David

Coś tak prostego wordpress, co obejmuje apache2|httpd. Pamiętaj też, że httpdjest to pakiet wirtualny. Dam ci również nagrodę. Jednak jeszcze nie zaakceptuję.
nanofarad

1

O ile mi wiadomo, nie ma sposobu, aby to zoptymalizować. Większość rzeczy jest już mocno skompresowana, więc nie pobierasz prawie całego rozmiaru pliku. (Przy następnej instalacji pakietu spójrz na różnicę między ilością danych do pobrania a całkowitą ilością miejsca na dysku twardym do wykorzystania).

Jeśli wiesz, co robisz (np. Już zainstalowałeś foo, ale mówi, że musisz go ponownie zainstalować) i chcesz zostawić wszystkie zależności wyłączone podczas instalowania pliku, dodaj flagę --no-install-recommends.
Niektóre odpowiedzi na to pytanie wyjaśniają, w jaki sposób instalować określone pakiety bez zależności. Objęli go nieco głębiej niż ja, więc jeśli nadal masz problemy lub moja odpowiedź nie rozwiązała twojego problemu, polecam przyjrzeć się temu wątkowi.


-2

Myślę, że mylisz sposób działania zależności. Jeśli coś jest zależne - to z definicji jest potrzebne. Przypuszczam, że możesz dowiedzieć się dokładnie, które pliki z zależności, której używa żądana aplikacja ... i usunąć wszystko, czego nie wywołuje ... ale to wydaje się dużo pracy dla kilku megabajtów ...

Wygląda na to, że prosisz o samochód, który nadal będzie jeździł bez czwartego koła (powiedzmy „tylne lewe”, ze względu na tę metaforę), aby zaoszczędzić na wadze. W pewnym momencie będziesz musiał skręcić w prawo. Samochód nadal będzie się toczył, ale tylko z pewną funkcjonalnością ... nie instalując „Zalecanego” myślę, że idziesz tak lekki, jak to tylko możliwe, bez konieczności zagłębiania się w rozwój.


6
Naprawdę nie zrozumiałeś pytania. Zna zależności. Ale powinieneś wiedzieć, że mogą istnieć dwa pakiety spełniające tę samą zależność. w takim razie chciał mieć mniejszy rozmiar
Anwar,

IMO to niefortunne, że te odpowiedzi muszą być negatywnie oceniane. To dobre odpowiedzi i mam nadzieję, że nikt się nie zniechęcił. Upewnij się, że odpowiedziałeś na pytanie.
nanofarad

@ służy jako źródło wyjaśnień i informacji. :) (nie mam nic przeciwko niższym głosom.)
knope

Najpierw cię nie głosowałem, po prostu wyjaśniłem sprawę. ale teraz dałem, ponieważ odpowiedź nie rozwiązała problemu @ ObsessiveSSOℲ mówił w swoim pytaniu
Anwar
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.