Wie man sein CD-ROM Laufwerk unter Linux benutzt

ArticleCategory: [Artikel Kategorie]

System Administration

AuthorImage:[Bild des Autors]

[Photo of the Author]

TranslationInfo:[Author and translation history]

original in en Yao Feng

en to de Katja Socher

AboutTheAuthor:[Über den Autor]

Er ist ein Linuxfan und arbeitet in einem Universitäts-Netzwerkzentrum. Hobbies:Amateurfunk, Schwimmen. Linux benutzt er als normaler Benutzer seit zwei Jahren und seit einem Jahr administriert er Linux/Unix Systeme. Seine Diplomarbeit über Abrechnungssysteme hat er mit einem Linux-basierten Proxy-Server beendet.

Abstract:[Zusammenfassung]

Dieser Artikel gibt eine kurze, aber nützliche Beschreibung darüber, wie man sein CD-ROM Laufwerk unter Linux benutzt. Er beschreibt, wie man das CD-ROM Laufwerk findet, die CD-ROM mountet (verfügbar macht), ihren Inhalt liest und sie wieder unmountet. Außerdem gibt er ein paar Hinweise zur Fehlerbehandlung.

ArticleIllustration:[Titelbild des Artikels]

[Illustration]

ArticleBody:[Der eigentliche Artikel]

 

Finde heraus, was der Name von deinem CD-ROM Laufwerk ist

Du hast deine Linuxkiste zum Laufen gebracht, jetzt möchtest du eine Datei von einer CD-ROM auf deine Festplatte kopieren.
Überprüfe mit dem Befehl dmesg, ob dein CD-ROM Laufwerk vom Linuxkernel korrekt identifiziert wurde.
Wenn du ein ATAPI CD ROM Laufwerk verbunden über IDE hast, dann sieht es ungefähr so aus:
$ 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
.
.
.


Wenn du ein SCSI CD ROM Laufwerk hast, dann sieht es ungefähr so aus:
$ 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.
.
.

Die'hdc: CD-ROM CDU701, ATAPI CDROM drive' Zeile sagt uns, daß du ein CD-ROM IDE/ATAPI-CD Laufwerk in deinem Computer hast. Linux weist ihm den Device Namen -'hdc' für den späteren Zugriff zu. Der zugewiesene Name des Laufwerks hängt vom Hardwaretyp ab und ist hdc im ersten Fall und sdc im Fall, daß du ein SCSI CD-ROM Laufwerk hast.

Mounten (Verfügbar machen) deiner CD-ROM

Normalerweise mußt du der super user (root) sein, um dies machen zu können, aber im Abschnitt Mounten einer CD ROM als normaler Benutzer werden wir sehen, wie es von jedem gemacht werden kann (Es ist normalerweise das beste, so wenig wie möglich als root zu machen). Das Mounten ist notwendig, um die Inhalte deiner CD-ROM lesen zu können. Schiebe eine CD-ROM in dein Laufwerk, stelle sicher, daß das Verzeichnis /cdrom existiert und tippe den Befehl:
#mount /dev/hdc -t iso9660 -r /cdrom
bzw. im Fall des SCSI CD ROM Laufwerkes:
#mount /dev/sdc0 -t iso9660 -r /cdrom

Der Devicename des CD-ROM Laufwerks ist der, der als Ausgabe auf den Befehl dmesg angezeigt wurde.

Zugriff auf deine CD-ROM

Nachdem die CD ROM gemountet ist, kannst du mit dem disk free Befehl (df) überprüfen, ob sie korrekt im Verzeichnis /cdrom gemountet wurde:
$ 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

Jetzt kannst du auf deine CD ROM zugreifen, wie auf ein normales Verzeichnis unter /cdrom.

Unmounten deiner CD-ROM

Nachdem du deine Arbeit beendet hast, möchtest du vielleicht deine CD-ROM wieder herausnehmen, aber du stellst fest, daß das Drücken des Knopfes an deinem CD-ROM Laufwerk das Laufwerk nicht mehr öffnet.
Die CD-ROM ist *locked (weggeschlossen)*. Du mußt die CD ROM zuerst unmounten (der Befehl ist umount, ohne das n). Probier den folgenden Befehl als super user (root):
#umount /cdrom
oder alternativ kannst du auch folgendes tippen
#umount /dev/hdc
Im Falle des SCSI CD ROM Laufwerks lautet der Befehl:
#umount /dev/sdc0

