12. Schijfgebruik
Theorie
Linux kent een groot aantal bestandssystemen, zoals minix, ext2, ext3, msdos,
vfat, iso9660, reiserfs, enz. Het standaardbestandssysteem voor Linux is
echter ext2, hoewel reiserfs en vooral ext3 sterk
in opmars zijn. We gaan in dit hoofdstuk uit van een ext2 systeem,
maar het verhaal geldt ook voor ext3.
Als een ext2-bestandssysteem aangemaakt wordt (de partitie of schijf
"geformatteerd" wordt, we komen hier in een volgend hoofdstuk op terug),
wordt de betreffende partitie of schijf verdeeld in blokken. Meestal zijn dat
blokken van 1kB (= 1024 bytes), maar andere waardes zijn ook mogelijk. Een
bestand dat opgeslagen wordt zal altijd minimaal één blok in
beslag nemen, zelfs al is het bestand 0 bytes groot. Een bestand van bv. 2145
bytes zal 3 blokken innemen (2 blokken van 1kB = 2048 bytes + 1 blok voor de
resterende 97 bytes).
Een ext2-bestandssysteem maakt ook gebruik van zgn. inodes
(inode is een afkorting voor index node).Een inode bevat de
naam, de toegangsrechten enz. van een bestand en een lijst van de blokken van
de partitie waarin het bestand is opgeslagen (deze blokken hoeven nl. niet
aaneensluitend op de schijf te liggen). Bij het "formatteren" wordt direct
het maximaal aantal inodes vastgelegd. Ieder bestand, dat opgeslagen wordt
gebruikt minimaal 1 inode, grote bestanden (omdat ze meer blokken nodig
hebben dan in één inode opgeslagen kan worden) meer.
Vrije ruimte
Als je dus wilt weten hoeveel ruimte je nog vrij hebt op de harde schijf of
partitie, moet je rekening houden met 2 zaken: met het aantal gebruikte
blokken en met het aantal gebruikte inodes.
De opdracht, die gebruikt wordt om de totale, de gebruikte en de vrije ruimte
van een schijf of partitie te weten te komen, is df. Als je er geen
argumenten aan toevoegt, zal df de totale, gebruikte en beschikbare
ruimte weergeven van alle gemounte bestandssytemen in 1kB-blokken.
Er zijn ook andere opties mogelijk (zoals bijna gebruikelijk bij
Linux-opdrachten...). De opties -h of --human-readable
geeft de gevonden waardes weer 1 wat makkelijker leesbare notitie. Probeer
maar eens uit. Je kunt df echter ook dwingen de getallen in
kilobytes (-k) of megabytes (-m) weer te geven.
Inodes
Met de voorgaande opties telt df het aantal gebruikte blokken van
een bestandssysteem. Het kent echter ook een optie om hetzelfde te doen met
de inodes van een bestandssysteem: df -i. Zo kan het gebeuren, dat
het met een "gewone" df lijkt of er nog wel wat ruimte op de schijf
of partitie over is, maar met df -i blijkt, dat je door het aantal
beschikbare inodes heen bent. Dit gebeurt vooral, als je veel kleine
bestanden opslaat: er zijn meestal minder inodes dan blokken beschikbaar.
Het omgekeerde kan echter ook: nog inodes genoeg, maar de ruimte in blokken
is op. Dit kan gebeuren als je vooral grote bestanden opslaat.
df kent nog meer opties, maar daar moet je de man- of info-pages
maar eens op naslaan.
Per directory
Je hoeft niet altijd te weten hoeveel ruimte er in totaal van een
bestandssysteem verbruikt is. Soms wil je weten, hoeveel een directory met de
daaronder zittende bestanden en sub-directories inneemt. Daarvoor bestaat de
Linux-opdracht du.
Stel, dat je wilt weten hoeveel ruimte gebruiker piet inneemt met zijn
home-directory. Dan geef je een du /home/piet en er komt een
waslijst aan tekst over je scherm rollen: alle bestanden en directories
worden genoemd met hun betreffende formaat in kilobytes, maar het onderaan
deze waslijst genoemde getal is de totale ruimte die gebruiker piet inneemt
in kilobytes.
Ook hier is natuurlijk een aantal opties mogelijk:
- -h of --human-readable maakt de uitdraai voor mensen
wat leesbaarder, door de waardes handig weer te geven in bytes, kB of Mb, al
naar de grootte van het betreffende bestand of de directory.
- -k of --kilobytes zorgt voor een weergave in (hoe
bestaat het...) kilobytes.
- -m of --megabytes doet hetzelfde, maar dan in MB.
En er bestaan er nog meer, maar daarvoor verwijzen we je weer naar de man- of
infopages.
Slot
De opdrachten df en du worden vooral door de
systeembeheerder (root of superuser) gebruikt om het gebruik van schijfruimte
te controleren. Er zijn nog andere mogelijkheden om het schijfgebruik te
beheren en beheersen, maar die zijn voor meer gevordere
Linux-systeembeheerders. Nieuwsgierig? Kijk dan maar eens naar de manpages
van quota...
De in dit hoofdstuk gebruikte opdrachten zijn:
| df |
 |
du |
Laatst herzien op 18-12-2006
|