PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenträger unter Linux (Festplatten, Partitionen, Zip-Laufwerke, USB-Geräte, etc.)



Bio-logisch
10.12.04, 17:10
Immer wieder werden Fragen wie diese gestellt:

- Wie kann ich auf meine Windowspartiton zugreifen?
- Wie kann ich eine neue Festplatte einrichten?
- Wie kann ich mein USB - Gerät (Zip, Memoriestick, Kartenleser, Digitaler Fotoappart) zugreifen?

All diese Fragen haben nur eine Antwort:

Sie müssen in das Linux - Dateisystem eingebunden werden, auf angelsächsisch "(to) mount",

zum Beispiel mount -t iso9660 /dev/cdrom /mnt/cdrom, wenn man eine Daten - CD einbinden will.

Nichts verstanden?
Ok, dann noch mal langsam von vorne:

Unter Windows wird das Laufwerksbuchstabenkonzept verwendet:
Jedes Gerät hat einen Laufwerksbuchstaben: A und B sind für Diskettenlaufwerke reserviert, dann kommen die Festplatten C, D, usw. Im Anschluss werden andere Geräte wie CDRoms, Brenner oder DVD mit z.B. E und F aufgeführt.
Jedes dieser Laufwerke kann eine Folge von Dateien und Verzeichnissen besitzen, die in einem Verzeichnisbaum angeordnet sind.

Bei *n?x ist es genau anders herum:
Hier hat man einen Verzeichnisbaum, in dem die Geräte eingebunden werden.
Jeder Baum hat eine Wurzel (root auf englisch, ACHTUNG! Nicht mit dem Verzeichnis /root verwechseln! Dies ist das "/home - Verzeichnis" des Admins), bei einem UNIX - Verzeichnisbaum ist dies das Verzeichnis /.
Hinter diesem Verzeichnis kommt nun in der hierarchisch nächsten Ebene eine ganze Reihe Verzeichnisse:

/bin
/boot
/dev
/etc
/home
/lost+found
/mnt
/opt
/proc
/root
/sbin
/tmp

Vielleicht auch noch
/cdrom
/floppy
/media
/windows
usw...

In diesen Verzeichnissen befinden sich jeweils eine neue Ebene mit weiteren Verzeichnissen und Dateien.

Für uns interessant sind vor allem die Verzeichnis /mnt, /media und /windows.
Versucht man einfach mal das Verzeichnis /media/cdrom zu öffnen, so stellt man fest, das es leer ist.
Legt man nun eine Daten - CD in das Laufwerk und klickt in KDE/Gnome das zugehöhrige Icon, so erscheint die Meldung "/dev/cdrom wird eingebunden", es öffnet sich ein Fenster des Dateimanagers und wir sehen den Inhalt der CD im Verzeichnis /media/cdrom (/cdrom ist bei Suse nur ein Link auf /media/cdrom, andere Distributionen können wieder andere Verzeichnisse verwenden).
Was ist passiert da?

Genau das selbe, wie bei dem Befehl oben, die CD wird in das System eingebunden:
mount - der Befehl zum einbinden eines Laufwerkes / Gerätes,
-t iso9660 - gibt das Dateisystem des Datenträgers an,
/dev/cdrom - den Pfad des Gerätes,
/media/cdrom - Verzeichnis, wo der Inhalt des Gerätes zu finden sein soll.

Bevor man die CD wieder aus dem Laufwerk kriegt, muss man die Einbindung wieder lösen:
umount /dev/cdrom oder per Rechtsklick auf das Icon in KDE/Gnome.
Auch wenn der Auswurf des Mediums nicht unterbunden wird, wie bei Disketten, muss dies in jedem Fall gemacht werden:
Andernfalls gibt es eine Fehlermeldung und man riskiert Datenverluste.


Damit man das nicht jedes mal alles von Hand tippen muss, gibt es die Datei /etc/fstab.
Das ist letztlich nur eine einfache Tabelle, wo alle Geräte / Laufwerke aufgelistet sind und wo sie eingebunden werden.

Meine sieht z.B. so aus:


/dev/hdc3 / ext2 defaults 0 1
/dev/hdc4 /boot ext2 defaults 0 2
/dev/cdrecorder /media/cdrecorder auto ro,noauto,user,exec 0 0
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
devpts /dev/pts devpts defaults 0 0
/dev/fd0 /media/floppy auto noauto,user,sync 0 0
proc /proc proc defaults 0 0
usbdevfs /proc/bus/usb usbdevfs defaults,noauto 0 0
/dev/hdc1 /windows/C vfat noauto,user 0 0
/dev/hdc6 /windows/D vfat noauto,user 0 0
/dev/hdc7 /windows/E vfat noauto,user 0 0
/dev/hdc5 swap swap pri=42 0 0
/dev/sda1 /mnt/sda1 auto noauto,user,sync 0 0
/dev/sdb1 /mnt/sdb1 auto noauto,user,sync 0 0
/dev/sdc1 /mnt/sdc1 auto noauto,user,sync 0 0
/dev/sdd1 /mnt/sdd1 auto noauto,user,sync 0 0

