We bekijken de schijf gedeeltes van Gentoo Linux en Linux in het algemeen, Inclusief Linux filesystems, partities en block devices. Dan, als je bekend bent met de ins en outs van schijven en filesystems, leiden we je door het proces van het opzetten van partities en filesystems voor je Gentoo Linux Installatie
Om te beginnen, zullen we
De hierboven genoemde block devices stellen een abstracte interface naar de schijf voor. Programmas kunnen deze block devices gebruiken om te communiceren met de schijf zonder zich zorgen te hoeven maken of het een IDE, SCSI of iets anders is. Het programma kan simpelweg de ruimte als een boel aangrenzende, willekeurig te bereiken 512-byte blokken gebruiken.
Hoewel het theoretisch mogelijk is om een volledige schijf te gebruiken voor
je Linux systeem, wordt dit in de praktijk zelden gedaan. In plaats daarvan
worden ze opgesplitst in kleinere, makkelijker te beheren block devices. Op
x86 systemen, noemen we deze
Partities worden in drie types opgedeeld:
Een
Een
Een
De x86 Installatie CDs bieden ondersteuning voor EVMS en LVM2. EVMS en LVM2 vergroten de flexibiliteit van je partitie indeling. Tijdens de installatie instructies, zullen we ons richten op "normale" partities, maar het is goed om te weten dat EVMS en LVM ook ondersteund worden.
Als je niet geinteresseerd bent in een partitie schema te tekenen voor je systeem, dan kun je het partitie schema gebruiken wat we in dit boek gebruiken:
| Partitie | Filesystem | Grootte | Beschrijving |
|---|---|---|---|
Als je wel wilt weten hoe groot een partitie moet zijn, of zelfs hoeveel
partities je nodig hebt, lees dan door. Zo niet, dan kun je doorgaan met
partitioneren van je schijf door het lezen van
Het aantal partities hangt zeer sterk af van je omgeving. Bijvoorbeeld, als je
een heleboel gebruikers hebt, wil je waarschijnlijk je
Zoals je kan zien, hangt het sterk af van je doel. Gescheiden partities of volumes hebben de volgende voordelen:
Hoewel, meerdere partities hebben een groot nadeel: indien niet goed ingesteld, kun je een systeem krijgen met veel vrije ruimte op de ene en niets op de andere. Ook is er een 15-partities limiet voor SCSI en SATA.
Als een voorbeeld van partitioneren, zullen we je laten zien hoe je een 20Gb schijf die wordt gebruikt als een demonstratie laptop (met webserver, mailserver, gnome, ...) partitioneert:
$ df -h Filesystem Type Size Used Avail Use% Mounted on /dev/hda5 ext3 509M 132M 351M 28% / /dev/hda2 ext3 5.0G 3.0G 1.8G 63% /home /dev/hda7 ext3 7.9G 6.2G 1.3G 83% /usr /dev/hda8 ext3 1011M 483M 477M 51% /opt /dev/hda9 ext3 2.0G 607M 1.3G 32% /var /dev/hda1 ext2 51M 17M 31M 36% /boot /dev/hda6 swap 516M 12M 504M 2% <niet gemount>(Ongepartioneerde ruimte voor toekomstig gebruik: 2 Gb)
Het volgende deel beschrijft hoe je de eerder beschreven voorbeeld ontwerp moet maken, namelijk:
| Partitie | beschrijving |
|---|---|
Verander je partitie ontwerp zoals je zelf wil.
# fdisk /dev/hda
Eenmaal in
Command (m for help):
Type
Command (m for help): p Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders Units = cylinders of 15120 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 14 105808+ 83 Linux /dev/hda2 15 49 264600 82 Linux swap /dev/hda3 50 70 158760 83 Linux /dev/hda4 71 2184 15981840 5 Extended /dev/hda5 71 209 1050808+ 83 Linux /dev/hda6 210 348 1050808+ 83 Linux /dev/hda7 349 626 2101648+ 83 Linux /dev/hda8 627 904 2101648+ 83 Linux /dev/hda9 905 2184 9676768+ 83 Linux Command (m for help):
Deze schijf is geconfigureerd om zeven Linux filesystems (elke met een partitie opgegeven als "Linux") en een swap partitie (opgegeven als "Linux swap").
Om te beginnen zullen we eerst alle bestaande partities van de schijf
verwijderen. Type
Command (m for help): d Partition number (1-4): 1
De partitie is nu gemarkeerd om te verwijderen. Hij zal niet langer te
voorschijn komen als je
Nu, er van uit gaande dat je inderdaad je partitie wil verwijderen, type
herhaaldelijk
Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System Command (m for help):
Nu de partitie tabel in het geheugen leeg is, zijn we klaar om de partities te maken. We zullen een standaard partitie schema gebruiken zoals eerder besproken is. Natuurlijk ben je niet verplicht deze te volgen!
Eerst zullen we een kleine boot partitie maken. Type
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-3876, default 1):(Druk op Enter) Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M
Nu, als je
Command (m for help): p Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hda1 1 14 105808+ 83 Linux
Deze partitie moet opstartbaar zijn. Type
Laten we nu de swap partitie maken. Om dit te doen, type
Command (m for help): p Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 14 105808+ 83 Linux /dev/hda2 15 81 506520 82 Linux swap
Eindelijk, laten we nu de root partitie maken. Om dit te doen, type
Command (m for help): p Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 14 105808+ 83 Linux /dev/hda2 15 81 506520 82 Linux swap /dev/hda3 82 3876 28690200 83 Linux
Om de partitie tabel op te slaan en
Command (m for help): w
Nu je partities gemaakt zijn, kun je doorgaan met
Nu je partities gemaakt zijn, is het tijd om een filesystem er op te zetten.
Als het je niet interesseert wat voor filesystem je moet kiezen en tevreden
bent met wat we als standaard kiezen in dit handboek, ga verder met
De Linux kernel ondersteunt verschillende filesystems. We zullen ext2, ext3, ReiserFS, XFS en JFS uitleggen omdat deze het meest gebruikt worden op Linux systemen.
ext2 is een getest en echt Linux filesystem maar heeft geen metadata journaling, wat betekent dat routine ext2 filesystem controles redelijk veel tijd kunnen kosten. Er is nu een redelijke selectie van nieuwere journaled filesystems die zeer snel gecontroleerd kunnen worden en dus worden verkozen boven hun niet-journaled tegenstanders. Journaled filesystems voorkomen lange vertragingen als je opstart en je een inconsistent filesystem hebt.
ext3 is de journaled versie van het ext2 filesystem. Het heeft metadata
journaling voor een snel herstel naast anere uitgebreide journaling modes zoals
ReiserFS is een B*-boom gebaseerd filesystem welke een zeer goede performance heeft. Verder veslaat hij ext2 en ext3 met factor 10x-15x bij kleine bestanden (kleinder dan 4k). ReiserFS schaalt extreem goed en heeft metadata journaling. Sinds kernel 2.4.18+ is ReiserFS bruikbaar voor algemeen gebruik en voor extreme gevallen zoals grote filesystems, gebruik van veel kleine bestanden, zeer grote bestanden en directories die duizenden bestanden bevatten.
XFS is een filesystem met metadata journaling die met een robuste feature-set komt en geoptimaliseerd is voor schaalbaarheid. We raden dit alleen aan op Linux systemen met high-end SCSI en/of fibre channel opslag en een UPS (Uninterruptible Power Supply) omdat XFS aggressief in-transit data cacht in het geheugen. Slecht ontworpen programmas (die geen goede voorbereidingen nemen bij het schrijven van bestanden naar de schijf en daar zijn er redelijk veel van) kunnen een redelijk deel aan data verliezen als het systeem onverwacht down gaat.
JFS is IBM's high-performance journaling filesystem. Het is recent productie-klaar geworden en er is nog niet genoeg ervaring mee om er iets (positief, noch negatief) over te zeggen.
Om een filesystem op een partitie of volume te maken, zijn er tools beschikbaar voor elk mogelijk filesystem:
| Filesystem | Commando om te maken |
|---|---|
Bijvoorbeeld, om van de boot partitie (
# mke2fs /dev/hda1 # mke2fs -j /dev/hda3
Maak nu de filesystems op je vers gemaakte partities (of logische volumes)
# mkswap /dev/hda2
Om de swap partitie te gebruiken, gebruik
# swapon /dev/hda2
Maak en activeer met behulp van de bovenstaande commandos de swap nu.
Nu onze partities gemaakt zijn en een filesystem bevatten, is het tijd ze te
mounten. Gebruik het
# mount /dev/hda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/hda1 /mnt/gentoo/boot
We zullen ook een proc filesystem (een virtuele interface met de kernel)
moeten mounten op
Ga verder met