Montere
Fra Wikipedia, den frie encyklopedi.
Med kommandoen mount kan filsystemer monteres for lesing og skriving. Et filsystem kan befinne seg på en CD, en diskett, en minnepinne eller en partisjon på en harddisk – eventuelt som et kryptert virtuelt filsystem. Typisk har vanlige brukere tilgang til å montere CD-er, disketter og minnebrikker, mens partisjoner på harddisker eller NFS-eksporterte filsystemer på andre maskiner gjerne må monteres av root. Når du er ferdig med filsystemet, er det viktig at du avmonterer enheten. Dette gjøres med kommandoen umount.
| Innholdsfortegnelse |
Bakgrunn
Alle kataloger i et *nix-filsystem er organisert i en katalogstruktur. Katalogtreet kan sammenliknes med et vanlig tre, med unntak av at et katalogtre leses fra roten (/) og deretter til grenene. Grenene i treet utgjør monteringspunkter eller kataloger, og grenene kan, i likhet med et vanlig tre, ha grener under seg. To viktige forgreninger fra roten er katalogene /etc og /bin. Et filsystem kan i utganspunktet monteres på en vilkårlig plass i filtreet, men ifølge FHS (Filesystem Hierarchy Standard) skal temporære (midlertidige) filsystemer som CD-er og disketter monteres i katalogen /mnt.
Montering
Montering kan generelt sett enkelt gjøres i skallet ved å kjøre en kommando på følgende form:
# mount valg enhet monteringskatalog
Valg
mount har flere argumenter. Her vil vi kun ta for oss noen av dem:
- -a: Monter alle filsystemer, unntatt dem som eksplisitt ikke tillater dette.
- -t: Type filsystem.
- -L: Monter filsystemet med angitt partisjonsmerke.
- -U: Monter filsystemet med angitt UUID.
- ro: Read-only, som gir kun lesetilgang til enheten (også til root).
- rw: Read-write, som gir både lese- og skrivetilgang.
Det kraftigste valget er gjerne -o, som kan bestemme hvordan monteringen skal foretas. Det er viktig å merke seg at flere av disse valgene kun gir mening i en fstab-konfigurasjonsfil, som vi vil komme tilbake til senere.
Opsjoner (-o)
- async/sync: Spesifiserer om I/O-operasjoner mot filsystemet skal gjøres asynkront (async) eller synkront (sync). Med opsjonen async vil data ikke mellomlagres i minnet, mens med sync tillates dette. Med async kan man redusere risikoen for tap av data dersom data ligger mellomlagret i minnet og ikke er fysisk synkronisert mot enheten. Datatilgangen til filsystemet er imidlertid raskere med sync, fordi data kan mellomlagres i minnet og ikke på et tregere medium som en harddisk. Data som er i ferd med å skrives til et filsystem vil uansett risikere å bli korrupt dersom man fjerner mediet før skriveoperasjonen er ferdig (se Viktigheten av å avmontere). Man kan f.eks. bruke async mot flash-minnebrikker ettersom man i praksis ikke vil merke noen merkbar forsinkelse.
- dirsync: Alle endringer av kataloger i filsystemet gjøres asynkront. Dette omfatter følgende systemkall: creat, link, unlink, symlink, mkdir, rmdir, mknod og rename.
- atime/noatime: Spesifiserer om aksesseringstidspunktet skal endres i inodetabellen når filsystemet aksesseres. Per standard gjøres dette.
- auto/noauto: Spesifiserer om filsystemet kan monteres automatisk med flagget -a. Med noauto kan filsystemer kun monteres eksplisitt. noauto aktiverer opsjonene noexec, nosuid og nodev implisitt med mindre de overstyres av user, exec, dev og suid.
- defaults: Bruker standard opsjoner: rw, suid, dev, exec, auto, nouser og async.
- exec/noexec: Tillatt eller nekt kjøring av binærfiler.
- _netdev: Indikerer at filsystemet er på en enhet som krever nettverkstilgang. Brukes når man vil unngå at et filsystem blir forsøkt montert når nettverket er nede.
- ro/rw: Angir om filsystemet skal kun kunne leses til (read-only) eller også være skrivbart (read-write).
- user/nouser: Per standard kan ikke en vanlig bruker montere filsystemet, med mindre opsjonen user angis. Brukeren som monterer filsystemet blir da skrevet til mtab slik at samme bruker kan avmontere filsystemet selv.
- users: Tillater at brukere kan montere og avmontere filsystemet. Dette valget impliserer noexec, nosuid og nodev med mindre de overkjøres av users, exec, dev og suid.
Enhet
Her angis enheten som filsystemet som skal monteres befinner seg på, enten den er lokal eller ekstern.
Alle enheter som er fysisk tilkoblet datamaskinen, har et unikt filnavn. Den første IDE-harddisken er som oftest /dev/hda. Den første partisjonen er /dev/hda1, mens den neste er /dev/hda2 osv.
Eksterne filsystemer som NFS og Samba spesifiseres med nettverks- eller internettadresse med IP/domene og katalog. Et eksempel på en Samba-tilkobling er gitt i tabell 1, der et av filsystemene befinner seg på en av tjenerne til universitetet i Trondheim.
Man kan for eksempel bruke cfdisk eller fdisk for å liste opp partisjonene på harddisken.
Monteringskatalog
Monteringskatalog er hvilken katalog filsystemet skal oppføres i. Når et filsystem er oppført i fstab-filen, kan enten enhets- eller monteringskatalogen oppgis som argument til mount.
Bruk av fstab i tilknytning til kommandoen mount
Å montere filsystemer med denne kommandoen kan imidlertid være en tungvint løsning dersom det er snakk om en enhet du ofte bruker, som for eksempel en CD-ROM, et digitalt kamera eller en Samba-tilkobling til en annen arbeidsstasjon. I slike tilfeller kan det være greit å legge enhetene inn i konfigurasjonsfilen fstab for hurting tilgang. Nedenfor skal vi se på et eksempel på en fstab-fil, som blant annet viser hvordan vanlige brukere kan montere filsystemer etter behov. Hvordan en slik fil er bygd opp tas opp i detalj i fstab-artikkelen.
En utskrift av filen /etc/fstab kan typisk se slik ut:
Tabell 1 # <enhet> <katalog> <filsystem> <valg> <dump> <pass> proc /proc proc defaults 0 0 /dev/hda6 none swap sw 0 0 /dev/hda3 / reiserfs defaults 0 1 /dev/cdrom /mnt/cdrom udf,iso9660 ro,users,noauto 0 0 /dev/fd0 /mnt/floppy ext2 users //sambastud.ntnu.no/bruker /mnt/stud smbfs workgroup=win-ntnu-no,username=bruker,noauto 0 0
Dersom man studerer filen nøye, vil man se at nøkkelordet users eller user er oppført som opsjon til enkelte av filsystemene. Dette betyr at vanlige brukere kan montere og avmontere filsystemet etter behov. Med bakgrunn i denne filen kan man foreta følgende monteringer:
Montering av CD-ROM eller diskett
CD-ROM: mount -t iso9660 /mnt/cdrom eller mount /dev/cdrom, antatt at den ligger i fstab
Diskett: mount /dev/fd0 -v vfat /mnt/floppy eller mount /dev/fd0
Montering av ISO-fil
mount -t iso9660 -o ro,loop=/dev/loop0 /home/bruker/isofil.iso /mnt/iso
Montering av FAT32-partisjon slik at alle brukere får lese- og skrivetilgang
mount -t vfat -o umask=0,rw /dev/hda7 /mnt/share
Dette er derimot en dårlig løsning. Lag heller en gruppe for de du vil skal ha tilgang, og bruk
mount -t vfat -o umask=002,gid=1234,rw /dev/hda7 /mnt/share
der 1234 den numeriske ID-en til gruppa.
Avmontering
Du vil gjerne ha ut CD-en etter bruk, men da må den avmonteres først.
CD-ROM: umount /mnt/cdrom eller umount /dev/cdrom
Diskett: umount /mnt/floppy eller umount /dev/fd0
Viktigheten av å avmontere
Kjernen kan mellomlagre data i minnet dersom tilgangen til filsystemet er treg, for eksempel dersom filsystemet befinner seg på en diskett eller et nettverk. Ved avmontering sørger umount for å påkalle sync, som synkroniserer dataene mellom minnet og filsystemet. Å ikke avmontere filsystemet kan føre til tap av data.
Filsystemer som er fysisk koblet til datamaskinen når den slås av, blir automatisk avmontert (og synkronisert).
Feilmeldinger ved avmontering
Hvis du får følgende feilmelding når du ønsker å avmontere et filsystem, kan det tyde på at en prosess bruker filsystemet:
umount: /mnt/floppy: device is busy umount: /mnt/floppy: device is busy
Alle prosesser som bruker filsystemet, må avsluttes før man kan avmontere det. Enkelte ganger kan det være vanskelig å vite hvilke prosesser som bruker filsystemet. Kommandolinjeverktøyet fuser kan bl.a. identifisere hvilke prosesser som bruker et filsystem:
$ /sbin/fuser -v /mnt/floppy
USER PID ACCESS COMMAND
/mnt/floppy ola 9473 ..c.. nautilus
Her ser vi at brukeren ola har en prosess kjørende som bruker filsystemet. Ved å lukke Nautilus kan vi avmontere filsystemet.
Se også

