Przeskocz do treści

Przytyło nam się na zimę czyli jak odchudzić Linuksa

Odkąd zacząłem przygodę z programowaniem więcej pracuję z Linuksem. Na razie dzielę pół na pół z Windowsem w związku z pracą ale już wiem, że docelowo będzie to Linuks. Pomijając słodzenie okazało się że podział dysku na pół przy moich zabawach z Dockerem albo ostatnio z Vargantem okazało się że pojawił się komunikat o małej ilości miejsca na dysku. Czas przystąpić do czyszczenia i ten artykuł ma na celu ustalenia ścieżki postępowania oraz poznania i utrwalenia narzędzi do czyszczenia.

Zacznijmy od pierwszego polecenia aby sprawdzić ilość zajętości miejsca na dysku:

df

polecenie to pokaże nam wolne miejsce na dysku, widać od lewej strony: urządzenie | ilość miejsca | ilość zajętego miejsca | ilość miejsca wolnego | zajętość w procentach | punkt montowania

możemy jeszcze użyć przełączników: -h który pozwala wyświetlać w bardziej przystępny sposób informacje o zajętości oraz -T który pokaże rodzaj systemu plików. Po wydaniu polecenia:

df -T -h

  Widać teraz że na dysku /dev/sda7, który ma 29 GB miejsca zostało wolne 393 MB ale co jest jeszcze istotne wiemy, że dysk ma rodzaj systemu ext4.

Teraz warto sprawdzić co zajmuje nam najwięcej miejsca (gdzie się ukrył tłuszczyk), w tym pomoże nam polecenie:

du -sh *

parametry oznaczają, że -s (summarize) podlicza ilość miejsca zajmowanego przez folder a -h (human readable format) wynik wyświetlany w sposób przystępny dla człowieka. Kolejna uwaga, ważne aby polecenie wydać w folderze gdzie chcemy sprawdzić ilość zajętego miejsca. Poniżej wynik z poziomu root "/" - tutaj trzeba pamiętać aby wydać polecenie z uprawnieniami administratora (sudo).

Najwięcej miejsca w moim przypadku zajmuje /home więc do niego będę się musiał dobrać ale czego nie widać mam jeszcze kilka folderów którym muszę się przyjrzeć, np. folder /var.

Niestety aby zbadać folder /var nie posłużymy się du -sh bo pokaże nam sumę /var a po drugie jest tam dużo plików i folderów (to taki trash). Skorzystajmy z polecenia które pozwoli nam wyświetlić to co nas interesuje:

du -a /var | sort -nr | head -n 10

co my tu mamy? du już znamy, przełącznik -a oznacza all czyli wszystko a /var że folder /var mam nadzieję że "|" to już każdy wie czym jest, dalej wykonuje się polecenie sort czyli sortowanie wyniku gdzie parametr n określa sortowanie liczb a r określa sortowanie odwrotne czyli od najwyższej. Polecenie head wyświetla nam dziesięć linii.

Jeszcze bardziej precyzyjnie możemy wyświetlić zajętość naszych folderów korzystając z mojego ulubionego "regexpa" 🙂 i możemy skorzystać dla całego dysku z takiego polecenia (albo ciągu poleceń):

du -xh / |grep '^\S*[0-9\.]\+G'|sort -rn

Pamiętajmy o sudo przy tym poleceniu. Instrukcja grep służy właśnie do budowania RegExp'ów.

No to teraz wiemy co gdzie i ile miejsca nam zajmuje, przejdźmy teraz do czyszczenia a szczególnie do wyszukania największych plików.

find / -printf '%s %p\n'| sort -nr | head -10

Przeszukujemy root'a czyli ponownie sudo, find to nic innego jak szukaj :), -printf pozwala nam ustalić sposób wyświetlania wyniku i tak %s pokazuje rozmiar pliku w bajtach oraz nazwę pliku %p. Resztę znamy. Możemy w jeszcze bardziej czytelny sposób wyświetlić wynik wyszukiwania albo go zawęzić:

find / -xdev -type f -size +100M -exec ls -la {} \; | sort -nk 5

co teraz robimy, find i "/" już znamy, przełącznik -xdev powoduje, że przeszukujemy tylko ten system plików, -type f oznacz że tylko pliki, -size +100M rozmiar plików tylko powyżej 100 MB, -exec ls -la {} \; to wykonanie polecenia ls z wyświetleniem długiego formatu (możemy sprawdzić kto jest właścicielem pliku i daty utworzenia), zadaniem sort'u jest teraz wyświetlenie największych plików na samej górze listy.

Jak już wiemy jakie pliki zajmują najwięcej miejsca to musimy podjąć decyzję co dalej, czy kasujemy czy zwiększamy partycję, może coś odinstalować?

 

1 myśl na “Przytyło nam się na zimę czyli jak odchudzić Linuksa

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.