Det sker at man trænger til at rydde op på disken, fx fordi man er ved at løbe tør for plads. Nogle gange ved man med det samme hvad der fylder, men andre gange skal der lidt analyse til. I denne lille artikel vil jeg derfor se på hvad man gøre for at finde frem til det som fylder op i systemet.
Allerførst, hvor meget plads er der tilbage? Her kan man bruge kommandoen df:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 942M 394M 501M 44% /
tmpfs 7,9G 0 7,9G 0% /lib/init/rw
udev 10M 104K 9,9M 2% /dev
tmpfs 7,9G 0 7,9G 0% /dev/shm
/dev/sda10 370G 199G 153G 57% /data
/dev/sda9 9,2G 150M 8,6G 2% /home
/dev/sda8 4,6G 463M 3,9G 11% /tmp
/dev/sda5 9,2G 1,9G 6,9G 21% /usr
/dev/sda7 9,2G 5,1G 3,7G 58% /va
Ovenstående viser hvor meget plads der er brugt hhv. tilbage på de forskellige partitioner (eller rettere, filsystemer) og hvor de er monteret.
-h (eller --human-readable) sørger for at vise tallene i læsbare enheder, fx 153G i stedet for 160415628.
Men hvordan er pladsforbruget fordelt? Her kan man bruge kommandoen du der viser diskforbruget i den aktuelle mappe og nedefter. Problemet er dog at den som standard viser det hele i en pærevælling der ikke giver meget overblik, så man kan med fordel viser det samlede pladsforbrug på mappeniveau i stedet. Hvis man så kører det igennem en sort fås en fin oversigt:
du -h --max-depth=0 */ .[^.]*/ | sort -rh
24G VirtualBox VMs/
11G Downloads/
5,1G .local/
2,8G Www/
2,7G .mozilla/
1,3G Programmering/
884M .android/
...
...
Nu er det tydeligt hvad der tager pladsen.
I ældre distroer (fx Debian Lenny) mangler -h optionen til sort som gør at den kan finde ud af at sortere de ovennævnte læsbare enheder korrekt. Her må man så ty til et længere alternativ:
du --max-depth=0 -k * | sort -nr | cut -f2 | xargs -d '\n' du -sh
I begge tilfælde kan man passende lave et alias som jeg kalder duh (du human readable):
For nyere distroer:
alias duh='du -h --max-depth=0 */ .[^.]*/ | sort -rh'
For ældre distroer:
alias duh='du --max-depth=0 -k * | sort -nr | cut -f2 | xargs -d '\''\n'\'' du -sh'
Aliaset kan sættes ind i ~/.bashrc så det altid er til rådighed. I hvert fald på Debian-systemer, det kan være anderledes i andre distroer.
Hvis der er brug for en dybere analyse, kan man have stor glæde af det lille perl-program dispus som viser pladsforbruget interaktivt.
Outputtet minder om duh, men ved at trykke på de viste taster + Enter, kravler programmet ned i den pågældende mappe og viser det herfra gældende pladsforbrug:
./dispus .
dispus v2.7 - Reading usage in /home/marlar
1. 24,597,824 KB VirtualBox VMs
2. 11,149,016 KB Downloads
3. 5,298,364 KB .local
4. 2,886,628 KB Www
5. 2,825,320 KB .mozilla
6. 1,344,556 KB Programmering
7. 904,212 KB .android
1
dispus v2.7 - Reading usage in /home/marlar/VirtualBox VMs
1. 20,328,824 KB XP
2. 4,268,996 KB Linux
1
dispus v2.7 - Reading usage in /home/marlar/VirtualBox VMs/XP
1. 20,328,436 KB Snapshots
2. 276 KB Logs
48 KB XP.vbox-prev
48 KB XP.vbox
12 KB XP.vbox.bak
Man kan gå et niveau op i dispus ved at indtaste .. og derefter Enter.
Endelig findes der naturligvis også grafiske værktøjer, fx Baobab der viser forbruget i et smart interaktivt ringdiagram. Ved at klikke på de enkelte ringe, fås en yderligere analyse af forbruget i den pågældende mappe:
Som regel foretrækker jeg dog kommandoværktøjerne, men det er jo en smagssag.
13-10-2007
Fin lille oversigt.
Mere af det og mindre ævl og kævl.
Øh, ups, det var vist OT.
20-02-2005
Filelight er et andet grafisk værktøj til formålet.
20-02-2010
Der er også Baobab. Jeg foretrækker dog Filelight, da det giver et bedre overblik.
20-02-2005
Baobab er allerede nævnt i artiklen ;-)