Obecnie standardem w systemach Linux jest to aby środowisko było potencjalnie gotowe do pracy tuż po instalacji i w tym względzie Linux Mint niewiele różni się od innych dystrybucji. Ilość rzeczy które dostajemy nadmiarowo wraz z systemem jest na tyle znaczna, że możemy zaoszczędzić nawet 1.5 GB przestrzeni dyskowej, która rosłaby też w miarę aktualizowania tych rzeczy. Oczyszczanie i odśmiecanie systemu potrafi samo w sobie przynieść sporo satysfakcji z doświadczania Linuksa, zaowocuje to także szybszymi aktualizacjami i sprawniejszym dostępem do plików czy aplikacji z których faktycznie korzystamy (mniej wpisów w menu itp.).

1. Usunięcie niepotrzebnych programów

Dobrą praktyką jest usunięcie pakietów i programów z których nie będziemy korzystać, zwłaszcza że da się tutaj znaleźć kilka takich tworów które potrafią się mocno i zupełnie niepotrzebnie rozpanoszyć w systemie. Przykładem może być wszędobylski Evolution do jakichśtam kalendarzy, Samba do współdzielenia katalogów z systemami Windows, Warpinator do pracy z urządzeniami mobilnymi, redshift przeszkadzający użytkownikowi w samodzielnym decydowaniu o o jasności ekranu, czy wreszcie słynna trójca Firefox, Thunderbird i Libreoffice. W tym ostatnim możemy potem zainstalować na czysto libreoffice-writer i libreoffice-calc, pozbędziemy się tym samym wielu niepotrzebnych rzeczy.

Zacznijmy od szybkiego przypomnienia poleceń dla APT

sudo apt-get remove [nazwa_paczki] → zwykłe usuwanie
sudo apt-get remove --purge [nazwa_paczki] → usuwanie wraz z plikami konfiguracyjnymi
sudo apt-get autoremove [nazwa_paczki] → usuwanie wraz zależnościami

sudo apt-get remove --purge evolution-data-server thunderbird* blueberry firefox* flatpak libreoffice-* redshift* rhythmbox* samba* espeak* sticky xul-ext-* warpinator

2. Redukcja odmian językowych dla interfejsu

Standardowo po instalacji w ustawieniach językowych Linux Mint znajdziemy całą serię odmian języka angielskiego (w tym obowiązkowo co najmniej kilka afrykańskich!). Skutek? Instalowania paczek językowych dla każdej z tych odmian. Te odmiany niepotrzebnie wydłużą czas instalacji/aktualizacji a także mogą niepotrzebnie zajmować przestrzeń dyskową, dlatego warto je ręcznie zaznaczyć i usunąć. Można zostawić tylko jeden wariant języka angielskiego np. United States lub United Kingdom.

Linux Mint - installed languages settings
Zarządzanie językami w Linux Mint ze środowiskiem Mate.

3. Usunięcie niepotrzebnych czcionek

Linux Mint jest dystrybucją wyjątkową pod względem odgórnego instalowania czcionek dla regionów z bliskiego i dalekiego wschodu, zwłaszcza czcionek dla języków indyjskich, pomimo iż wybraliśmy region Polski i polski język. Tych czcionek jest całkiem sporo i potrafią bardzo zaśmiecić listy dostępnych czcionek w edytorach czy interfejsach konfiguracyjnych. Na pocieszenie dodam: dziękować współtwórcom że zainstalowali tu jedynie garstkę spośród wszystkich języków używanych w indiach, czyli jakieś 1860 🙂

Czyszczenie czcionek zaczniemy od przejrzenia co właściwie nam zostało zainstalowane. Listę paczek filtrujemy o czcionki i wyciągamy tylko pierwszą kolumnę aby pozostawić czyste nazwy (do tego użyjemy awk). Następnie plik fonts.list przesiewamy ręcznie i zostawiamy tylko te które mają zostać przekazane do usunięcia.

dpkg -l | grep fonts-
dpkg -l | grep fonts- | awk '{print $2}'
dpkg -l | grep fonts- | awk '{print $2}' > fonts.list

Nie chcemy usuwać czcionek z których miałyby korzystać jakieś istniejące aplikacje, dlatego dla pewności i zweryfikowania zależności, możemy sprawdzić rekursywną listę odwrotnych zależności. Mamy tutaj 2 podobne polecenia 'apt-cache rdepends’ gdzie 'r’ oznacza reverse i apt-rdepends gdzie 'r’ oznacza recursive. Te polecenia mówię w osobnym artykule tutaj zamieszczone są tylko informacyjnie ponieważ przygotowałem już gotową listę czcionek możliwych do usunięcia zatem ni musisz robić tego od początku.

apt-cache rdepends --installed fonts-urw-base35
sudo apt-get install apt-rdepends
apt-rdepends --reverse -state=Installed fonts-urw-base35
apt-rdepends hplip | grep font

