Wo ist was im Linux-System

Aus
Version vom 24. Mai 2012, 10:05 Uhr von RudiWiesmayr (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Auf der Disk Station (DS) läuft ein ganz normales Linux. Ganz normal? Fast :)

Wenn man sich mit einem Terminalprogramm auf der DS einloggt (anmeldet), dann kann man sich mit der Login-Shell (Kommandozeile) unterhalten. Diese Shell (ash; ist Teil der BusyBox) versteht eine Menge Kommandos (Commands, Befehle zum Aufrufen von Shell-Funktionen und Programmen). Dazu gibt es bereits ein eigenes Kapitel, das die wichtigsten Kommandos vorstellt.

Die Shell positioniert durch das Anmelden den Benutzer auf sein Home-Directory (Heimat-Verzeichnis). Den Pfad und Namen dieses Directories kann man sich mit dem Kommando pwd (print working directroy) anzeigen lassen. Mit dem Kommando ls (list directory sorted) lässt sich eine Liste der Dateien und Unterverzeichnisse erzeugen. Schöner wird diese Liste durch Hinzufügen der Kommando-Option -l, also ls -l oder abgekürzt ll (= LL kleingeschrieben).

Mit dem Kommando cd / (change directory) positioniert man sich auf die Wurzel (root) des Dateisystems (File-Systems). Führt man anschließend einen ls -l aus, dann erhält man eine Übersichtsliste, die der folgenden ähnlich ist:

drwxr-xr-x    2 root     root         4096 Aug 13 21:01 bin
drwxr-xr-x    3 root     root         4096 Aug 17 19:10 dev
drwxr-xr-x    9 root     root         4096 Aug 17 20:01 etc
drwxr-xr-x    9 root     root         4096 Aug 17 20:01 etc.defaults
drwxr-xr-x    2 root     root         4096 Aug  8 16:47 initrd
drwxr-xr-x    8 root     root         4096 Aug 13 20:58 lib
lrwxrwxrwx    1 root     root           11 Aug 13 20:58 linuxrc -> bin/busybox
drwx------    2 root     root         4096 Aug  8 16:34 lost+found
drwxr-xr-x    2 root     root         4096 Aug  8 16:33 mnt
drwxr-xr-x   31 root     root         4096 Aug 18 15:57 opt
dr-xr-xr-x   98 root     root            0 Jan  1  1970 proc
drwxr-xr-x    2 root     root         4096 Aug 15 14:15 root
drwxr-xr-x    2 root     root         4096 Aug 13 20:58 sbin
drwxr-xr-x    9 root     root            0 Jan  1  1970 sys
drwxrwxrwt    3 root     root          580 Aug 18 18:53 tmp
drwxr-xr-x    7 root     root         4096 Aug 13 20:58 usr
drwxr-xr-x   11 root     root         4096 Aug 17 20:01 var
drwxr-xr-x   11 root     root         4096 Aug 13 20:59 var.defaults
drwxr-xr-x   22 root     root         4096 Aug 18 11:59 volume1
drwxrwxrwx    2 root     root         4096 Aug 14 22:45 volumeUSB1

Wozu gibt es diese Struktur? Was ist nun in den jeweiligen Directories enthalten? Das sind die brennende Fragen. Die Struktur ist hierarchisch, dient der Übersichtlichkeit und gibt es seit der dritten Unix-Version, die 1973 geschrieben wurde. Am Anfang war sie noch sehr schlicht: Es gab nur /bin, /dev, /etc, /tmp, /lib und /usr. Mitte der 90er Jahre ist sie standardisiert worden (POSIX) und ist in fast jedem modernen Betriebssystem vorhanden (sogar in Windows wird sie eingerichtet, wenn man die Unix-Tool-Suite für Windows von Microsoft installiert).