Hier werden die selben Angaben gemacht, wie beim mount von Hand:
Device/Gerät Mountpoint/Verzeichnis Filesystem/Dateisystem weitere Optionen

Jede Zeile steht für ein Gerät, die einzelnen Angaben werden je durch ein Tab oder Leerzeichen getrennt.


Zu den Devices:
Floppylaufwerke heißen fd0 oder fd1.

Geräte am IDE - Bus hdxy, wobei x folgende Werte annehmen kann:
a - Erster IDE Bus, Master
b - Erster IDE Bus, Slave
c - Zweiter IDE Bus, Master usw...

y gibt die Partion auf dem Gerät an, Werte 1 bis 4 für primäre Partionen, 5 folgende für logische Partition in einer erweiterten Partition.
Für SCSI - Geräte gilt das selbe, nur heißen diese sdxy.


Das angegebene Verzeichnis ist der Ort, wo der Inhalt des Gerätes nach dem Einbinden zu finden ist.
Dieses sollte am besten leer sein, da man sonst, wenn das Gerät eingebunden ist, auf den Inhalt bis zum umount nicht mehr zugreifen kann.


Filesystem sollte klar sein:
ntfs für NTFS, vfat für FAT32 oder FAT16, ext2, ext3 für Linuxpartionen, iso9660 für CD / DVD usw...

Bei Wechseldatenträgern macht es Sinn "auto" anzugeben, da hier unterschiedliche Dateisysteme vorkommen können. Der Kernel sucht sich dann selber einen passenden Treiber aus.


Was die weiteren Optionen anbelangt, die bitte selber in den Manpages "man fstab" und "man mount" nachlesen, da gibt es einfach zu viele als das ich die jetzt alle aufzählen könnte,
nur eben die wichtigsten:

ro Nur lesen erlaubt (Sollte immer bei NTFS stehen!)
rw lesen und schreiben erlaubt
auto/noauto Gerät beim Systemstart automatisch laden oder nicht laden
user Benutzer der Gruppe users dürfen dieses Gerät mounten und unmounten
sync Keinen Cache verwenden, WICHTIG BEI ALLEN WECHSELDATENTRÄGERN MIT RW - RECHT!
umask, gid, uid Zugriffsrechte von Dateien festlegen

Alle Optionen werden mit Komma getrennt, keine Leerzeichen!


Die beiden Zahlen am Ende haben folgende Bedeutung:
Laut "Kofler" ist die erste Zahl eine Option für ein Programm Namens dumpfs und wird zur Zeit ignoriert.

Die zweite Zahl gibt an, ob das Gerät von fsck überprüft werden soll:
1 Für /, 2 für alle anderen Geräte, die überprüft werden sollen. O steht für nicht überprüfen (CDROMS, SWAP usw).

Praktische Beispiele:

Bio-logisch
10.12.04, 17:11
Angenommen, es handelt sich um die erste Partiton auf hda, Filesystem ist FAT32:

Folgende Zeile muss in die fstab eingetragen werden:
/dev/hda1 /windows/C vfat noauto,user 0 0

Nun muss noch das Verzeichnis angelegt werden, als root mit mkdir /windows /windows/C
Dann noch ein ln /windows/C /windows/c , Linux unterscheidet ja zwischen Groß- und Kleinschreibung.

Jetzt lässt sich die Partition mit mount /dev/hda1 einbinden, umount /dev/hda1 macht dies rückgängig.
Wer will, kann man sich noch ein Symbol auf der Arbeitsfläche anlegen:
Bei KDE Rechtsklick auf den Desktop, neu, Festplatte (passiert bei vielen Distributionen automatisch mit dem nächsten Login).

Wenn sie automatisch beim Start eingebunden werden soll, sieht der Eintrag so aus:
/dev/hda1 /windows/C vfat umask=0 0 0

Bio-logisch
10.12.04, 17:12
Problem: Festplatte voll, was tun?
Am besten eine neue kaufen und einige Verzeichnisse verlegen:

Kleines Beispiel: Das Verzeichnis /home soll auf die Partion hdb1, ext3 FS, umziehen (die man vorher mit cfdisk oder so anlegen kann).
ACHTUNG! Durchführung nur auf eigenes Risiko! AUF ALLE FÄLLE VORHER EIN BACKUP MACHEN!