Listę orientalnych czcionek które możemy spokojnie usunąć zamieściłem w pliku oriental-fonts.list. Tak przygotowany plik możemy przekazać jako wsad przy poleceniu do usunięcia:

xargs sudo apt-get remove < oriental-fonts.list
sudo apt-get remove fonts-beng fonts-beng-extra fonts-deva fonts-deva-extra fonts-gargi fonts-gubbi fonts-gujr fonts-gujr-extra fonts-guru fonts-guru-extra fonts-indic fonts-kacst fonts-kacst-one fonts-kalapi fonts-khmeros-core fonts-knda fonts-lao fonts-lklug-sinhala fonts-lohit-beng-assamese fonts-lohit-beng-bengali fonts-lohit-deva fonts-lohit-gujr fonts-lohit-guru fonts-lohit-knda fonts-lohit-mlym fonts-lohit-orya fonts-lohit-taml fonts-lohit-taml-classical fonts-lohit-telu fonts-mlym fonts-nakula fonts-navilu fonts-orya fonts-orya-extra fonts-pagul fonts-sahadeva fonts-samyak-deva fonts-samyak-gujr fonts-samyak-mlym fonts-samyak-taml fonts-sarai fonts-sil-abyssinica fonts-sil-padauk fonts-smc fonts-smc-anjalioldlipi fonts-smc-chilanka fonts-smc-dyuthi fonts-smc-gayathri fonts-smc-karumbi fonts-smc-keraleeyam fonts-smc-manjari fonts-smc-meera fonts-smc-rachana fonts-smc-raghumalayalamsans fonts-smc-suruma fonts-smc-uroob fonts-taml fonts-telu fonts-telu-extra fonts-thai-tlwg fonts-tibetan-machine fonts-tlwg-garuda fonts-tlwg-garuda-ttf fonts-tlwg-kinnari fonts-tlwg-kinnari-ttf fonts-tlwg-laksaman fonts-tlwg-laksaman-ttf fonts-tlwg-loma fonts-tlwg-loma-ttf fonts-tlwg-mono fonts-tlwg-mono-ttf fonts-tlwg-norasi fonts-tlwg-norasi-ttf fonts-tlwg-purisa fonts-tlwg-purisa-ttf fonts-tlwg-sawasdee fonts-tlwg-sawasdee-ttf fonts-tlwg-typewriter fonts-tlwg-typewriter-ttf fonts-tlwg-typist fonts-tlwg-typist-ttf fonts-tlwg-typo fonts-tlwg-typo-ttf fonts-tlwg-umpush fonts-tlwg-umpush-ttf fonts-tlwg-waree fonts-tlwg-waree-ttf fonts-yrsa-rasa
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Odczyt informacji o stanie... Gotowe
Następujące pakiety zostaną USUNIĘTE:
  fonts-beng fonts-beng-extra fonts-deva fonts-deva-extra fonts-gargi fonts-gubbi fonts-gujr fonts-gujr-extra fonts-guru fonts-guru-extra fonts-indic fonts-kacst fonts-kacst-one fonts-kalapi fonts-khmeros-core fonts-knda fonts-lao
  fonts-lklug-sinhala fonts-lohit-beng-assamese fonts-lohit-beng-bengali fonts-lohit-deva fonts-lohit-gujr fonts-lohit-guru fonts-lohit-knda fonts-lohit-mlym fonts-lohit-orya fonts-lohit-taml fonts-lohit-taml-classical fonts-lohit-telu
  fonts-mlym fonts-nakula fonts-navilu fonts-orya fonts-orya-extra fonts-pagul fonts-sahadeva fonts-samyak-deva fonts-samyak-gujr fonts-samyak-mlym fonts-samyak-taml fonts-sarai fonts-sil-abyssinica fonts-sil-padauk fonts-smc
  fonts-smc-anjalioldlipi fonts-smc-chilanka fonts-smc-dyuthi fonts-smc-gayathri fonts-smc-karumbi fonts-smc-keraleeyam fonts-smc-manjari fonts-smc-meera fonts-smc-rachana fonts-smc-raghumalayalamsans fonts-smc-suruma fonts-smc-uroob
  fonts-taml fonts-telu fonts-telu-extra fonts-thai-tlwg fonts-tibetan-machine fonts-tlwg-garuda fonts-tlwg-garuda-ttf fonts-tlwg-kinnari fonts-tlwg-kinnari-ttf fonts-tlwg-laksaman fonts-tlwg-laksaman-ttf fonts-tlwg-loma
  fonts-tlwg-loma-ttf fonts-tlwg-mono fonts-tlwg-mono-ttf fonts-tlwg-norasi fonts-tlwg-norasi-ttf fonts-tlwg-purisa fonts-tlwg-purisa-ttf fonts-tlwg-sawasdee fonts-tlwg-sawasdee-ttf fonts-tlwg-typewriter fonts-tlwg-typewriter-ttf
  fonts-tlwg-typist fonts-tlwg-typist-ttf fonts-tlwg-typo fonts-tlwg-typo-ttf fonts-tlwg-umpush fonts-tlwg-umpush-ttf fonts-tlwg-waree fonts-tlwg-waree-ttf fonts-yrsa-rasa