/ root
/bin binaries - Verzeichnis, in dem alle Programme stehen, die von den Benutzern ausgeführt werden dürfen
/dev devices - Gerätedateien = symbolische Namen für die Treiberendpunkte der Geräte
/etc et cetera - alle wichtigen Konfigurationsdateien des Betriebssystems
/etc.defaults die originalen Konfigurationsdateien des Betriebssystems
/initrd (leer) enthält während des Bootens (Startphase) das initialisierende root-directory, welches später zu / wird
/lib libraries - alle wichtigen Standard-Funktionen der Programme, die, da sie wiederverwendbar sind, in sogenannten libraries (Bibliotheken) ausgelagert sind
/linuxrc rc = run commands = Datei mit automatischen Startprogrammen. Ist hier ein Link auf die BusyBox, die sich so als init-Prozess startet. Sie besitzt eine eingebaute Liste der Aktivitäten (inittab), die während der Initialisierungsphase ausgeführt werden müssen. Dies wird bei anderen Unix-/Linux-Systemen oft durch eine externe Datei namens /etc/inittab vorgegeben. Für den init-Prozess der BusyBox gilt die Regel: fehlt die externe inittab, wird die intern eingebaute inittab verwendet.
/lost+found wird als Directory vom fsck (file-system-check) genutzt, falls verwaiste Blöcke gefunden werden, werden sie hier abgelegt
/mnt mount point - Standard-Mount-Verzeichnis. Ist meist leer. Kann aber für temporäre Mounts benutzt werden. Was ist Mounten? Mounten ist die Verknüpfung zweier Dateisysteme unter Linux.
/opt optional packages - wird durch die Installation des ipkg (Itsy Package Management System) angelegt und enthält die optional hinzugeladenen Programme und Dateien. Ist eine Verknüpfung auf das Verzeichnis /volume1/opt (mount --bind /volume1/opt /opt).
/proc virtuelles Dateisystem, welches ein allgemeines Interface (Schnittstelle, die sich wie ein Dateisystem verhält) zu Kernel und Prozess-Informationen ist
/root Home-Directory des Benutzers root (Systemadministrator)
/sbin system binaries - Verzeichnis, in dem alle Programme stehen, die spezielle Privilegien benötigen um ausgeführt werden zu dürfen, Systemverwaltungsprogramme, Daemon-Programme (=Server-Programme, Dienste)
/sys virtuelles Dateisystem, welches ein allgemeines Interface (Schnittstelle, die sich wie ein Dateisystem verhält) zu Kernel-Einstellungen ist. Hier kann man zur Laufzeit Werte abfragen, aber auch setzen bzw. ändern.
/tmp virtuelles Dateisystem für temporäre Dateien (werden nicht auf der Platte gespeichert). Ist standardmäßig 50% des RAMs groß. Da es im virtuellen Speicher liegt, kann es ausgelagert werden (swap). Wird u.a. benutzt für die Interprozeß-Kommunikation (ähnlich shared Memory).
/usr Directory der User-Verzeichnisse. Hier werden auch die Programme und Einstellungen der Anwendungen abgelegt. Unter Anwendung versteht man die Programme, die nicht direkt zum Linux-Betriebssystem gehören. Ein wenig schwammige Abgrenzung, weil darunter auch die Benutzeroberflächen fallen und viele andere Programme, die man heut zu Tage eher zum Betriebssystem zählen würde
/var various - Verzeichnis, in dem alle Hilfs- oder Protokoll-Dateien liegen.
/var.defaults Verzeichnis, das die Struktur für den Aufbau des various-Verzeichnisse enthält
/volume1 Dateisystem-Mount-Point für die Datenpartition der Platte 1 (bei RAID, des ersten DatenRAIDs)
/volumeUSB1 Dateisystem-Mount-Point für die erste Partition des externen USB-Laufwerks


Dateisysteme

Wer sich ein wenig zum Thema 'Dateisysteme' informieren möchte, findet hier [1] einen guten Einstieg.