next up previous contents index
Volgende: 5.6 Bootdisk Omhoog: 5 Installatie Vorige: 5.4 Distributies   Inhoudsopgave   Index

5.5 Partities en bestandssystemen

Omdat men het handig vond om de harde schijf in meerdere stukken te kunnen opsplitsen, zijn partities verzonnen. Een partitie is een stuk van je harde schijf. Er zijn verschillende redenen te bedenken waarom je partities zou willen gebruiken. Je kunt het bijvoorbeeld handig vinden om verschillende data op verschillende stukken te plaatsen. Als je verschillende besturingssystemen, zoals Windows en Linux, naast elkaar wilt kunnen gebruiken, dan kan dat zelfs niet anders dan door beide op andere partities te zetten. (Ok, dat kan wel, maar laten we het even niet al te ingewikkeld maken.) Meerdere besturingssystemen gebruiken heet dual booten.

Onder DOS en Windows hebben alle partitie (die hij herkent) een andere letter. Wat je niet zomaar kunt zien is of D nou echt een andere harde schijf is of slechts een partitie van dezelfde harde schijf. Veel biossen laten tijdens het opstarten zien welke harde schijven in de machine zitten. Is er slechts 1 harde schijf aanwezig en er bestaan C en D (waar D geen CD-ROM-speler is), dan moeten C en D wel partities zijn van dezelfde harde schijf.

Een veel gemaakte denkfout is: ''ik heb veel ruimte over op C, dus daar kan ik Linux wel op installeren''. Die vrije ruimte is ruimte op de partitie waar Windows op geïnstalleerd staat. Die ruimte is niet beschikbaar om Linux-partities aan te gaan maken! Je moet er op een of andere manier voor zorgen dat er echt ruimte vrijkomt op de harde schijf, dat de grote partitie voor Windows dus niet meer schijfvullend is.