Hiernach läßt sich das CD ROM Laufwerk duch Drücken des Knopfes öffnen. Du kannst auch ein Programm namens eject benutzen, das das CD ROM Laufwerk über diesen Befehl öffnet.  

Mounten und Unmounten, ohne root zu sein

Wenn du als root eingeloggt bist, kannst du alles machen, aber du kannst auch aus Versehen mehr machen, als du wolltest. Es ist deshalb besser, die CD ROM für normale Benutzer mountbar zu machen. Um die Privilegien des Mountens eines Laufwerks allen Benutzern zu geben, mußt du dich zuerst als root einloggen und drei Dinge tun:

  1. Erteile allen Schreibrechte für das Verzeichnis /cdrom
  2. Erteile allen Schreibrechte für die Device-Datei
  3. Editiere fstab

Um allen Schreibrechte für das Verzeichnis /cdrom zu erteilen, tippst du (während keine CD ROM gemountet ist!):
#chmod 777 /cdrom

Um allen Schreibrechte für die Device-Datei zu erteilen, tippst du (benutze den Laufwerknamen wie im ersten Abschnitt beschrieben ):
für das ATAPI Laufwerk:
#chmod 666 /dev/hdc
für das SCSI Laufwerk:
#chmod 666 /dev/scd0

Jetzt mußt du /etc/fstab editieren und die Erlaubnis, eine CD ROM zu mounten, an alle Benutzer vergeben. Dies geschieht durch das Einfügen der folgenden Zeile:
/dev/hdc  /cdrom     iso9660 ro,noauto,user 0 0
Im Fall des SCSI Laufwerkes sieht es so aus:
/dev/sdc0  /cdrom     iso9660 ro,noauto,user 0 0
Bitte beachte, daß es eventuell schon eine Zeile für den /dev/hdc device (oder /dev/sdc0) gibt. In diesem Fall mußt du diese Zeile editieren und nicht einen neuen Eintrag hinzufügen. Die Zeile sagt Linux, in welchem Verzeichnis die CD ROM gemountet werden soll und welcher Device benutzt werden soll. Es sagt Linux außerdem, daß das Dateisystem iso9660 ist, daß es als read only gemountet werden soll, und daß es niemals als startup gemountet werden darf (da dann nicht unbedingt eine CD im Laufwerk steckt). Die Option "user" bedeutet, daß jeder Benutzer das Laufwerk mounten kann.

Speicher die fstab Datei und log dich als normaler Benutzer ein. Lege nun eine CD ROM ins Laufwerk ein und mounte sie mit dem Befehl:
$mount    /cdrom
Einfach, nicht wahr?
Es ist jetzt möglich, diese kurze Form zu benutzen, weil Linux all die anderen Parameter von /etc/fstab erhalten kann.

Fehlerbehandlung

Sei sicher, daß du *nicht* in einem Verzeichnis unterhalb des /cdrom Verzeichnisbaumes bist; überprüfe, ob sich sonst jemand in einem der Verzeichnisse der /cdrom befindet. Wenn du nicht herausfinden kannst, wer es benutzt, dann ist es wahrscheinlich ein im Hintergrund laufender Prozeß von dir, der das Laufwerk benutzt. Um herauszufinden, welcher es ist, kannst du /usr/sbin/fuser /cdrom eintippen. Beende den Prozeß und du kannst die CD ROM unmounten und herausholen. Du überprüfst die Kernelmeldung bevor du die CD ROM mountest, um den korrekten Laufwerknamen zu bekommen und es ärgert dich, daß du ihn jedes Mal vergißt. Hier ist die Lösung: Schaffe einen soft link für dein CD-ROM Laufwerk:
#ln -s /dev/hdc /dev/cdrom
Jetzt kannst du statt /dev/cdrom /cdrom zum Mounten eingeben und vergessen, ob es /dev/hdc oder /dev/hdb heißt. (Lies aber auch den Abschnitt "Mounten und Unmounten, ohne root zu sein," der dir einen noch besseren Weg zeigt, dies zu tun) Lies den Abschnitt "Mounten und Unmounten, ohne root zu sein" Es ist nicht notwendig, eine Audio-CD zu mounten. Probier Programme wie workbone (für Konsolen) oder workman und xplaycd (für X-win), wenn deine CD-ROM Hardware keine Knöpfe zum Abspielen von Musik besitzt.