[[Getestet(general)]] [[TableOfContents(1)]] = Übersicht über die Dateisystemhierachie = Die Verzeichnisse eines Linux-Systems folgen bis auf wenige Ausnahmen den Regeln, die der so genannte [http://www.pathname.com/fhs/ Filesystem Hierarchy Standard] {en} festlegt - ein Standard, auf den sich die einzelnen Linux-Distributoren geeinigt haben. Das hat den enormen Vorteil, dass bei allen Linux-Distributionen das Dateisystem gleich aufgebaut ist und weitgehend die selben Verzeichnisse enthält. Eine Übersetzung findet man [http://www.bitloeffel.de/DOC/fhs/fhs_de.html hier] {de} . Auch bei Wikipedia ist eine entsprechende Seite zu [http://de.wikipedia.org/wiki/Filesystem_Hierarchy_Standard finden] {de} . * '''/''' Das ist die Wurzel des Dateisystems, das so genannte [http://de.wikipedia.org/wiki/Stammverzeichnis Root- oder Stammverzeichnis] {de} . Im Prinzip kann man es mit C:\ aus der Windows-Welt vergleichen, nur dass es auf einem Linux-System nur ein Rootverzeichnis gibt. Alle weiteren Verzeichnisse - auch weitere Datenträger - erscheinen in der Baumstruktur unterhalb von /. * '''/bin''' Hier befinden sich wichtige Programme ('''bin'''aries) zur Systemverwaltung, die immer verfügbar sein müssen, wie z.B. echo oder kill. Anwendungsprogramme wie z.B. OpenOffice.org befinden sich '''nicht''' in diesem Verzeichnis. * '''/boot''' Hier wird der Kern des Betriebssystems - der Kernel - abgelegt. Dieses Verzeichnis muss unbedingt während des Boot-Prozesses lesbar sein, weil sonst der Kernel nicht geladen werden kann und somit der Rechner nicht startet. Außerdem befindet sich hier ein Teil des Bootloaders und seine Konfigurationsdateien. * '''/cdrom''' Dieses Verzeichnis gehört nicht zum Standard-Verzeichnisbaum. Es ist unter Ubuntu lediglich eine Verknüpfung zum Verzeichnis '''/media/cdrom0''', dem eigentlichen Einhängepunkt einer CD-ROM. * '''/dev''' Dieses Verzeichnis enthält ausschließlich Gerätedateien für die gesamte Peripherie ('''dev'''ices). Diese Gerätedateien dienen als Schnittstellen für die eingesetzte Hardware. Zum Beispiel ist '''/dev/fd0''' für die Kommunikation mit dem (ersten) Diskettenlaufwerk ('''f'''loppy '''d'''isk 0) zuständig. * '''/etc''' Hier befinden sich die globalen Konfigurationsdateien des Systems. Dies sind in der Regel einfache Textdateien, die mit einem beliebigen Editor verändert werden können. Daher ist /etc auch bei Backups immer zu berücksichtigen. Die '''F'''ile'''s'''ystem-'''Tab'''elle ([:Datenträger:fstab]) befindet sich z.B. in diesem Verzeichnis. * '''/floppy''' Dieses Verzeichnis ist eigentlich gar keines, sondern eine Verknüpfung zu dem Ordner, der die Dateien des Diskettenlaufwerks enthält. Dieser Ordner kann an verschiedenen Stellen im Dateisystem liegen, meist jedoch entweder '''/mnt/floppy''' oder bei manchen neueren Distributionen unter '''/media/floppy'''. * '''/home''' Das Home-Verzeichnis ist wohl eines der meistgenutzten Verzeichnisse. Die Heimatverzeichnisse der angelegten "normalen" Benutzer werden hier als Unterverzeichnisse angelegt. Nur in seinem Home-Verzeichnis kann ein Benutzer Dateien und Verzeichnisse anlegen, ändern oder löschen. Das Lesen in anderen Home-Verzeichnissen ist allerdings standardmäßig erlaubt. Wer das nicht zulassen möchte, muss die Berechtigungen selber ändern. Es empfielt sich meistens für dieses Verzeichnis eine eigene Partition anzulegen (siehe unten). * '''/initrd''' Hierbei handelt es sich um eine Verknüpfung zu der "initial ramdisk" des neuesten (üblicherweise) installierten Kernels. Was eine "initrd" ist, soll hier nicht ausgeführt werden. * '''/lib''' Hier liegen die Programmbibliotheken ('''lib'''raries). Diese Bibliotheken enthalten Funktionen, die von mehreren Programmen (gleichzeitig) genutzt werden. Das spart jede Menge Systemressourcen. Von diesem Verzeichnis sollte man am besten die Finger lassen! * '''/lost+found''' Auch dieses Verzeichnis gehört nicht zum Standard-Verzeichnisbaum. Es wird nur angelegt, wenn man das Dateisystem ext3 verwendet und ist normalerweise leer. Bei einem Systemabsturz werden gerettete Daten beim nächsten Systemstart hierher verschoben. * '''/media''' In diesem Verzeichnis werden - allerdings nicht bei allen Distributionen - die Mountpunkte für Wechseldatenträger (CD-Rom Laufwerk, Diskettenlaufwerk) als Unterverzeichnisse angelegt. Andere Distributionen nutzen dafür das Verzeichnis '''/mnt'''. * '''/mnt''' Das Standard-Mountverzeichnis unter Linux heißt '''/mnt''' ('''m'''ou'''nt'''= einhängen). Es wird allerdings unter Ubuntu standardmäßig nicht benutzt, ist aber vorhanden. Stattdessen wird das Verzeichnis '''/media''' verwendet. Festplatten-Partitionen anderer Betriebsysteme sollte man aber der Ordnung halber hier einhängen. * '''/opt''' Gehört nicht zum Standard und ist auch nicht bei jeder Distribution im Dateisystem vorhanden. In '''/opt''' können vom Benutzer selbst installierte Programme, die nicht als Pakete vorliegen (wie z.B. die neusten Firefox- oder Thunderbird-Versionen), ('''opt'''ional) installiert werden. Dadurch wird die Paketverwaltung nicht gestört. * '''/proc''' Ist ein (virtuelles) Dateisystem, in dem Informationen über aktuell laufende Prozesse ('''proc'''ess) in Unterverzeichnissen gespeichert werden. Außerdem legt das Betriebssystem hier Informationen über das System ab, z.B. kann man in '''/proc''' die aktuelle CPU-Temperatur finden, die per ACPI ausgelesen wird. * '''/root''' Das Heimatverzeichnis des Superusers root. Es liegt traditionell im Wurzelverzeichnis, damit der Systemverwalter auch bei Wartungsarbeiten darauf Zugriff hat. * '''/sbin''' Hierin befinden sich, ähnlich wie in '''/bin''', wichtige Programme. Sie dienen jedoch meist der Systemadministration und sind dem Superuser root vorbehalten. * '''/srv''' Gehört nicht zum Standard. Dieses Verzeichnis soll Beispielumgebungen für Web- und FTP-Server enthalten. Unter Ubuntu ist es in der Regel leer. * '''/sys''' Hier liegen Systeminformationen des Kernels. * '''/tmp''' Dieses Verzeichnis kann jederzeit von Benutzer und Programmen als Ablage für temporäre Dateien verwendet werden. Daher hat auch jeder Benutzer in diesem Verzeichnis Schreibrechte. Diese Daten werden jedoch bei jedem Shutdownvorgang gelöscht. Daher sollte man hier keine Daten ablegen, die man später noch gebrauchen möchte. * '''/usr''' Das bedeutet nicht wie vielfach angenommen "User", sondern '''U'''nix '''S'''ystem '''R'''esources. Das Verzeichnis '''/usr''' hat die umfangreichste Struktur des Linux-Systems. Hier liegt ein Großteil der (als Pakete) installierten Programme, die meisten davon im Unterverzeichnis '''/usr/bin'''. Auch die Dateien der grafischen Oberfläche (X-Window System) werden hier gespeichert. * '''/var''' Hier werden, ähnlich '''/tmp''', Daten gespeichert, die sich ständig verändern, so z.B. die Zwischenablage, Logdateien ('''/var/log/'''), die Druckerwarteschlange, etc. {{{#!Experten Noch mehr Informationen - auch über viele Unterverzeichnisse - liefert das Kommando '''man hier''' in einem Terminal. Das Wort "hier" steht in diesem Fall für "Description of the file system hierarchy", zu deutsch: "Beschreibung der Hierarchie des Dateisystems". Für die deutschsprachigen Manpages ist die Installation des Paketes '''manpages-de''' erforderlich. Alternativ kann man die Dokumentation etwas komfortabler über den Browser [http://www.ubuntuusers.de/viewtopic.php?t=374 aufrufen]. }}} [[Anchor(Dateisysteme)]] = Dateisysteme = * '''ext3''' Ein Klassiker unter den Dateisystemen. Es ist ein Jornalaufsatz für ext2 und darum komplett abwärtskompatibel. * '''reiserfs''' Wurde von Hans Reiser entwickelt und war das erste Journaling-Dateisystem unter Linux. Es soll sich vor allem für viele kleine Dateien eignen. * '''xfs''' Ein aufgrund seiner Leistungsfähigkeit sehr beliebtes Dateisystem. Es stammt von SGI und wurde von [http://de.wikipedia.org/wiki/IRIX IRIX] {de} nach Linux portiert. '''Achtung:''' Es kann von [:GRUB:] vor Version 0.91. nicht erkannt werden. * '''ext2''' Lange Zeit das Standard-Dateisystem von Linux. Allerdings ist es aufgrund des fehlenden Journalings überholt. * '''jfs''' Ein relativ unübliches Dateisystem, das aus IBMs UNIX-Derivat [http://de.wikipedia.org/wiki/AIX AIX] {de} stammt. * '''vfat''' Microsofts FAT32. Der Einsatz unter Linux ist etwas problematisch, da es die Unix-Zugriffrechte nicht versteht. Es eignet sich aber hervorragend für Austauschpartitionen, da das Dateisystem von Linux und Windows problemlos beschrieben werden kann. * '''fat''' Bezeichnet das (veraltete) FAT16 Dateisystem von Microsoft. * '''ntfs''' Das aktuelle NTFS-Format von Microsoft. Für Schreibsupport in Edgy siehe [:NTFS:]. = Einteilung der Partitionen = Im Prinzip kann man ein Linux Betriebssystem auf zwei Partitionen (einmal das Wurzelverzeichnis '''/''' und einmal '''swap''') installieren. Doch in Anbetracht der Datensicherheit im Falle einer Neuinstallation, sollte man ein bisschen mehr Aufwand treiben. * Es ist bei einem Linux-System sinnvoll für '''/home''' eine eigene Partition zu wählen. Wie schon erwähnt werden hier sämtliche persönliche Daten abgelegt. So können die Benutzer bei einer Neuinstallation des Betriebssystems ihre persönlichen Daten behalten, ohne dass Backups eingespielt werden müssen. * Die Größe des Root-Verzeichnisses '''/''' hängt vom installierten System ab. Wird ein grafisches System mit X und [:GNOME:], [:KDE:] oder [:Xfce:] genutzt und werden zusätzlich viele "große" Programme wie OpenOffice.org, Entwicklungsumgebungen zur Programmierung usw. installiert, sollte man eine Root-Partition von 5-10 GB einplanen. Ein "minimalistisches" System ohne graphische Oberflächen kommt mit 200-300 MB aus. * Die '''swap'''-Partition (ähnlich zur Windows Auslagerungsdatei) sollte bei einem System mit wenig RAM Speicher (weniger als 512 MB) etwa die doppelte Größe des RAM haben. Bei mehr als 512 MB RAM ist als Swap-Speicher die einfache Größe des RAM in der Regel ausreichend. == Partitionierungsvorschlag == Bei einer Festplattengröße von 80 GB und einem RAM von 256 MB ist folgende Partitionierung sinnvoll: * Boot-Partition (/boot): 100 MB (optional, jedoch Pflicht, wenn / mit "exotischen" Dateisystemen wie XFS formatiert wird) * Root-Partition (/): 5-10 GB * Swap-Partition (swap): ca. 500 MB (ca. das Doppelte vom RAM) * Home-Partition (/home): Der Rest der freien Speichers der Festplatte, mindestens 1 GB. {{{#!Experten Bei unpartitionierten Festplatten kann man eine einzige den gesamten freien Speicherbereich umfassende erweiterte Partition erstellen, welche alle anderen Partitionen als logische Partition aufnimmt. Wenn bei einer Bootloaderinstallation, bei einem GRUB-/Kernelupdate der seltene Fall eintritt, dass die Partitionsliste im Bootsektor beschädigt wird, genügt es, die erweiterte Partition wieder herzustellen, um die Daten auf der Festplatte zu retten. Windows kann selbstverständlich in eine der logischen Partitionen installiert werden, üblicherweise vor Linux. Bei einer beschädigten Partitionsliste erscheint die betreffende Festplatte oft als unpartitioniert. Hinweise: 1. Es ist möglich, mit geeigneten Programmen das/die betroffenen Partitionsjournale wieder herzustellen, dazu müssen aber die erforderlichen Daten bekannt sein. [http://www.cgsecurity.org/wiki/TestDisk TestDisk] {en} kann möglicherweise beschädigte Partitionstabellen wiederherstellen. (Das Tool ist z.B. enthalten auf der [http://www.ultimatebootcd.com/ Ultimate Boot CD] {en} . 1. Es ist NICHT ausreichend, mit gparted die erweiterte Partition neu zu erstellen. 1. Es ist unter Umständen NICHT ausreichend, ein Backup des Boot-Sektors, der 1. Spur oder der Partitionstabelle im Boot-Sektor zurückzuspielen. 1. Es ist möglich, mit dem Zurückspielen eines PARTITIONSBACKUPS eine Datenrettung auszuführen. }}} ---- * [:Kategorie/Einsteiger:] * [:Kategorie/System:]