Partitioneren of herpartitioneren kan op verschillende manieren.

  1. Je gebruikt fdisk. Daarbij gaat wel alle data op de partities die je gaat veranderen verloren. Natuurlijk doet dit niet ter zake als je net een nieuwe harde schijf hebt. En als je een goede backup hebt van alles, dan kun je die naderhand weer terugzetten. Bij een aantal distributies kun je fdisk van Linux ook tijdens de installatie gebruiken. Fdisk van Linux is veiliger dan die van DOS, omdat wat je verandert pas werkelijk wordt uitgevoerd als je dat opgeeft en niet direct. En de Linuxversie kent veel meer verschillende bestandssystemen.
  2. Je gebruikt fips. Fips is bij veel distributies te vinden. Je kunt er een bestaande Windows- of DOS-partitie mee verkleinen. Voordat je fips gaat gebruiken, moet je je Windows-partitie defragmenteren. De data van de partitie die je gaat verkleinen zal wel behouden blijven. Ze waarschuwen wel dat je beter een backup kunt maken, maar het is bij mij nog nooit fout gegaan.
  3. Je gebruikt een speciaal programma waarmee je de partities op eenvoudige wijze en zonder gegevensverlies kunt veranderen. Voorbeelden van zulke programma's zijn PowerQuest Partition Magic en Partition it!. Het is niet nodig om met zulke programma's alvast (een) Linux-partitie(s) aan te maken. Dat kan allemaal ook prima tijdens te installatie van de distributie zolang er maar vrije ruimte aanwezig is. Beide programma's zijn alleen voor Windows/DOS beschikbaar en je moet er wel voor betalen om er legaal aan te komen.
  4. Een zeer aardig partitioneerprogramma onder Linux is GNU parted (http://www.gnu.org/software/parted/). Die kun je natuurlijk nog niet gebruiken als je Linux nog niet geïnstalleerd hebt, maar het is een goed programma om te installeren nadat je dat hebt gedaan. Hij kan partities met het ext2, swap of FAT16/32 filesystem net als Partition Magic van grootte veranderen. Parted is een command line programma. nParted (http://www.laespiral.org/proyectos/nparted/) is er frontend voor. nParted kan overigens tijdens de installatie van Debian gebruikt worden.

Als je een partitie hebt aangemaakt, dan zul je deze partitie ook nog moeten formatteren voordat je hem echt kunt gaan gebruiken. Als je een partitie gaat formatteren maak je er een bestandssysteem op aan. Formatteren gaat in DOS met format en in Linux met /sbin/mkfs.ext2. Format onder DOS kan alleen een FAT16-systeem aanmaken en mkfs.ext2 alleen een ext2-bestandssysteem. Tijdens de installatieprocedure van de distributie zal waarschijnlijk wel gevraagd worden om de aangemaakt partities te formatteren. Ieder besturingssysteem heeft z'n eigen bestandssysteem. Een aantal bestandssystemen wordt genoemd in volgende tabel.



Besturingssysteem Bestandssysteem
DOS FAT16 (en FAT12 voor floppies)
OS/2 HPFS
Windows 9x FAT16 of 32
Linux ext2, ext3 of reiser, swap
Windows NT NTFS


Ext2 is wat je normaal gesproken gebruikt. Ext3 is hetzelfde als ext2, maar dan met een zogenaamd journal erbij. Het idee van een journal is dat bij elke verandering aan het file system eerst in het journal geschreven wordt wat er gaat gebeuren. Daarna wordt het echt gedaan en tenslotte wordt de entry uit het journal gehaald. Mocht het systeem om de een of andere reden nou voordat de verandering compleet was uitgevoerd uitvallen, dan staat er nog altijd in het journal wat er moest gebeuren. Dan kan die actie daarna nog altijd worden uitgevoerd. Dit gaat sneller dan het moeten uitvoeren van een controle door e2fsck, waardoor een betere uptime te verzekeren is. Dit is goed voor bijv. een webserver. Reiser is net als ext2 een journalling file system. Reiser is efficiënten als er veel kleine bestanden op de partitie staan, maar ext3 heeft een groot voordeel: het file system is identiek aan ext2, zodat in geval van problemen alsnog e2fsck kan worden uitgevoerd. Ext2 en ext3 zijn zeer eenvoudig in elkaar om te zetten door het journal weg te halen resp. aan te maken. Meer informatie over ext3 en reiser kan worden gevonden op:

Er bestaan verschillende soorten partities. Doordat men vroeger had verzonnen dat 4 partities wel genoeg zouden zijn, kun je maar 4 zogenaamde primaire partities aanmaken. Van een primaire partitie kun je een besturingssysteem opstarten. Het gevolg is dus dat je maximaal 4 besturingssystemen tegelijk op 1 harde schijf kunt installeren. Linux is een van de weinige besturingssytemen die je ook kunt opstarten vanaf een logische partitie.

Je moet altijd 1 primaire partitie activeren (zo wordt het genoemd in fdisk van DOS) of bootable maken (volgens fdisk van Linux). Vanaf die partitie wordt geboot. Een bootmanager is een programma waarmee je bij het opstarten kunt kiezen welk besturingssysteem je wilt gebruiken. De partitie waar de bootmanager op geïnstalleerd is moet bootable zijn. Als je de bootmanager in het Master Boot Record (MBR) zet (het eerste stuk van de harde schijf), dan maakt het niet uit welke partitie bootable is. (De bootmanager die in de MBR staat kan overigens weer andere bootmanagers die op andere partities staan starten.) De bootmanager die bij Linux vaak gebruikt wordt heet LILO (Linux Loader). En alternatieve bootmanager is Grub.

Vier partities is geen luxe. Vaak wil je meer partities aanmaken. Daarom heeft men het volgende bedacht. In plaats van een primaire partitie maak je een uitgebreide (Engels: extended) partitie. Je kunt dus in totaal maximaal 4 primaire of logische partities aanmaken. Binnen een uitgebreide partitie kun je andere partities aanmaken. Zo'n partitie binnenin een uitgebreide partitie noemen we een logische (Engels: logical) partitie.

Alle harde schijven en partities worden in Linux weergegeven als bestanden onder /dev. Voor harde schijven van het type IDE geldt:

/dev/hda primaire master
/dev/hdb primaire slave
/dev/hdc secundaire master
/dev/hdd secundaire slave

Er zijn 2 kabels op het moederbord waar harde schijven (en andere apparaten) op kunnen worden aangesloten. De ene heet de primaire kabel, de andere de secundaire. Op elke kabel kunnen weer 2 aparaten worden aangesloten. De ene is de master, de andere de slave. Wat waar op zit aangesloten kun je waarschijnlijk in je bios zien.

Bovenstaande devices staan voor de complete harde schijf. De partities die op /dev/hda staan heten /dev/hda1, /dev/hda2 etc. Om te zien welke partities werkelijk bestaan (er staan nl. ook voor jou niet bestaande devices onder /dev), kun je fdisk /dev/hda intikken en vervolgens p. Partities die binnen een extended partitie staan, worden genummerd vanaf de 5. Dus de 2e partitie binnen de extended partitie op /dev/hda is /dev/hda6. De primaire of uitgebreide partities zijn genummerd van 1 tot 4. Meer is toch niet mogelijk.

Op een IDE-disk kunnen maximaal 63 partities (hda 1-4 zijn dan primary of extended, hda 5-63 logisch) en op een SCSI-disk maximaal 15 partities (sda 1-4 primary, sda 5-15 logisch).

Voor Linux heb je minstens twee partities nodig. Een partitie met het ext2- (of eventueel ext3- of reiser-) bestandssysteem waarop software wordt geïnstaleerd en een swap-partitie. De swap-partitie wordt gebruikt als virtueel geheugen. Dat is geheugen op de harde schijf. Dat is veel langzamer dan het echte geheugen, maar kan wel veel groter zijn. Data die lange tijd niet meer gebruikt is wordt verhuisd naar de swap. Het is mogelijk de swap-partitie onder zowel Linux als Windows te gebruiken. Voor meer informatie over hoe je dat doet zie http://metalab.unc.edu/pub/Linux/docs/HOWTO/mini/other-formats/html_single/Swap-Space.html

Hoe groot de swap file moet zijn, ligt eraan hoe groot je gewone geheugen is en wat je van plan bent te gaan doen. De totale hoeveelheid geheugen die voor programma's beschikbaar is, is het echte geheugen + de swap file. Dus als je 64 MB RAM hebt en 64 MB aan swap, dan is er in totaal 128 MB beschikbaar voor programma's. Een totale hoeveelheid geheugen van tussen de 64 MB en 128 MB is aan te raden. Blijk je achteraf nog swap tekort te komen, dan kun je altijd nog een tweede swapfile aanmaken. Je kunt een partitie formatteren om als swap te gebruiken met /sbin/mkswap, maar je kunt ook een bestand laten gebruiken als swap. Heb je een nieuwe swap-partitie gemaakt, voeg die dan toe aan /etc/fstab en activeer deze met /sbin/swapon. (Je raadt nooit wat /sbin/swapoff doet.) Voor meer informatie zie man swap.

Als je naast de swap-partitie slechts 1 grote partitie met het ext2-, ext3- of reiser-bestandssysteem maakt, dan moet die grote partitie gemount worden onder / (root). 1 GB moet voldoende zijn als je eens met Linux wilt experimenteren. Op deze zg. root-paritie komen alle bestanden voor Linux te staan.

Ik vind het persoonlijk echter prettiger om meerdere partities voor Linux aan te maken. Als je naast de root-partitie nog andere partities aanmaakt, dan moet je daar een mount point voor opgeven. Als je daar bijv. /usr voor opgeeft, dan komen alle bestanden die je in /usr zet op die partitie terecht en niet op de root-partitie. Om het goed te kunnen indelen, moet je wel even weten hoeveel ruimte er voor welke directory nodig gaat zijn. Daar kom je zelf wel na een tijdje achter, maar als je net begint heb je nog geen idee. Daarom volgt er hier een overzicht van directories die handig kunnen zijn om op een aparte partitie te plaatsen en hoeveel ruimte ik er voor in gebruik heb. Je hoeft dit niet precies na te (willen) doen.

/home
Hier komen alle persoonlijke bestanden van gebruikers, zoals persoonlijke configuratiebestanden, documenten, mp3's, films, etc. Ik vind het zelf een goed idee om alle ruimte die nog over is na het indelen van de andere partities hier voor te gebruiken. Ik gebruik hier zelf 13 GB voor.

/usr
Hier wordt veruit de meeste data in gezet, zoals niet-essentiële programma's (dat wil zeggen: niet vitaal voor het überhaupt kunnen opstarten of heel elementaire dingen doen), libraries, documentatie. Hier zet je alleen neer wat bij de distributie hoort, dus als de distributie eenmaal is geïnstalleerd, zal deze niet veel van grootte veranderen. Ik heb 2 GB uitgetrokken voor deze partitie.

/usr/local
Alles dat niet tot de distributie behoort hoort hier te worden geplaatst om alles overzichtelijk te houden. Als je later wilt upgraden, kun je deze partitie lekker laten staan om zo al je eigen toevoegingen te behouden (denk dan ook aan de bestanden in /etc!). Er staat hier een kleine 500 MB op. Hoeveel ruimte je nodig hebt ligt er maar net aan hoeveel software je zelf gaat toevoegen.

/var
Hier staan bestanden onder die vaak veranderen, zoals printer- en mail-spool, logbestanden, locks, tijdelijke bestanden en opgemaakte manual pages (gebeurt als je er een opvraagt). Ben je van plan erg veel nieuws en e-mail te versturen en ontvangen, dan kun je deze directory ook op een aparte partitie plaatsen. Daarmee voorkom je dan dat de root-partitie volloopt. Ik heb dit echter niet op een aparte partitie staan.

/boot
Hier staat voornamelijk de kernel in. Hier is niet zo gek veel ruimte voor nodig. Ik heb er 15 MB voor uitgetrokken, maar er staat maar 2,3 MB aan data op.

/
De root-partitie. Hier komt dus alles op te staan dat niet op een andere partitie komt. Doordat veruit de meestse data wel op andere partities komt te staan, heb ik hier 200 MB voor uitgetrokken. Daar is ongeveer de helft van in gebruik.

Voor oudere versies van LILO is het nodig dat je de kernel vóór de 1024e cylinder hebt staat. Dat is voor elkaar te krijgen door de kernel in /boot te plaatsen en hier een partitie voor te hebben ergens vooraan de harde schijf. Voor nieuwere versies van LILO is dit echter niet meer nodig.


next up previous contents index
Volgende: 5.6 Bootdisk Omhoog: 5 Installatie Vorige: 5.4 Distributies   Inhoudsopgave   Index
Jarkko Huijts 2002-08-17