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.


    apt-get clean

- 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): 107MiB

2. 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: 88MiB

4. 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