Kryzysowa instalacja pakietów
Niegdyś zasoby naszych komputerów wymuszały ścisłą reglamentację niektórych składników, jak choćby przestrzeń dyskowa. Dlatego niektórzy dla partycji / wyznaczali ściśle określone rama – akurat tyle, ile było niezbędne do funkcjonowania systemu. Wszystko po to, aby pozostała przestrzeń dysku umiejscowiona pod /home mogła zostać radośnie rzucona na pożarcie przez gigabajty arcyważnych plików muzycznych i video, o których obecnie nie pamiętamy, a nawet nie rozumiemy, dlaczego były arcyważne. Tak czy owak – niektórzy z nas po tych czasach młodzieńczej fantazji odziedziczyli skromniutkie jak na obecne czasy partycje / o pojemności, powiedzmy 5 – 6 GB. A gdy złączymy to z faktem, iż nie zawsze jesteśmy w stanie wykonać kopię wszystkich danych z dysku, tak by przepartycjonować go według obecnych norm, to nic dziwnego, że w pewnych momentach główna partycja systemowa mówi ‘STOP’. Zakup większego dysku jest oczywiście jakimś rozwiązaniem, ale można inaczej…
Wszyscy dobrze wiedzą o tym, że partycja systemowa zapełnia się, między innymi, przy instalowaniu przez nas przeróżnych programów. Instalacja z repozytoriów jest wygodna, szybka lecz niekiedy niepohamowana w zapewnianiu komfortu użytkownikowi. Oprócz wskazanej przez nas aplikacji, instaluje się czasem sporo pakietów ‘rekomendowanych’, które czasem wnoszą coś w jakość użytkowania programu, a czasem nie. I tu ujawnia się pole do oszczędności i manewru dla osób radzących sobie ze starosłowiańską metodą instalacji paczek za pomocą ‘apt-get‘.
Otóż wystarczy potraktować ‘apt-get‘ parametrem ‘–no-install-recommends‘, by pominął instalację rekomendowanych dodatków. Czy to coś daje?
# apt-get install macrofusion Czytanie list pakietów... Gotowe Budowanie drzewa zależności Odczyt informacji o stanie... Gotowe Zostaną zainstalowane następujące dodatkowe pakiety: enblend enfuse freeglut3 hugin hugin-data hugin-tools libboost-filesystem1.46.1 libboost-python1.46.1 libboost-regex1.46.1 libboost-signals1.46.1 libboost-system1.46.1 libboost-thread1.46.1 libglew1.5 libpano13-2 libpano13-bin libplot2c2 libzthread-2.3-2 python-pyexiv2 python-pyexiv2-doc Sugerowane pakiety: autopano-sift-c autopano-sift python3 glew-utils1.5 Zostaną zainstalowane następujące NOWE pakiety: enblend enfuse freeglut3 hugin hugin-data hugin-tools libboost-filesystem1.46.1 libboost-python1.46.1 libboost-regex1.46.1 libboost-signals1.46.1 libboost-system1.46.1 libboost-thread1.46.1 libglew1.5 libpano13-2 libpano13-bin libplot2c2 libzthread-2.3-2 macrofusion python-pyexiv2 python-pyexiv2-doc 0 aktualizowanych, 20 nowo instalowanych, 0 usuwanych i 45 nieaktualizowanych. Konieczne pobranie 22,1 MB archiwów. Po tej operacji zostanie dodatkowo użyte 62,7 MB miejsca na dysku
Natomiast z ‘–no-install-recommends’:
# apt-get install macrofusion --no-install-recommends Czytanie list pakietów... Gotowe Budowanie drzewa zależności Odczyt informacji o stanie... Gotowe Zostaną zainstalowane następujące dodatkowe pakiety: enfuse libboost-filesystem1.46.1 libboost-python1.46.1 libboost-system1.46.1 python-pyexiv2 Sugerowane pakiety: python3 Polecane pakiety: hugin python-pyexiv2-doc Zostaną zainstalowane następujące NOWE pakiety: enfuse libboost-filesystem1.46.1 libboost-python1.46.1 libboost-system1.46.1 macrofusion python-pyexiv2 0 aktualizowanych, 6 nowo instalowanych, 0 usuwanych i 45 nieaktualizowanych. Konieczne pobranie 3406 kB archiwów. Po tej operacji zostanie dodatkowo użyte 8980 kB miejsca na dysku
Jak słusznie większości się zdaje, 62MB to o wiele więcej zajętego dysku, niż 8MB.
A jeżeli zmiana podoba się nam na tyle, że postanowiliśmy za każdym razem używać parametru ‘–no-install-recommends’, wystarczy umiejscowić w pliku /etc/apt/apt.conf następujące treści (za pomocą poniższego polecenia):
echo -e 'APT::Install-Recommends "0";\nAPT::Install-Suggests "0";' | sudo tee /etc/apt/apt.conf
* powyższy program Macrofusion jest dostępny dopiero po dodaniu repozytorium Highly Explosive (ppa:dhor/myway)
Można jeszcze bardziej “zaoszczędzić” dodając następujące wpisy:
APT::Install-Recommends "false";
APT::Install-Suggests "false";
APT::AutoRemove::RecommendsImportant "false";
APT::AutoRemove::SuggestsImportant "false";
Po dodaniu wpisów wykonanie:
apt-get update && apt-get dist-upgrade
zaowocuje deinstalacją wszystkich wcześniej zainstalowanych pakietów rekomendowanych i sugerowanych.
Świetne uzupełnienie 🙂 Tylko trzeba napomknąć, że usuwanie pakietów rekomendowanych i sugerowanych dla niektórych programów może je mocno ograniczyć w funkcjonalności – trzeba to robić z głową.
do tego jeszcze paczka localepurge