Rechner booten, nicht grafisch einloggen, sondern mit strg alt f2 auf eine Konsole wechseln.
Dort als Root einloggen, dann

init 1 für single User Modus
mkdir /mnt/tmp
mount /dev/hdb1 /mnt/tmp
cp -pdR /home /mnt/tmp
(Alternativ cp -a /home /mnt/tmp oder (cd /home && tar cpf - . ) | (cd /mnt/tmp && tar xpf - ))
umount /dev/hdb1

vi /etc/fstab
folgende Zeile einfügen:
/dev/hdb1 /home ext3 defaults 1 2

mount /dev/hdb1
init 5
Zum testen grafisch als User einloggen. wenn es funktioniert, wieder ausloggen,

STRG ALT F2
Als root einloggen
init 1
umount /dev/hdb1

cd /home (WICHTIG!)
rm -rf *

reboot

Bio-logisch
10.12.04, 17:13
Viele Geräte, Zip - Laufwerke, einige Digitalkameras, USB - Kartenleser (z.B. der von Aldi *g*) unterstützen das Datenübertragungsprotokoll USB Mass Storage.
Dies erkennt man daran, dass diese Geräte unter Windows ME/XP und Mac OS X ohne eigene Treiber funktionieren.

Wenn dies der Fall ist, dann lässt sich das Gerät auf folgende Weise unter Linux nutzen:
Ab Kernel 2.4.x gibt es das Modul "usb-storage", das hierfür zuständig ist. Bei älteren Versionen kann man es AFAIK per Kernel - Patch nachrüsten (aber das währe eine eigene Anleitung).

Ist das Gerät angeschlossen, lässt es sich als emuliertes SCSI - Gerät ansprechen.
Welches Device zugeteilt ist, kann man in der xconsole oder am Ende der Datei /var/log/messages nachlesen:
Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0
Sollte das Modul nicht automatisch geladen werden, kann man mit modprobe usb-storage nachhelfen.

In diesem Beispiel ist das Device also sda. Da diese Geräte idR. nur eine Partiton haben, ist y=1

Der Eintrag in der fstab sieht also so aus:
/dev/sda1 /mnt/sda1 auto noauto,user,sync 0 0

Der Rest ist analog zum ersten Beispiel.

Handelt es sich hierbei um einen Kartenleser mit mehreren Anschlüssen, ist noch folgendes zu beachten:
Meistens werden hier nicht alle Anschlüsse als ein Device angesprochen, sondern es werden mehrere Device belegt.
Im Fall meines Aldi - Gerätes sind es vier, daher stehen in der fstab folgende vier Einträge:

/dev/sda1 /mnt/sda1 auto noauto,user,sync 0 0
/dev/sdb1 /mnt/sdb1 auto noauto,user,sync 0 0
/dev/sdc1 /mnt/sdc1 auto noauto,user,sync 0 0
/dev/sdd1 /mnt/sdd1 auto noauto,user,sync 0 0

Bio-logisch
10.12.04, 17:13
Wer unter Linux Wechseldatenträger automatisch mounten lassen will, hier eine Anleitung:
www.pl-berichte.de/t_system/autofs.html

Suse setzt ab Version 9.1 subfs als System zum automatischen Mounten ein.
Wie man es wieder abschaltet (falls nicht erwünscht), steht in diesem Artikel der sdb:
http://portal.suse.com/sdb/de/2004/05/hmeyer_91_revert_from_subfs.html

Bio-logisch
17.05.05, 23:10
Zip-Laufwerk anschließen, Diskette einlegen

Als root folgende Befehle eingeben:
modprobe ppa (Zip springt kurz an)
lsmod (zur Kontrolle)
dmesg (zur Kontrolle)
fdisk -l (zeigt an, wo das Laufwerk zu finden ist, in diesem Beispiel /dev/sda4)
mkdir /mnt/zip (oder jedes andere belibiege Verzeichnis)

Für das automatische laden der Treiber nimmt man folgende Änderungen in der /etc/modules.conf vor:
alias scsi_hostadapter off auf
alias scsi_hostadapter ppa umgestellen.

Zum schnellen mounten wird ein Mountpoint in die /etc/fstab eingetragen:
/dev/sda4 /mnt/zip auto rw,noauto,user,exec,umask=0 0 0

ACHTUNG: Mangels passendem Laufwerk habe ich das nicht überprüft, daher ohne jede Garantie!
Entnommen aus diesem Thread bei chip.de:
http://www.chip.de/c1_forum/thread.html?bwthreadid=665601