Kilka prostych sposobów na odchudzenie systemu bazowego debiana
Ostatnia zmiana: 2013-11-26 18:43
Założenia
Likwidacja zbędnych pakietów w systemie. Utrzymanie pakietów zgodnie z zależnościami.
Podstawowe zadania
- wyczyścić cache pakietów. Zainstalowane pakiety deb zalegają na dysku, niepotrzebnie zajmując miejsce.
- usunąć zbędne locale i międzynarodowe strony man. Jeżeli nie korzystamy z wielu języków w systemie, można usunąć wszystkie tłumaczenia programów za wyjątkiem języka polskiego (pl i pl_PL - o ile oczywiście chcemy system "gadający" po polsku).
apt-get install localepurge
i wybrać tylko pl i pl_PL
- usunąć pakiety man/info/dokumentację. Jeżeli nie korzystamy ze stron man (bo np mamy stały dostęp do internetu i można w każdej chwili wygooglować interesujący nas podręcznik)
apt-get --purge remove mandb manpages info
rm -rf /usr/share/doc
rm -rf /usr/share/man
- usunąć zbędne pakiety: najprościej przejrzeć listę pakietów (dpkg -l) a następnie odinstalować programy których nie używamy (np. moduły perla czy pythona, biblioteki dev, kompilatory (!), kilka pakietów vi itd)
- usunąć zbędne biblioteki. Uruchamiając deborphan można usunąć pakiety które są zbędne w systemie i nie zależą od nich inne pakiety (np biblioteki). Można też uruchomić z parametrem -a i sprawdzić co jeszcze można usunąć z systemu.
apt-get install deborphan
- zastąpić "duże" programy mniejszymi odpowiednikami. Np, jeżeli nie używamy większości funkcji exim'a to być może warto zainstalować masqmail'a. Zamiast bind'a - dnsmasq itp.
- usunąć stare kernele. Jeżeli mamy zainstalowanych kilka wersji jądra a używamy tylko jednej, należy je usunąć, gdyż wraz z modułami niepotrzebne zajmują miejsce
- skompilować własny kernel. Dystrybucyjny jest raczej "uniwersalny" i ma skompilowane dużo modułów do urządzeń których nie mamy i być może nie będziemy mieli. Dlatego też warto skompilować kernel ściśle dostosowany do własnych potrzeb.
Podsumowanie
apt-get install localepurge deborphan
apt-get clean
rm -rf /usr/share/doc
rm -rf /usr/share/man
deborphan -a -- do sprawdzenia co można jeszcze usunąć
apt-get --purge remove `deborphan` -- kilka razy aż lista będzie pusta lub wykonać polecenie orphaner
Przykład
1. Instalujemy system bazowy debiana etch
mkdir -p etch_fs
debootstrap etch etch_fs
chroot etch_fs apt-get clean
Zajmowane miejsce (sprawdzane przez
du -h):
107MiB2. Oczyszczamy wstępnie system ze zbędnych locali i stron man
chroot etch_fs apt-get install localepurge
chroot etch_fs apt-get install deborphan (osobno, bo teraz zostaną usunięte wszystkie niepotrzebne locale)
chroot etch_fs apt-get clean
Zajmowane miejsce: 98MiB
3. Usuwamy zbędne pakiety (dpkg -l, deborphan -a, orphaner -a)
chroot etch_fs apt-get --purge remove exim4* fdutils manpages ed tasksel at ipchains info nano base-config man-db libgdbm3
Zajmowane miejsce:
88MiB4. Usuwamy biblioteki, od których nie zależą inne pakiety
chroot etch_fs apt-get --purge remove `deborphan`
(... kilka razy... lub)
chroot etch_fs orphaner
5. Dodatkowo: Usunięcie man/doc
rm -rf etch_fs/usr/share/doc
rm -rf etch_fs/usr/share/man
Zajmowane miejsce: 77MiB
6. Dodatkowo: można też usunąć listy dostępnych pakietów (/var/lib/apt/lists/*), jednakże przed instalacją jakiegokolwiek pakietu trzeba będzie wykonać odświeżyć listę poprzez wykonanie polecenia apt-get update.
rm -f etch_fs/var/lib/apt/lists/*
Zajmowane miejsce: 65MiB