FreeBSD identifiziert Dateien anhand eines Dateinamens.
In Dateinamen wird zwischen Groß- und Kleinschreibung
unterschieden: readme.txt
und
README.TXT
bezeichnen daher zwei
verschiedene Dateien. FreeBSD benutzt keine Dateiendungen wie
.txt
, um den Typ der Datei
(ein Programm, ein Dokument oder andere Daten) zu
bestimmen.
Dateien werden in Verzeichnissen gespeichert. In einem Verzeichnis können sich keine oder hunderte Dateien befinden. Ein Verzeichnis kann auch andere Verzeichnisse enthalten und so eine Hierarchie von Verzeichnissen aufbauen, die Ihnen die Ablage von Daten erleichtert.
In Dateinamen werden Verzeichnisse durch einen
Schrägstrich (/
,
Slash) getrennt. Wenn
das Verzeichnis foo
ein Verzeichnis bar
enthält, in dem sich die Datei readme.txt
befindet, lautet der vollständige Name der Datei
(oder der Pfad zur Datei)
foo/bar/readme.txt
.
Verzeichnisse und Dateien werden in einem Dateisystem gespeichert. Jedes Dateisystem besitzt ein Wurzelverzeichnis (Root-Directory), das weitere Verzeichnisse enthalten kann.
Dieses Konzept kennen Sie vielleicht von anderen
Betriebssystemen, aber es gibt einige Unterschiede:
In MS-DOS® werden Datei- und Verzeichnisnamen mit dem
Zeichen \
getrennt, Mac OS® benutzt
dazu das Zeichen :
.
FreeBSD kennt keine Laufwerksbuchstaben und in Pfaden
werden keine Bezeichnungen für Laufwerke benutzt.
Die Pfadangabe c:/foo/bar/readme.txt
gibt es in FreeBSD nicht.
Stattdessen wird ein Dateisystem als Wurzeldateisystem
(root file system)
ausgewählt. Das Wurzelverzeichnis dieses Dateisystems
wird /
genannt.
Jedes andere Dateisystem wird unter dem Wurzeldateisystem
eingehangen
(mount). Daher scheint
jedes Verzeichnis, unabhängig von der Anzahl der
Platten, auf derselben Platte zu liegen.
Betrachten wir drei Dateisysteme A
,
B
und C
. Jedes
Dateisystem besitzt ein eigenes Wurzelverzeichnis, das
zwei andere Verzeichnisse enthält:
A1
,
A2
,
B1
,
B2
,
C1
und
C2
.
Das Wurzeldateisystem soll A
sein.
Das Kommando ls
zeigt darin
die beiden Verzeichnisse A1
und A2
an.
Der Verzeichnisbaum sieht wie folgt aus:
Ein Dateisystem wird in einem Verzeichnis eines anderen
Dateisystems eingehangen. Wir hängen nun das Dateisystem
B
in das Verzeichnis
A1
ein. Das
Wurzelverzeichnis von B
ersetzt nun
das Verzeichnis A1
und
die Verzeichnisse des Dateisystems B
werden sichtbar:
Jede Datei in den Verzeichnissen
B1
oder
B2
kann
über den Pfad /A1/B1
oder /A1/B2
erreicht werden. Dateien aus dem Verzeichnis
/A1
sind jetzt
verborgen. Wenn das Dateisystem B
wieder abgehangen wird
(umount), erscheinen
die verborgenen Dateien wieder.
Wenn das Dateisystem B
unter dem
Verzeichnis A2
eingehangen würde, sähe der Verzeichnisbaum
so aus:
Die Dateien des Dateisystems B
wären
unter den Pfaden /A2/B1
und
/A2/B2
erreichbar.
Dateisysteme können übereinander eingehangen
werden. Der folgende Baum entsteht, wenn im letzten
Beispiel das Dateisystem C
in das Verzeichnis
B1
des Dateisystems
B
eingehangen wird:
C
könnte auch im Verzeichnis
A1
eingehangen
werden:
Der MS-DOS®-Befehl join
kann Ähnliches
bewirken.
Normalerweise müssen Sie sich nicht mit Dateisystemen beschäftigen. Während der Installation werden die Dateisysteme und die Stellen, in der sie eingehangen werden, festgelegt. Dateisysteme müssen Sie erst wieder anlegen, wenn Sie eine neue Platte hinzufügen.
Sie können sogar mit nur einem großen Dateisystem auskommen. Dies hat mehrere Nachteile und einen Vorteil.
Die Dateisysteme können mit unterschiedlichen
Optionen (mount options)
eingehangen werden. Bei sorgfältiger Planung können
Sie beispielsweise das Wurzeldateisystem nur lesbar
einhängen. Damit schützen Sie sich vor dem
unabsichtlichen Löschen oder Editieren kritischer
Dateien. Von Benutzern beschreibbare Dateisysteme
wie /home
können Sie mit der Option nosuid
einhängen, wenn sie von anderen Dateisystemen getrennt
sind. Die SUID- und
GUID-Bits verlieren auf solchen
Dateisystemen ihre Wirkung und die Sicherheit des
Systems kann dadurch erhöht werden.
Die Lage von Dateien im Dateisystem wird, abhängig vom Gebrauch des Dateisystems, automatisch von FreeBSD optimiert. Ein Dateisystem mit vielen kleinen Dateien, die häufig geschrieben werden, wird anders behandelt als ein Dateisystem mit wenigen großen Dateien. Mit nur einem Dateisystem ist diese Optimierung unmöglich.
In der Regel übersteht ein FreeBSD-Dateisystem auch einen Stromausfall. Allerdings kann ein Stromausfall zu einem kritischen Zeitpunkt das Dateisystem beschädigen. Wenn die Daten über mehrere Dateisysteme verteilt sind, lässt sich das System mit hoher Wahrscheinlichkeit noch starten. Dies erleichtert das Zurückspielen von Datensicherungen.
Die Größe von Dateisystemen liegt fest. Es kann passieren, dass Sie eine Partition vergrößern müssen. Dies ist nicht leicht: Sie müssen die Daten sichern, das Dateisystem vergrößert anlegen und die gesicherten Daten zurückspielen.
FreeBSD kennt den Befehl growfs(8), mit dem man Dateisysteme im laufenden Betrieb vergrößern kann.
Dateisysteme befinden sich in Partitionen (damit sind
nicht die normalen MS-DOS®-Partitionen gemeint). Jede Partition
wird mit einem Buchstaben von a
bis
h
bezeichnet und kann nur ein Dateisystem
enthalten. Dateisysteme können daher über ihren
Mount-Point, den Punkt an dem sie eingehangen sind, oder
den Buchstaben der Partition, in der sie liegen, identifiziert
werden.
FreeBSD benutzt einen Teil der Platte für den Swap-Bereich, der dem Rechner virtuellen Speicher zur Verfügung stellt. Dadurch kann der Rechner Anwendungen mehr Speicher zur Verfügung stellen als tatsächlich eingebaut ist. Wenn der Speicher knapp wird, kann FreeBSD nicht benutzte Daten in den Swap-Bereich auslagern. Die ausgelagerten Daten können später wieder in den Speicher geholt werden (dafür werden dann andere Daten ausgelagert).
Für einige Partitionen gelten besondere Konventionen:
Partition | Konvention |
---|---|
a | Enthält normalerweise das Wurzeldateisystem |
b | Enthält normalerweise den Swap-Bereich |
c | Ist normalerweise genauso groß wie
die Slice in der die Partition liegt. Werkzeuge,
die auf der kompletten Slice arbeiten, wie ein
Bad-Block-Scanner, können so die
c -Partition benutzen.
Für gewöhnlich legen Sie in dieser
Partition kein Dateisystem an. |
d | Früher hatte die d -Partition
eine besondere Bedeutung. Heute ist dies nicht mehr der
Fall und die Partition d kann wie
jede andere Partition auch verwendet werden. |
Jede Partition, die ein Dateisystem enthält, wird in einer Slice angelegt. Slice ist der Begriff, den FreeBSD für MS-DOS®-Partitionen verwendet. Slices werden von eins bis vier durchnummeriert.
Die Slice-Nummern werden mit vorgestelltem
s
hinter den Gerätenamen gestellt:
„da0s1“
ist die erste Slice auf dem ersten SCSI-Laufwerk. Auf einer
Festplatte gibt es höchstens vier Slices. In einer
Slice des passenden Typs kann es weitere logische Slices
geben. Diese erweiterten Slices werden ab fünf durchnummeriert:
„ad0s5“ ist
die erste erweiterte Slice auf einer IDE-Platte. Diese
Geräte werden von Dateisystemen benutzt, die sich in
einer kompletten Slice befinden müssen.
Slices, „dangerously dedicated“-Festplatten
und andere Platten enthalten Partitionen, die mit Buchstaben
von a
bis h
bezeichnet
werden. Der Buchstabe wird an den Gerätenamen
gehangen: „da0a“
ist die a
-Partition des ersten
da
-Laufwerks. Dieses Laufwerk ist
„dangerously dedicated“.
„ad1s3e“ ist
die fünfte Partition in der dritten Slice der zweiten
IDE-Platte.
Schließlich wird noch jede Festplatte des Systems eindeutig bezeichnet. Der Name einer Festplatte beginnt mit einem Code, der den Typ der Platte bezeichnet. Es folgt eine Nummer, die angibt, um welche Festplatte es sich handelt. Anders als bei Slices werden Festplatten von Null beginnend durchnummeriert. Gängige Festplatten-Namen sind in Tabelle 4.1, „Laufwerk-Codes“ zusammengestellt.
Wenn Sie eine Partition angeben, erwartet FreeBSD, dass Sie
auch die Slice und die Platte angeben, in denen sich die
Partition befindet. Wenn Sie eine Slice angeben, müssen
Sie auch die Platte der Slice angeben. Setzen Sie den Namen
aus dem Plattennamen gefolgt von einem s
,
der Slice-Nummer und dem Buchstaben der Partition zusammen.
Einige Beispiele finden Sie in
Beispiel 4.1, „Namen von Platten, Slices und Partitionen“.
Der Aufbau einer Festplatte wird in Beispiel 4.2, „Aufteilung einer Festplatte“ dargestellt.
Um FreeBSD zu installieren, müssen Sie zuerst Slices auf den Festplatten anlegen. Innerhalb der Slices, die Sie für FreeBSD verwenden wollen, müssen Sie dann Partitionen anlegen. In den Partitionen wiederum werden die Dateisysteme (oder der Auslagerungsbereich) angelegt. Für Dateisysteme müssen Sie schließlich noch festlegen, wo diese eingehangen werden (Mount-Point).
Code | Bedeutung |
---|---|
ad | ATAPI (IDE) Festplatte |
da | SCSI-Festplatte |
acd | ATAPI (IDE) CD-ROM |
cd | SCSI-CD-ROM |
fd | Disketten-Laufwerk |
Name | Bedeutung |
---|---|
ad0s1a | Die erste Partition (a )
in der ersten Slice (s1 ) der
ersten IDE-Festplatte (ad0 ). |
da1s2e | Die fünfte Partition (e )
der zweiten Slice (s2 ) auf
der zweiten SCSI-Festplatte
(da1 ). |
Das folgende Diagramm zeigt die Sicht von FreeBSD auf die
erste IDE-Festplatte eines Rechners. Die Platte soll
4 GB groß sein und zwei Slices (MS-DOS®-Partitionen)
mit je 2 GB besitzen. Die erste Slice enthält
ein MS-DOS®-Laufwerk (C:
), die zweite
Slice wird von FreeBSD benutzt. Im Beispiel verwendet die
FreeBSD-Installationen drei Datenpartitionen und einen
Auslagerungsbereich.
Jede der drei Partitionen enthält ein Dateisystem.
Das Wurzeldateisystem ist die a
-Partition.
In der e
-Partition befindet sich
der /var
-Verzeichnisbaum
und in der f
-Partition befindet sich
der Verzeichnisbaum unterhalb von
/usr
.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.