original in en Yao Feng
en to nl Tom Uijldert
Hij is een Linux-fan, naast zijn werk bij het netwerkcentrum op een campus. Hobby's: zendamateur, zwemmen. Was een jaar lang Linux gebruiker en nog eens een jaar lang Linux/Unix systeembeheerder. Is daarbij afgestudeerd op incassosystemen op een op Linux draaiende proxy server.
mount
uit te voeren (beschikbaar maken onder
Linux) op die CD-ROM, hoe de inhoud te lezen, een umount
uit te
voeren en verdere tips bij problemen.
Je hebt je Linux-doos aan het werk, nu wil je bestanden van een CD kopiëren
naar je harde schijf.
Controleer of de Cd-speler is herkend door de Linux-kernel middels het commando
dmesg
.
Als je een ATAPI CD-ROM, aangesloten via IDE, hebt dan zou het er als volgt uit
kunnen zien:
$ dmesg |more . . . hda: QUANTUM FIREBALL CR8.4A, ATA DISK drive hdc: CD-ROM CDU701, ATAPI CDROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: QUANTUM FIREBALL CR8.4A, 8063MB w/418kB Cache, CHS=16383/16/63, (U)DMA hdc: ATAPI 14X CD-ROM drive, 128kB Cache Uniform CDROM driver Revision: 2.55 . . . |
$ dmesg |more . . . Detected SCSI removable disk sdc at scsi0, channel 0, id 5, lun 0 Vendor: PLEXTOR Model: CD-ROM PX-12TS Rev: 1.03 Type: CD-ROM ANSI SCSI revision: 02 Detected scsi CD-ROM sr0 at scsi0, channel 0, id 6, lun 0 scsi : detected 1 SCSI cdrom 3 SCSI disks total. . . |
De regel 'hdc: CD-ROM CDU701, ATAPI CDROM drive' zegt ons dat je een
IDE/ATAPI CD-ROM aan je computer hebt. Linux geeft het de naam hdc
voor later gebruik. De device-naam is afhankelijk van het type
hardware. Het is hdc
voor het eerste geval en sdc
voor een SCSI speler.
Normaal gesproken moet je dit als beheerder (root
) doen maar in de
paragraaf over een mount als normale gebruiker zullen we
zien hoe dit door iedereen kan worden gedaan (Het is in het algemeen aan
te raden om zo weinig mogelijk te doen in de hoedanigheid van de root
-gebruiker).
Een mount
is nodig voordat je de inhoud van een CD kan
bekijken. Doe een CD in de speler, verzeker je ervan dat de directory
/cdrom
bestaat en geef het volgende commando:
#mount /dev/hdc -t iso9660 -r /cdrom |
In het geval van een SCSI cdrom: #mount /dev/sdc0 -t iso9660 -r /cdrom |
dmesg
.
mount
kun je controleren, door middel van het disk
free commando (df
), of de CD bereikbaar is onder de
/cdrom
directory:
$ df Filesystem 1024-blocks Used Available Capacity Mounted on /dev/sda1 2974519 1516768 1303931 54% / /dev/sda3 2686158 2378788 153548 94% /home /dev/hdc 603646 603646 0 100% /cdrom |
De CD kan nu worden benaderd als een normale directory onder
Nadat het werk is gedaan wil je de CD eruit halen. Je merkt echter dat het
eject-knopje niet werkt. De Cd-speler zit op slot. Er moet
eerst een
Idem voor het device. Tik in (gebruik de naam zoals gevonden in
de eerste paragraaf):
Nu moet
Sla de gewijzigde /cdrom
.
Een unmount van je CD-ROM
umount
(inderdaad, zonder de n )
worden gegeven. Probeer het commando uit als gebruiker root
:
#umount /cdrom
Of je kan intikken:
#umount
/dev/hdc
In het geval van een SCSI CD wordt dit:
#umount /dev/sdc0
Hierna kun je de CD eruitnemen met behulp van de eject knop. Je kan ook
het programma eject
draaien, wat de CD-ROM voor je opent.
Mount en unmount als gewone gebruiker
Ingelogd als beheerder (root
) kan je alles doen. Maar dus ook per
ongeluk meer dan je verwacht. Het is daarom beter om de speler ook toegankelijk
te maken voor gewone gebruikers. Om deze toegang te geven moet je eerst als
beheerder inloggen en de volgende dingen doen:
Om de directory schrijfbaar te maken voor world typ je in (enkel wanneer
het device niet gemount is):
/cdrom
. Hij moet
schrijfbaar zijn voor world (iedereen dus).
fstab
aan.
#chmod 777 /cdrom
voor ATAPI:
#chmod 666 /dev/hdc
Voor SCSI:
#chmod 666
/dev/scd0/etc/fstab
nog worden gewijzigd, waarmee de rechten aan
iedereen worden gegeven om een mount
te doen van de CD-ROM.
Hiervoor moet de volgende regel toe worden gevoegd:
Let op dat een dergelijke regel voor
/dev/hdc /cdrom iso9660 ro,noauto,user 0 0
In het geval van de SCSI cdrom wordt het:
/dev/sdc0 /cdrom iso9660 ro,noauto,user 0 0
/dev/hdc
(of
/dev/sdc
) al aanwezig kan zijn. Dan moet je de bestaande regel
aanpassen en niet een nieuwe regel aanmaken. Deze regel vertelt Linux op welke
directory hij een mount
moet uitvoeren en voor welk device. Het
zegt verder dat het bestandssysteem van het type iso9660 is, dat men alleen mag
lezen en dat hij geen mount
mag doen tijdens opstarten (als er
wellicht geen CD in zit). De optie user zegt ons dat iedereen een
mount
mag geven.
fstab
op en login als een gewone gebruiker. Doe
nu een CD in de speler en doe een mount
met het commando:
Makkelijk hè?
$mount /cdrom
Het is nu mogelijk om een dergelijk kort commando te geven omdat Linux de
resterende informatie uit /etc/fstab
kan halen.
Problemen oplossen
Vergewis je ervan dat je niet in een subdirectory staat onder
de umount
commando gaat in de fout en meldt device
is busy (de cdrom was reeds gemount).
/cdrom
boom; controleer ook of niet iemand anders daar in staat.
Als je zo niet kunt vinden wie het device gebruikt ga dan eens na of een proces
in de achtergrond het gebruikt. Om dit te achterhalen kun je
/usr/sbin/fuser /cdrom
intypen. Beëindig het betreffende
proces en een umount
kan worden uitgevoerd en de CD er uit gehaald.
Je leest de kernel boodschap voordat je de CD-ROM activeert om de juiste naam van
het device te lezen. Het is alleen vervelend dat je de naam steeds vergeet. Hier
is de oplossing: maak een soft link aan voor je CD-ROM:
#ln -s /dev/hdc /dev/cdrom
Nu kun je mount /dev/cdrom /cdrom
geven en vergeten dat het device
eigenlijk /dev/hdc
heet of /dev/sdc
(Kijk echter ook
even naar de paragraaf "Mount en unmount als gewone
gebruiker", die nog een betere methode laat zien).
Zie paragraaf "Mount en unmount als gewone gebruiker".
umount /cdrom
geeft de melding umount:
/cdrom is not in the fstab (and you are not root).
Het is niet nodig een mount
te doen van een audio-CD. Probeer
programma's als workbone
(voor de console) of
workman
en xplaycd
(voor X-windows) als je Cd-speler
geen afspeelknop heeft.