Debian GNU/Linux Anwenderhandbuch | ||
---|---|---|
Zurück | Kapitel 3. Betrieb | Nach vorne |
Als Dateisystem bezeichnet man auf einem Debian GNU/Linux (und auf allen anderen Unix-Systemen) den kompletten Verzeichnisbaum ab dem „root-“Verzeichnis /. Als Dateisystem wird aber auch die Organisationsform der Daten auf einem Medium (Festplatte, Diskette) bezeichnet, die von Betriebssystem zu Betriebssystem unterschiedlich ist.
Jedes physikalische Gerät, auf dem Sie Daten speichern wollen, müssen Sie zunächst mit einem Dateisystem versehen. Wenn Sie verschiedene Partitionen auf einem Medium erstellen, kann jede dieser Partitionen mit einem anderen Dateisystemtyp versehen werden. Jedes Betriebssystem verwendet mindestens einen eigenen Dateisystemtyp, viele verwenden auch mehrere oder können mit verschiedenen Typen umgehen.
Häufig sind im Debian GNU/Linux-Umfeld Kombinationen aus Linux und Windows-Dateisystemen anzutreffen. Debian GNU/Linux kann mit einer großen Zahl von Dateisystemen umgehen, Sie können somit sehr einfach Ihre Daten von anderen Betriebssystemen auf Ihr Debian GNU/Linux-System übernehmen.
Unter Debian GNU/Linux gibt nur einen einzigen Verzeichnisbaum (beginnend mit /). In diesem sind, als Unterverzeichnisse, alle physikalischen Geräte zu finden. Es werden keine Buchstaben zu Identifikation der Geräte benutzt.
Mit Ausnahme des Root-Dateisystems (/, welches beim Systemstart automatisch angemeldet wird) müssen Sie alle weiteren Dateisysteme erst einmal in das System einbinden. Dabei kann, wie bereits beschrieben, jedes physikalische Gerät über mehrere Partitionen verfügen. Jedes dieser Dateisysteme wird im System in einem Verzeichnis (dem sogenannten „mount-point“) „eingehängt“. Das ist so einfach, wie es sich anhört, Sie können einen Mountpoint mit dem Kommando mkdir erzeugen und an dieser Stelle im Dateisystem das Medium einhängen.
Um dem System weitere Dateisysteme hinzuzufügen (dies können Sie im Normalfall nur als Superuser tun), dient das Kommando mount. Bei der Installation von Debian GNU/Linux von CD-ROM wurde das Dateisystem (/cdrom) bereits benutzt und vom Installationsprogramm ins System eingebunden. Hierbei wurde ein Link von dem entsprechenden Device auf das neue Device: /dev/cdrom angelegt. Sie müssen sich somit nicht das Device Ihres CD-ROMs merken (oder herausfinden), sondern können diesen Link benutzen. Weiterhin wurde bei der Installation das Verzeichnis /cdrom angelegt. Sie können nun eine eingelegte CD sehr leicht mit dem Kommando mount /dev/cdrom /cdrom „mounten“.
Der Mount-Point kann anstelle von /cdrom jedes andere, beliebige Verzeichnis sein. Beachten Sie jedoch, daß Verzeichnisse, an deren Stelle Sie ein Dateisystem mounten möchten, keine weiteren Dateien enthalten sollten. Das Mounten eines Dateisystems funktioniert auch, wenn sich bereits Dateien in dem Verzeichnis befinden, Sie können lediglich nicht mehr auf diese Dateien zugreifen. Die Dateien werden nicht gelöscht, sie werden praktisch von dem gemounteten Dateisystem „überlagert“.
In der Praxis reicht dieses Wissen jedoch nicht lange aus. Sicher werden Sie irgendwann den Wunsch haben, den Festplattenplatz Ihres Systems zu erweitern. Der erste Schritt ist natürlich der mechanische Einbau der Festplatte. Schon hierbei (eigentlich schon beim Kauf der Platte) müssen Sie sich für den Anschluß an einem der beiden IDE-Busse oder am SCSI-Hostadapter entscheiden.
Bei einem IDE-System notieren Sie sich, ob Sie die Platte am ersten (primary) oder am zweiten (secondary) Bus und ob die Platte als erste ( Master) oder zweite ( Slave) am jeweiligen Bus betrieben wird.
Am SCSI-Bus notieren Sie sich die ID der Platte und kontrollieren ob, und wenn ja mit welcher ID, noch weitere Geräte angeschlossen sind. Beachten Sie hierbei auch externe Geräte!
Im nächsten Schritt müssen Sie mindestens eine Partition auf der neuen Platte anlegen. Diese kann den gesamten Festplattenplatz in Anspruch nehmen, Sie können aber auch mehrere, kleine Partitionen anlegen. Unter Debian GNU/Linux haben Sie die Auswahl zwischen zwei Programmen: fdisk und cfdisk. Wir werden im folgenden cfdisk, aufgrund der ansprechenderen Oberfläche, vorstellen.
Ermitteln Sie zunächst das entsprechende Device für die neue Festplatte, mit Hilfe der zuvor notierten Daten. Für IDE-Laufwerke ist die Bezeichnung folgende:
/dev/hda - Master am primären Bus
/dev/hdb - Slave am primären Bus
/dev/hdc - Master am sekundären Bus
/dev/hdd - Slave am sekundären Bus
Bei SCSI-Laufwerken ist die Bestimmung etwas anders. Zunächst ist zu beachten, daß zwischen Festplatten, CD-ROMs/CD-Brennern und anderen Geräten unterschieden wird. Die Gerätedateien für SCSI-Festplatten werden mit /dev/sdX bezeichnet, wobei X für einen Buchstaben steht, angefangen bei a und dann aufsteigend nach SCSI-ID zugeordnet. Hier ein denkbares Beispiel:
/dev/sda – SCSI-Platte mit der kleinsten ID (z.B.: 0)
/dev/sdb – SCSI-Platte mit der mittleren ID (z.B.: 2)
/dev/sdc – SCSI-Platte mit der größten ID (z.B.: 3)
/dev/scd0 - SCSI CD-ROM/Brenner (z.B. ID: 3)
/dev/scd1 - SCSI CD-ROM/Brenner (z.B. ID: 5)
Nachdem Sie nun das Ihrer Platte entsprechende Device bestimmt haben, können Sie cfdisk mit dem entsprechenden Device als Option starten, beispielsweise: cfdisk /dev/hdb. Bei einer neuen Festplatte werden nach dem Programmstart keinerlei Partitionen angezeigt. In diesem Beispiel, mit einer 16GB-Festplatte, wurde eine einzige Partition mit einem Linux Extended 2 (ext2-) Dateisystem angelegt.
Die erste Partition wird als /dev/hdb1 angelegt, eine zweite würde /dev/hdb2 genannt werden und so weiter...
Sie können sich innerhalb von cfdisk mit den Cursortasten bewegen und mit der RETURN-Taste den ausgewählten Menüpunkt auswählen.
Wenn Sie alle gewünschten Partitionen, oder auch nur eine einzige, angelegt haben, können Sie nun das eigentliche Dateisystem auf der Partition erzeugen. Hierzu steht Ihnen unter Debian GNU/Linux das Kommando mke2fs zu Verfügung. Auch diesem Kommando müssen Sie natürlich wieder angeben, welche Festplatte und vor allem auch welche Partition Sie mit dem Dateisystem beschreiben wollen. Für unser Beispiel beginnen wir mit der ersten Partition auf unserer Platte, also dem Device /dev/hdb1:
sushi:~# mke2fs /dev/hdc1 mke2fs 1.15, 18-Jul-1999 for EXT2 FS 0.5b, 95/08/09 Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 128256 inodes, 256032 blocks 12801 blocks (5.00%) reserved for the super user First data block=0 8 block groups 32768 blocks per group, 32768 fragments per group 16032 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Writing superblocks and filesystem accounting information: done |
Nun können Sie die frisch formatierte Partition zu Ihrem Dateisystem hinzufügen: mount /dev/hdb1 /mnt und mit dem Kommando df überprüfen, ob nichts schiefgelaufen ist.
Die Ausgabe könnte auf einem System mit mehreren Festplatten wie folgt aussehen:
sushi:~# df Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda1 5767132 4352356 1121804 80% / /dev/hdb1 16247612 14355348 1066928 94% /home/ftp /dev/hdc1 24597980 21574360 1774080 93% /home/ftp/debian /dev/hda2 18263244 15157492 2178016 88% /home/ftp/images |
Vielleicht werden Sie nach einem Neustart des Systems bemerkt haben, daß die neu eingebundene Festplatte nicht automatisch ins System eingebunden wird. Wenn Sie möchten, daß bestimmte andere Partitionen zusätzlich zu / (root) ins System eingebunden werden, so müssen Sie diese in die Datei /etc/ fstab (für: „file system table“) aufnehmen. Weiterhin ist es sinnvoll, dort auch Dateisysteme einzutragen, die zwar nicht automatisch gemountet werden sollen, auf die Sie aber trotzdem schnellen Zugriff haben möchten, beispielsweise CD-ROMs, die öfter gewechselt werden.
Nach der Basisinstallation von Debian GNU/Linux sind bereits einige Einträge in der Datei /etc/fstab vorhanden:
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump > <pass> /dev/hda1 / ext2 defaults 0 1 /dev/hda2 none swap sw 0 0 proc /proc proc defaults 0 0 |
Die erste Spalte beschreibt das Device und die zu mountende Partition. Die zweite Spalte verweist auf das Verzeichnis im Dateisystem, an der die Partition eingebunden werden soll. Beachten Sie, daß dieses Feld bei einer Swap-Partition mit dem Text „none“ anstatt eines Verzeichnisses gefüllt wird. Die dritte Spalte beschreibt den Typ des Dateisystems. Eine Beschreibung der weiteren Spalten finden Sie weiter unten, übernehmen Sie die Werte erst einmal wie gezeigt.
Um die im vorigen Abschnitt beschriebene Festplatte /dev/hdc automatisch ins System einzubinden, erweitern Sie die Datei um folgenden Eintrag:
/dev/hdc1 /mnt ext2 defaults 0 2 |
/dev/hdc /cdrom iso9660 ro 0 0 /dev/fd0 /floppy auto noauto,sync 0 0 |
Wie Sie schon gesehen haben, sind die Einträge in der Datei /etc/fstab in tabellarischer Form angeordnet:
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump > <pass> /dev/hda1 / ext2 defaults 0 1 /dev/hda2 none swap sw 0 0 proc /proc proc defaults 0 0 |
Mit den ersten drei Spalten haben wir uns ja schon kurz beschäftigt, diese enthalten die Einträge für die Partition, den Mount-Punkt und den Dateisystemtyp. Die letzten drei Spalten bedürfen einiger Erklärungen.
Die fünfte Spalte wird von dem Programm dump benutzt um festzustellen, wann diese Partition gesichert werden soll. dump und restore dienen zur Sicherung von Daten.
Die sechste Spalte wird beim Systemstart von dem Programm fsck ausgewertet. Damit wird festgestellt, in welcher Reihenfolge die Dateisysteme beim Systemstart geprüft werden sollen. Die Root-Partition (/) sollte hier den Wert 1 erhalten. Dateisysteme, die nicht überprüft werden sollen, wie zum Beispiel swap oder CD-ROMs, bekommen den Wert 0, alle anderen Dateisysteme bekommen eine 2.
Nein, das ist kein Fehler im Text... zur vierten Spalte kommen wir jetzt. Diese bedarf einiger Erklärungen. Die Einträge in der vierten Spalte werden beim Mounten des Dateisystems benutzt. Sie können hier einen (im einfachsten Fall den Text: default) oder mehrere Werte angeben.
async oder sync - Stellt die Datenübertragung (I/O) auf synchronen oder asynchronen Modus. Im synchronen Modus werden alle veränderten Daten sofort auf das Medium geschrieben, der asynchrone Modus speichert diese zwischen und schreibt später auf das Medium.
ro oder rw - Mountet das Dateisystem zum „Nur-lesen“ (ro - read-only) oder zum Lesen und Schreiben (rw - read-write). Wenn Sie keine Änderungen an einem Dateisystem vornehmen wollen, so können sie dieses „ro“ mounten, um versehentliche Änderungen zu verhindern. Ebenso ist dieser Modus für CD-ROMs geeignet.
auto oder noauto - Beim Systemstart oder wenn Sie das Kommando mount -a benutzen, werden alle Dateisysteme gemountet, welche Sie mit dem Eintrag auto versehen haben. Dateisysteme, die nicht dauerhaft zur Verfügung stehen, wie zum Beispiel Disketten oder CD-ROMs, sollten den Eintrag noauto bekommen. Sie verhindern so eine Fehlermeldung beim Systemstart, müssen diese Dateisysteme allerdings dann von Hand einbinden.
dev oder nodev - nodev ignoriert die Gerätedateien auf dem gemounteten Dateisystem.
user oder nouser - Normalerweise können Dateisysteme nur vom Superuser (root) in das System eingebunden werden. Mit dem Wert user erlauben Sie auch normalern Benutzern das Mounten von Dateisystemen. Sie können so beispielsweise den Zugriff auf das Diskettenlaufwerk oder das CD-ROM für alle Benutzer erlauben.
exec oder noexec - Erlaubt oder verbietet das Ausführen von Programmen, die sich auf diesem Dateisystem befinden.
suid oder nosuid - Wertet das Suid-Bit aus oder nicht.
defaults - Der eigentlich wichtigste Wert, den dieses Feld annehmen kann. Aktiviert die Optionen: rw, dev, suid, exec, auto, nouser, async. Sie können einzelne Werte mit weiteren Parametern überschreiben.
Zurück | Zum Anfang | Nach vorne |
vi | Nach oben | Internationalisierung und Lokalisierung |