programmera.net -> linux -> normal för utskrift | info@programmera.net |
Allmänt om partitioner och filsystem
1. Partitioner och filsystem i Linux 2. Ett exempel på partitionering 3. Enhetsbeteckningar under /dev 4. Olika typer av filsystem 5. /etc/fstab |
1. Partitioner och filsystem i Linux
Det filsystem som användaren navigerar i kallas för det virtuella filsystemet och består egentligen av flera olika filsystem, som ofta ligger på olika partitioner (kan innebära olika diskar).
Det som är lite speciellt i UNIX/Linux är att det virtuella filsystemet döljer för användaren vilket filsystem som egentligen används och vilken disk/partition själva filerna lagras på. Men i t.ex. /etc/fstab kan man se vilka filsystem som svarar mot de olika delarna av filträdet.
När man installerar Linux krävs att man alltid minst skapar 2 partitioner:
När man skapar en extra partition i Linux är det egentligen så att man tilldelar en del av det virtuella filträdet till den nya partitionen. För att frigöra utrymme på rootpartitionen kan man installera en ny disk och skapa en ny partition (t.ex. /dev/hdb1) som man t.ex. mappar mot /extra_disk1/. Man kan nu frigöra utrymme på rootpartitionen genom att flytta filer till /extra_disk1/.
2. Ett exempel på partitionering
I min installation skapade jag två extra partitioner, nämligen:
Bilden nedan visar en överblick av de partitioner jag skapade:
Disken på 60GB delas alltså upp i 4 partitioner. När jag satte partitionernas storlek tänkte jag såhär:
3. Enhetsbeteckningar under /dev
Alla datalagringsenheter som finns uppkopplade till systemet har en motsvarande fil i mappen /dev. Filens namn avslöjjar vilken typ av enhet det rör sig om. Nedan ges några exempel på hur dessa filer kan se ut och hur man ska tolka filnamnet:
Filnamn typ Beskrivning /dev/hda1 hårddisk Första primära partitionen på master ATA-disken. /dev/hda2 hårddisk Andra primära partitionen på master ATA-disken. /dev/hda5 hårddisk Första logiska partitionen på master ATA-disken. /dev/hdb1 hårddisk Första partitionen på första slave ATA-disken. /dev/hdb CD/DVD Detta kan vara en CD-RW med en ATA-drivrutin. Märk att det inte finns någon siffra i detta fall (troligen för att en CD-RW inte kan partitioneras). /dev/cdrom CD/DVD En symbolisk länk som pekar till t.ex. /dev/hdb. /dev/sda1 SCSI-disk Första partitionen på första SCSI-disken. /dev/sdb1 SCSI-disk Första partitionen på andra SCSI-disken. /dev/scdb0 CD/DVD En CD-enhet med en SCSI-drivrutin. I detta fall har vi en siffra efter enhetsbeteckningen (ologiskt va?). /dev/ht1 Band Första bandstationen med ATA-drivrutiner. /dev/nht1 Band Första bandstationen med ATA-drivrutiner. /dev/st1 Band Första bandstationen med SCSI-drivrutiner. /dev/nst1 Band Första bandstationen med SCSI-drivrutiner. /dev/fd0 Floppy Första floppydisken.
4. Olika typer av filsystem
På ett vanlig Linuxinstallation används ganska många typer av filsystem som man inte märker av. Först tittar vi på de diskfilsystem som används på Linux (som används för att lagra filer på disk):
Filsystem Stödjs av Linuxkärna Maximal filstorlek Beskrivning ext2 1.? 16GB-2TB Föregångare till ext3. Lagrar data enligt på disken med hjälp av en relativt enkel algoritm. ext3 2.4.10 16GB-2TB Detta filsystem är baserat på ext2. Detta filsystem är till skillnad från ext2 journalförande. Det finns 3 nivåer av journalförande (Journal, Writeback och Ordered). Defaultfilsystem för många Linuxdistributioner. ReiserFS 2.4.1 8TB Ett annat vanligt journalförande filsystem som har bättre prestanda och skalbarhet än ext3. ReiserFS i Linuxkärnor tidigare än 2.4.10 anses instabil. ReiserFS lagrar all data i ett enda B+ träd där varje element har ett unikt objektid. Denna metod är snabbare om än mer komplex än den metod ext2 och ext3 använder. Defaultfilsystem för bl.a. SuSE och Slackware.
Nu tittar vi på vilka internminnesbaserade filsystem som används av Linux. Interminnesbaserade innebär att de ligger i minnet på maskinen och alltså inte behöver skrivas till disk:
Filsystem Beskrivning tempfs Ett filsystem som används för att lagra temporära filer. Filerna lagras i minnet och skrivs bara till disk då de swappas. tempfs ger bättre prestanda för filer som ändras ofta. devfs Detta filsystem används för att lagra filerna i /dev-mappen som representerar systemets olika enheter. När du kopplar in en enhet, t.ex. ett USB-minne så ska det dyka upp en fil under /dev för denna enhet. DefFS har fördelen mot ett normalt filsystem att det tillåter hotswap som kan vara nödvändigt i samband med t.ex. USB-enheter som rycks ur och stoppas in när som helst av användaren. procfs Detta filsystem används för att lagra filerna i /proc-mappen, där varje process svarar mot en fil. sysfs Detta filsystem är en relativt ny uppfinning som infördes först i version 2.6 av Linuxkärnan. SysFS används för att lagra filer rörande drivrutiner (mappen /sys kör sysfs). Många av de filer som före 2.6 låg i /proc har i Linux 2.6 flyttats till /sys.
5. /etc/fstab
Filen /etc/fstab (File System TABle) visar vilka vilka filsystem som finns på systemet. På mitt system ser det ut på följande sätt:
Märk följande:
[olle@dev1]$ less /etc/fstab
#This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
LABEL=/home /home ext3 defaults 1 2
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
/dev/hda2 swap swap defaults 0 0
### added for USB floppy Automount
/dev/sda /mnt/floppy1 auto noauto,owner, 0 0
/dev/hdc /media/cdrom auto pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0