0 aktualizowanych, 0 nowo instalowanych, 88 usuwanych i 252 nieaktualizowanych.
Po tej operacji zostanie zwolnione 33,5 MB miejsca na dysku.

4. Redukcja słowników językowych

Dziwnym zrządzeniem losu obecne dystrybucje Linux instalują całkiem sporą listę słowników i to pod różnymi postaciami. Jeśli nie będziemy z nich korzystać, można po prostu usunąć je z systemu. Powiedzmy że pozostawimy 2 z nich: wamerican i wpolish. grupy typu hyphen i mythes są używane w LibreOffice, grupy zaczynające się od litery „w” przez wbudowany w Linux Mint słownik (mate-dictionary wchodzącego w skład mate-utils).

sudo apt-get remove hunspell-de-at-frami hunspell-de-ch-frami hunspell-de-de-frami hunspell-en-au hunspell-en-ca hunspell-en-gb hunspell-en-us hunspell-en-za hunspell-es hunspell-fr hunspell-fr-classical hunspell-it hunspell-pl hunspell-pt-br hunspell-pt-pt hunspell-ru hyphen-de hyphen-en-ca hyphen-en-gb hyphen-en-us hyphen-fr hyphen-it hyphen-pl hyphen-pt-br hyphen-pt-pt hyphen-ru mythes-de mythes-de-ch mythes-en-au mythes-en-us mythes-fr mythes-it mythes-pl mythes-pt-pt mythes-ru wbrazilian wbritish wfrench witalian wngerman wogerman wportuguese wspanish wswiss
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Odczyt informacji o stanie... Gotowe
Pakiet "mythes-pl" nie jest zainstalowany, więc nie zostanie usunięty
Następujące pakiety zostaną USUNIĘTE:
  hunspell-de-at-frami hunspell-de-ch-frami hunspell-de-de-frami hunspell-en-au hunspell-en-ca hunspell-en-gb hunspell-en-us hunspell-en-za hunspell-es hunspell-fr hunspell-fr-classical hunspell-it hunspell-pl hunspell-pt-br
  hunspell-pt-pt hunspell-ru hyphen-de hyphen-en-ca hyphen-en-gb hyphen-en-us hyphen-fr hyphen-it hyphen-pl hyphen-pt-br hyphen-pt-pt hyphen-ru mythes-de mythes-de-ch mythes-en-au mythes-en-us mythes-fr mythes-it mythes-pt-pt mythes-ru
  wamerican wbrazilian wbritish wfrench witalian wngerman wogerman wpolish wportuguese wspanish wswiss
0 aktualizowanych, 0 nowo instalowanych, 45 usuwanych i 252 nieaktualizowanych.
Po tej operacji zostanie zwolnione 254 MB miejsca na dysku.

5. Usunięcie zbędnych tłumaczeń

Instalator Linux Mint zdaje się nie brać pod uwagę preferencji językowych użytkownika, instalując całą serię tłumaczeń. A nuż będziesz chciał po instalacji poczytać sobie dokumentację do dowolnego programu (np. do okienkowego kalkulatora sic) powiedzmy w języku kambodżańskim (KM) albo asamskim (AS)? Proszę bardzo, Twój nowy system od razu jest na to przygotowany 🙂

Do oczyszczenia systemu z niepotrzebnych plików tłumaczeń będziemy potrzebować 2 programów. Localepurge jest konsolowym narzędziem które właściwie uruchamia się tylko raz, przechowuje w konfiguracji informację jakie języki tłumaczeń chcemy zachować oraz opcjonalnie dodaje parametr do przyszłych poleceń dpkg dotyczących instalowania nowych pakietów aby pomijały niechciane tłumaczenia. Bleachbit jest graficznym programem do czyszczenia systemu, można go porównać do popularnego programu CCleaner z Windows.

sudo apt-get install localepurge bleachbit

q

Finał

Tym sposobem dotarliśmy do finału, na przykładzie czystej dystrybucji Linux Mint 20.3 ze środowiskiem XFCE udało się zredukować zajętość dysku przez partycję systemową do 5GB. Rezultat końcowy umieściłem w tabeli. Zmniejszenie zajętości RAM przez system jest wynikiem wyłączenia niepotrzebnych usług działających w tle i niepotrzebnych wpisów z autostartu:

świeżo po instalacji Linux Mint po oczyszczeniu
6.6GB zajętości dysku 5.0GB zajętości dysku
771MB wykorzystanej pamięci RAM prez system 655MB wykorzystanie pamięci RAM
2009 zainstalowanych paczek 1870 zainstalowanych paczek
Linux Mint XFCE after cleanup
Linux Mint XFCE po oczyszczeniu