Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Leitfaden für die Nutzung des Buchs und der beiliegenden DVDs
Das Terminal – sinnvoll oder überflüssig?
1 Die Wurzeln von Ubuntu
2 Was ist Ubuntu?
3 Die Versionen im Detail
4 Daten sichern, migrieren und synchronisieren
5 Die Installation
6 Erste Schritte
7 Kubuntu
8 Programme und Pakete installieren
9 Internet und E-Mail
10 Office
11 Grafik und Bildbearbeitung
12 Multimedia
13 Programmierung und Design
14 Software- und Paketverwaltung
15 Architektur
16 Backup und Sicherheit
17 Desktop-Virtualisierung
18 Serverinstallation
19 Administration und Monitoring
20 Netzwerke
21 LAN-Server – im Firmennetzwerk oder als Multimediazentrale
22 Der Server im Internet
23 Servervirtualisierung mit KVM
24 Servervirtualisierung mit Xen
25 Hilfe
26 Befehlsreferenz
A Mark Shuttleworth
Stichwort

Download:
- ZIP, ca. 50,6 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Ubuntu GNU/Linux von Marcus Fischer
Das umfassende Handbuch, aktuell zu Ubuntu 11.04 »Natty Narwhal«
Buch: Ubuntu GNU/Linux

Ubuntu GNU/Linux
geb., mit 2 DVDs
1118 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1765-1
Pfeil 15 Architektur
  Pfeil 15.1 Betriebssysteme
  Pfeil 15.2 Details des Boot-Vorgangs
  Pfeil 15.3 GRUB 2
    Pfeil 15.3.1 Aufbau
    Pfeil 15.3.2 Wie konfiguriert man GRUB?
    Pfeil 15.3.3 Wiederherstellung
  Pfeil 15.4 Start- und Stoppskripte
  Pfeil 15.5 Dienste
  Pfeil 15.6 Initialisierung
    Pfeil 15.6.1 Runlevel
    Pfeil 15.6.2 init
    Pfeil 15.6.3 Upstart
  Pfeil 15.7 Plymouth
  Pfeil 15.8 Dateisystem
    Pfeil 15.8.1 Aufbau moderner Softwarestrukturen
    Pfeil 15.8.2 Datenträger
    Pfeil 15.8.3 Die fstab
    Pfeil 15.8.4 Swap
    Pfeil 15.8.5 Der Verzeichnisbaum
    Pfeil 15.8.6 Beschädigte Dateisysteme reparieren
  Pfeil 15.9 Kernel und Module
    Pfeil 15.9.1 Kernel
    Pfeil 15.9.2 Module
    Pfeil 15.9.3 Einen eigenen Kernel bauen
  Pfeil 15.10 64-Bit: ja oder nein?
    Pfeil 15.10.1 Installation von Ubuntu 64
    Pfeil 15.10.2 Paralleles Arbeiten mit 32-Bit-Software
    Pfeil 15.10.3 Benchmarking – Vergleich mit 32-Bit-Systemen


Galileo Computing - Zum Seitenanfang

15.8 Dateisystem  Zur nächsten ÜberschriftZur vorigen Überschrift

Linux ist wie eine Zwiebel? Stimmt, aber Sie werden dennoch nicht weinen, wenn Sie sich näher mit dem Aufbau von Linux beschäftigen. Der Zwiebel-Vergleich soll das Schalenmodell verdeutlichen, das wir zur Veranschaulichung von Linux verwenden können.


Galileo Computing - Zum Seitenanfang

15.8.1 Aufbau moderner Softwarestrukturen  Zur nächsten ÜberschriftZur vorigen Überschrift

Sie haben während des Boot-Vorgangs schon Bekanntschaft mit den einzelnen Schichten des Gesamtkunstwerks »Linux« gemacht. Wird ein Programm im System gestartet, so kommuniziert es über einige Ebenen hinweg mit der Hardware. Abbildung zeigt den prinzipiellen Aufbau moderner Softwarestrukturen am Beispiel des Betriebssystems Linux.

Abbildung 15.6  Die Softwareschichten des Linux-Systems liegen übereinander wie bei einer Zwiebel.

Um zu verstehen, woran es liegt, wenn ein bestimmtes Programm nicht so läuft, wie Sie möchten, sollten Sie zuerst festzustellen versuchen, welche der obigen Schichten für die Fehlfunktion verantwortlich ist. Ein Beispiel: In den Internet-Newsgroups liest man oft von Linux-Einsteigern, die es geschafft haben, ihr System zum Absturz zu bringen. In 99,9 % aller Fälle ist das System aber gar nicht abgestürzt; lediglich ein Glied der Kette funktioniert nicht mehr: Beispielsweise könnte ein Grafikprogramm den Fenstermanager zum Abstürzen gebracht haben.

Störungen bei der grafischen Oberfläche

Selbst wenn Sie während des Betriebs von Ubuntu plötzlich Störungen in der grafischen Oberfläche haben, wenn beim Einbinden von externen Grafikkartentreibern z. B. etwas schiefgelaufen ist, so haben Sie immer noch die Möglichkeit, auf der Konsole weiterzuarbeiten, um das Problem zu lösen. Wissen Sie noch, wie Sie auf die Konsole(n) von Linux gelangen? Richtig: Mit der Tastenkombination (Strg) + (Alt) + (F1) bis (F6) kommen Sie auf die sechs Standardkonsolen von Linux, und mit (Strg) + (Alt) + (F7) gelangen Sie zurück auf den X-Server.


Tipp 223: X-Server-Neustart mit der magischen Tastenkombination

Für einen simplen Neustart des grafischen Systems (X-Server) brauchen Sie nicht das gesamte System zeitaufwendig neu zu starten. Bei älteren Ubuntu-Versionen erledigt die Tastenkombination (Strg) + (Alt) + (Backspace) dies blitzschnell für Sie. Bei neueren Ubuntu-Versionen verwenden Sie stattdessen die Tastenkombination (Alt) + (Druck) + (K) . Diese beendet alle Programme der aktuellen Konsole. Führen Sie sie also im X-Server aus, so wird dieser beendet.

Diese Tastenkombination ist nur für den Notfall gedacht, alle laufenden Programme werden sofort geschlossen, und Sie finden sich auf dem Anmeldebildschirm wieder. Wenn Sie laufende Programme auf diese Art und Weise »schließen«, ist ein Datenverlust meistens nicht zu vermeiden.



Galileo Computing - Zum Seitenanfang

15.8.2 Datenträger  Zur nächsten ÜberschriftZur vorigen Überschrift

Wenn Sie sich auf eine Entdeckungsreise durch Ihr neues System machen, werden Sie ziemlich schnell feststellen, dass es unter Linux keine Laufwerksbuchstaben wie beispielsweise \mbox{C:\} gibt. Umsteiger von Windows auf Linux fragen sich oft, wo die gewohnten Laufwerksbuchstaben zu finden sind. Die Antwort ist einfach: Nirgendwo – es gibt sie schlichtweg nicht. Dateisysteme werden unter Linux ganz anders und wesentlich flexibler gehandhabt. Man spricht bei Linux von einem Verzeichnisbaum. Wir werden diesen im Folgenden gemeinsam genauer betrachten, beginnend bei den Wurzeln des Systems. Diese Wurzeln sind dafür verantwortlich, dass der Baum »Linux« einen sicheren Stand hat – selbst wenn ungebetene Gäste an ihm hochklettern möchten (z. B. Viren oder sonstige Eindringlinge).

Ubuntu wächst

Wir aber haben den Baum in unserem Computer – einem kleinen Biotop für vom Aussterben bedrohte Betriebssysteme – gepflanzt und ihn liebevoll gepflegt, bis er groß wurde. Nun dürfen wir auch in seine Krone klettern und den Ausblick von dort genießen. Und schauen Sie sich um: Merken Sie, wie klein die Microsoft-Bäume von hier aus sind?

Skalierbarkeit

Nun aber genug der biologischen Abschweifungen, und ran an die Arbeit. Datenträger befinden sich physisch immer an einem bestimmten Ort, dies ist keine Überraschung. Als »Datenträger« bezeichnet man unter anderem die Partition einer Festplatte oder ein CD-ROM-Laufwerk. In einem Linux-System werden diese Datenträger an einer bestimmten Stelle in einem Verzeichnisbaum verwendet (/home/media/cdrom ...). An der Schreibweise dieser »Orte« können Sie schon erkennen, dass es sich um (beliebige) Verzeichnisse handelt.

Der physische Ort ist zweitrangig

Unter Linux lässt sich der Ort, an dem Sie auf einen Datenträger zugreifen können, beliebig festlegen. An der Stelle des Verzeichnisses /home/benutzer/test könnte sich demzufolge technisch gesehen eine Festplattenpartition befinden oder eine CD-ROM oder etwas ganz anderes.

Dies kann mehrere Vorteile haben, z. B. bei der Datensicherung. Ich möchte Ihnen hierzu ein kurzes Beispiel geben. Bei der Installation des Betriebssystems haben Sie alles auf einer einzigen Partition gespeichert, das System ebenso wie die Dateien der einzelnen Benutzer selbst. Nun haben Sie eine zusätzliche Festplatte oder Partition in Ihrem Computer und möchten diese Dateien auf die neue Partition verschieben. Unter Windows wären die Daten dann unter einem anderen Laufwerksbuchstaben erreichbar. Bei Linux nicht; /home bleibt /home, ob darunter nun die einzige Partition der einzigen Festplatte liegt, die dritte Partition auf der externen Festplatte oder eine Netzwerkfreigabe auf irgendeinem Server oder was auch immer. Man spricht hier von »Skalierbarkeit« – Linux ist in höchstem Maße skalierbar.

Mounten

Jeder Datenträger kann also jederzeit an einer beliebigen Stelle in den Verzeichnisbaum eingehängt werden. Dieser Vorgang wird auch als Einbinden oder Mounten bezeichnet. Zwischen dem physischen Ort und dem Zugriffsort besteht kein Zusammenhang.


Tipp 224: Zugriffszeiten messen

Wenn Sie wissen möchten, wie hoch die Lese- und Schreibraten Ihrer Festplatte sind, können Sie das Werkzeug hdparm verwenden:

sudo hdparm -tT --direct /dev/sda

Gegebenenfalls müssen Sie eine andere Hardwareadresse angeben. Eine Ausgabe sieht folgendermaßen aus:

/dev/sda:
Timing O_DIRECT cached reads:   426 MB in  2.01 seconds = 212.20 MB/sec
Timing O_DIRECT disk reads:  208 MB in  3.01 seconds =  69.05 MB/sec

Wie Sie an der Ausgabe erkennen, erreicht die Festplatte beim Lesen bis zu 212,2 MBit/s.



Galileo Computing - Zum Seitenanfang

15.8.3 Die fstab  Zur nächsten ÜberschriftZur vorigen Überschrift

Jedes Dateisystem kann einem Mount-Punkt (Einhängepunkt) zugewiesen werden. So weiß das System beim Start, welcher Datenträger z. B. das Verzeichnis /home enthält

oder wo das CD-ROM-Laufwerk einzuhängen ist. Diese Zuordnungen sind in einer Datei namens fstab(Filesystem Table) gespeichert, die sich im Verzeichnis /etc befindet. In dieser /etc/fstab werden die physischen Datenträger gemeinsam mit ihren Einhängepunkten aufgelistet.

Abbildung 15.7  Ein Beispiel für eine »fstab«-Datei

Konfigurationsdateien

Die meisten editierbaren Konfigurationsdateien für einzelne Bestandteile des Systems befinden sich im Verzeichnis /etc. Sie finden hier unter anderem die Dateien /etc/apt/sources.list zum Bearbeiten der Paketquellen sowie /etc/X11/xorg.config zum Modifizieren der Konfiguration des X-Servers. Sämtliche Dateien sind generell für das Bearbeiten durch einzelne User gesperrt. Nur Benutzer mit sudo-Rechten dürfen diese Dateien editieren (lesbar sind sie für jeden).

Wenn Sie fstab bearbeiten möchten, rufen Sie die Datei wie folgt auf:

sudo gedit /etc/fstab

Die Datei fstab besteht aus mehreren Einträgen:

  • Geräte
    Im Verzeichnis /dev befinden sich alle Gerätedateien, mit deren Hilfe sich die Hardware, also das physische Gerät (z. B. eine Partition auf einer Festplatte oder ein CD-ROM-Laufwerk), ansprechen lässt. Wenn Sie in dieses Verzeichnis hineinschauen, werden Sie den Nautilus wahrscheinlich gleich wieder erschrocken schließen. Eine nahezu unüberschaubare Anzahl an Gerätetreibern erwartet Sie dort. Aber keine Angst: Auch wenn es nicht so aussehen mag, die Bezeichnung dieser Geräte folgt einem einfachen Schema, das Sie nun kennenlernen werden.
  • An erster Stelle steht die Art des Geräts:
  • Festplatten (also viele normale, interne Festplatten) beginnen mit den Buchstaben sd.
  • Normale CD/DVD-Laufwerke (ATAPI) beginnen ebenfalls mit sd, denn sie werden ebenso wie Festplatten angeschlossen.
  • Externe oder SCSI-CD/DVD-Laufwerke beginnen mit scd.

Nun kann es in einem Computer mehrere IDE-Anschlüsse geben, so dass die bisherige Benennung nicht ausreicht. Deswegen folgt als nächster Buchstabe die Art des Anschlusses. Bei IDE-Geräten (internen Festplatten und CD-ROM-Laufwerken) ist es wichtig, mit welchem IDE-Anschluss das Gerät verbunden ist. Jeder Anschluss kann zwei Geräte aufnehmen (die dann »Master« und »Slave« genannt werden, bei SATA-Geräten brauchen Sie sich darum nicht zu kümmern):

  • Das Master-Gerät am ersten Anschluss erhält den Buchstaben a (/dev/sda).
  • Das Slave-Gerät am ersten Anschluss erhält den Buchstaben b (/dev/sdb).
  • Das Master-Gerät am zweiten Anschluss erhält den Buchstaben c (/dev/sdc).
  • Das Slave-Gerät am zweiten Anschluss erhält den Buchstaben d (/dev/sdd).
  • SCSI- oder externe CD-ROMS werden, bei 0 beginnend, durchnummeriert (/dev/scd0, /dev/scd1 ...).
  • UUID
    In Ubuntu ist es Standard, Festplattenpartitionen über ihre UUID zu identifizieren. Mit dem Befehl
sudo blkid
    • werden für alle verfügbaren Festplattenpartitionen sowohl der Eintrag in /dev als auch die UUID und, falls vorhanden, das Label angezeigt. Das ist aber noch nicht alles. Festplatten können darüber hinaus in mehrere Partitionen unterteilt sein. Es gibt zwei Arten von Partitionen:
    Pfeil  Die klassischen primären Partitionen werden nummeriert (/dev/sda1, /dev/sdb3 ...).
    Pfeil  Eine der primären Partitionen kann als erweiterte Partition weitere Partitionen, die sogenannten logischen Laufwerke, enthalten. Deren Benennung beginnt in jedem Fall bei der Ziffer 5 (/dev/sdb5, /dev/sda12 ...).
    Pfeil  RAID-Geräte beginnen mit md und werden dann mit 0 beginnend hochgezählt (dev/md0, /dev/md1 ...).
    • Logische Volumes, wie sie beispielsweise von LVM erzeugt werden, finden sich an gesonderter Stelle. Hierzu empfiehlt sich die Lektüre der jeweiligen Anleitung.
  • Dateisystem
    Das Dateisystem ist der dritte Eintrag in der fstab. Die Daten auf einem Datenträger sind dort nicht willkürlich verteilt oder einfach aneinandergehängt, sondern so organisiert, dass Sie auf einzelne Dateien und Verzeichnisse zugreifen, diese verschieben und bearbeiten sowie Berechtigungen zuweisen können. Die zugrundeliegenden Organisationsprinzipien, die solche Aktivitäten erst ermöglichen, werden als Dateisysteme bezeichnet. Es gibt verschiedene Typen, von denen die folgenden für Sie von Interesse sein könnten:
    Pfeil  ext4 ist das Standard-Dateisystem für Festplatten unter Ubuntu.
    Pfeil  iso9660 und udf werden auf CD-ROMs und DVDs verwendet. Sie kennen keine Berechtigungen. udf wird für DVD-RAMs benutzt.
    Pfeil  NTFS ist das Dateisystem neuerer Windows-Versionen. Da die Spezifikation von NTFS geheim ist und freie Treiber den Interessen von Microsoft zuwiderlaufen, müssen die NTFS-Treiber in Linux mit großem Aufwand per Reverse Engineering geschrieben werden. NTFS lässt sich von Linux dennoch problemlos lesen und beschreiben.
    Pfeil  FAT ist das Dateisystem der Windows-Versionen bis Win98/ME. Es ist ziemlich primitiv, neigt zur Fragmentierung und unterstützt keine Berechtigungen. Allerdings kann Linux FAT beschreiben, so dass sich eine mit FAT formatierte Partition zum Datenaustausch mit Windows anbietet.
    • Es gibt bei Linux noch andere Dateisysteme für Festplatten, z. B. ReiserFS oder XFS, die je nach Einsatz in manchen Punkten gegenüber ext4 Vorteile haben können.
  • Mount-Optionen
    Die fstab hat noch mehr Informationen zu bieten. Es folgen verschiedene Optionen, die festlegen, auf welche Weise das betreffende Dateisystem eingehängt werden soll. Beispielsweise führt die Option ro (read-only) dazu, dass auf dem Dateisystem nichts geschrieben werden kann, und noexec (no execution) verbietet das Ausführen von Dateien. Eine ausführliche Auflistung aller Optionen findet sich in der Anleitung zum Befehl mount, die Sie im Terminal mit man mount aufrufen können.

UUID: Die Universally Unique Identifier (UUID) besteht aus einer 16-Byte-Zahl und ist ein Standard für Identifikatoren und wurde von der Open Software Foundation (OSF) als Teil des Distributed Computing Environment (DCE) standardisiert. Die Absicht hinter UUIDs ist, Informationen in verteilten Systemen eindeutig kennzeichnen zu können.

LVM: Der Logical Volume Manager (LVM) ist eine Abstraktionsebene zwischen Festplatten, Partitionen und Dateisystemen. Durch LVM sind dynamisch veränderbare Partitionen (sogenannte Logical Volumes, kurz LV) möglich, die sich auch über mehrere Festplatten hinweg erstrecken können und deren Größe auch nach dem Anlegen eines Dateisystems noch veränderbar sind. Sie erfahren mehr über LVM im Abschnitt »Methode II – Logical Volume Manager«.



Tipp 225: Manuelles Ein- und Aushängen

Der Befehl mount wird verwendet, um ein Dateisystem einzuhängen. Eine typische Anweisung sieht zum Beispiel so aus:

mount -t ext3 -o ro,noexec /dev/hda5 /media/data

Die Option -t gibt den Dateisystemtyp an und kann meist entfallen, da das Dateisystem normalerweise automatisch erkannt wird. Der Option -o folgen die Mount-Optionen. Sie entfällt, wenn keine Optionen anzugeben sind. Wenn ein Dateisystem genau so eingehängt werden soll, wie es in der fstab eingetragen ist, kann entweder die Angabe des Gerätes oder die des Mount-Punktes entfallen.

Zum Aushängen dient der Befehl umount (unmount), gefolgt von der Angabe des Geräts oder des Mount-Punkts.


Was bedeuten diese zwei Zahlen?

Am Ende einer fstab-Zeile stehen zwei merkwürdige Zahlen. Die erste Zahl bezieht sich auf das Programm dumpfs und wird im Moment ignoriert. Sie ist sozusagen prophylaktisch eingebaut, falls sie später gebraucht wird. Die zweite Zahl gibt an, ob und in welcher Reihenfolge das Dateisystem beim Systemstart in die regelmäßigen Fehlerüberprüfungen einbezogen werden soll. Meistens ist an dieser Stelle für die Root-Partition (die Wurzel des Dateisystems, /) 1 eingetragen, für alle anderen Partitionen 2 (danach prüfen) oder 0 (keine Überprüfung). Das Programm dumpfs gibt Informationen über den Superblock und die Blockgruppen eines entsprechenden Gerätes heraus.


Superblock: Der Superblock ist Teil verschiedener Dateisysteme von UNIX. Er enthält zahlreiche Verwaltungsinformationen des Dateisystems wie beispielsweise die Größe und die Anzahl freier Blöcke.


Welches ist die gesuchte Partition?

Es kann vorkommen, dass Sie sich einmal einen Überblick über die Partitionen auf einer Festplatte verschaffen wollen. Damit Sie nicht erst einen Texteditor bemühen müssen (oder falls Sie keine grafische Benutzeroberfläche zur Verfügung haben), können Sie sich die grundlegenden Informationen auch in einem Terminal anschauen:

sudo fdisk -l

Am Partitionstyp und an der relativen Größe lässt sich dann die gesuchte Partition meist leicht herleiten.


Galileo Computing - Zum Seitenanfang

15.8.4 Swap  Zur nächsten ÜberschriftZur vorigen Überschrift

Swap ist eine Art »Hintergrundspeicher« auf einem Massenspeichergerät (beispielsweise die Festplatte), der zusammen mit dem physisch vorhandenen Speicher (RAM = Random Access Memory) den sogenannten virtuellen Speicher (VM = Virtual Memory) bildet. Swap ist im Vergleich zu anderen Speichern sehr langsam – am schnellsten ist das CPU-Register, dann kommen die Level-1- und –2- (und eventuell –3-)Caches.


Swap: Eine »Tauschpartition« auf der Festplatte. Das Swapping beschreibt in der Informatik den Vorgang des Ein- und Auslagerns von Speichersegmenten vom Arbeitsspeicher auf die Festplatte (und zurück). Dieser Vorgang ist Teil der Segmentierung, einer speziellen Art der Speicherverwaltung in Betriebssystemen.


Wie groß soll der Swap-Bereich sein?

Sehr oft hört man, dass der Swap-Bereich ungefähr doppelt so groß wie der RAM sein soll. In vielen Fällen ist es aber nicht sinnvoll, sehr viel Swap anzulegen, auch wenn es bei der Größe heutiger Festplatten kaum eine Rolle spielt, ob Sie einige Gigabyte für einen Swap-Bereich reservieren.

Je nach Bedarf kann der Linux-Kernel Speicherseiten auslagern, d. h., vom RAM in den Swap-Bereich verlagern. Selbst bei genügend RAM kann eine Swap-Partition aber Vorteile bringen, da Speicherseiten, auf die lange nicht zugegriffen wurde, ausgelagert werden können. So kann der physische Speicher beispielsweise als Cache genutzt werden.

Oftmals verwenden PCs ein Suspend-to-Disk, um den Rechner schlafen zu legen. Dazu werden die Speicherseiten auf der Swap-Partition auf der Festplatte abgelegt. Beim nächsten Booten werden die Speicherseiten zurück in den RAM geladen. Um dieses Feature zu nutzen, sollte die Swap-Partition auf der Festplatte also ausreichend groß sein.


Suspend-to-Disk: Der Ruhezustand, auch Hibernation oder Suspend-To-Disk, ist eine Energiesparfunktion moderner Rechner. Der Rechner wird dabei in einen stromlosen Zustand versetzt und der Benutzer kann später an gleicher Stelle weiterarbeiten.



Tipp 226: Swap im laufenden Betrieb leeren

Gerade bei umfangreichen Programmierarbeiten kann es vorkommen, dass man es mit sehr großen Dateien zu tun hat, die den RAM und Swap vollständig ausnutzen. Während der RAM sich sehr schnell wieder leert, bleibt die Swap-Datei gefüllt und steht nicht mehr so schnell zur Verfügung. Dies kann die Leistungsfähigkeit des Systems massiv ausbremsen. Um den Swap-Speicher manuell zu leeren, schalten Sie ihn mit den folgenden Befehlen aus und wieder ein:

swapoff -a
swappon -a

Lässt sich das Swap-Verhalten beeinflussen?

Der Kernel hat im Prinzip zwei Möglichkeiten, wenn der RAM momentan vollständig genutzt wird. Er kann den Cache verkleinern, indem er die ältesten Daten im Cache verwirft, oder es können Speicherseiten, die nur selten angesprochen werden, in den Swap-Bereich ausgelagert werden (/proc/sys/vm/swappiness).

Der Standardwert für swappiness ist 60, im Prinzip kann swappiness Werte zwischen 0 und 100 annehmen. Bei einem Wert von 100 wird der Kernel stets das Auslagern von inaktiven Speicherseiten bevorzugen. Bei einem Wert von 0 wird der Kernel stets das Verkleinern des Caches bevorzugen.

Swappen trotz freiem RAM

Falls übrigens Speicherseiten in den Swap-Bereich ausgelagert wurden und sich danach später die Speicherbelegung des Systems reduziert, so werden die ausgelagerten Seiten nicht automatisch zurück in den RAM geladen (das wäre ineffizient). So kann es passieren, dass eigentlich RAM wirklich frei ist (free, also auch nicht als Cache genutzt wird), trotzdem aber auch Swap-Bereich in Gebrauch ist. Mit einem einfachen echo-Befehl können Sie einen anderen Wert nach /proc/sys/vm/swappiness schreiben – wie üblich beim Tunen des Systems über das proc-Filesystem sollten Sie dabei aber sehr umsichtig vorgehen.


Tipp 227: Virtuellen Speicher (Swap) erstellen

Zum Anlegen einer Swap-Datei generieren Sie sich mit dd eine Datei bestimmter Größe mit Nullen (Auslesen von /dev/zero):

dd if=/dev/zero of=/swap.file bs=1M count=500
chmod 0600 /swap.file
mkswap /swap.file
swapon -v /swap.file
swapon on /swap.file

Diese Datei wandeln Sie dann mit Hilfe von mkswap in eine Swap-Datei um, die wiederum mit swapon aktiviert werden kann. Haben Sie mehrere Swap-Bereiche unterschiedlicher Schnelligkeit, so sollten Sie gegebenenfalls geeignete Prioritäten für die jeweiligen Bereiche angeben. Nach erfolgreicher Aktivierung sollte der neue Swap-Bereich in der Ausgabe von cat /proc/swaps gelistet werden:

cat /proc/swaps
Filename    Type         Size    Used    Priority
/dev/hda6   partition    1052216 3300    –1
Filename     Type         Size    Used    Priority
/dev/hda6    partition    1052216 3300    –1
/swap.file   file         511992  0       –2

Wird beim swapon-Befehl keine Priorität explizit angegeben, so erhält der erste Swap-Bereich eine Standardpriorität, der zweite Bereich eine etwas niedrigere Priorität usw. Swap-Bereiche mit höherer Priorität werden beim Auslagern gegenüber Bereichen mit niedrigerer Priorität bevorzugt.



Galileo Computing - Zum Seitenanfang

15.8.5 Der Verzeichnisbaum  Zur nächsten ÜberschriftZur vorigen Überschrift

Im Dateisystembaum von Linux gibt es drei wichtige und wissenswerte Verzeichnisse:

  • /home enthält die persönlichen Verzeichnisse der Benutzer.
  • In /media erscheinen Wechseldatenträger wie CD-ROMs oder USB-Sticks. (Natürlich erscheint alles auch auf dem Desktop, so dass Sie nur draufklicken brauchen.)
  • /mnt kann wie /media zum Einbinden zusätzlicher Datenträger verwendet werden.

Achtung Solange ein Datenträger eingehängt (gemountet) ist, dürfen Sie ihn nicht entfernen. Bei CDs wird einfach die Schublade verriegelt, bei USB-Sticks müssen Sie allerdings selbst aufpassen: Klicken Sie vor dem Abziehen des Sticks immer mit der rechten Maustaste auf das passende Symbol auf dem Desktop, und bestätigen Sie dann Datenträger sicher entfernen. Wenn Sie ein Gerät nicht ordentlich wieder aus dem Dateibaum aushängen, können Daten verlorengehen.

Aber selbst wenn die Daten nicht verloren gehen, kann es sein, dass Sie das eingehängte Dateisystem auf dem USB-Datenträger beschädigen. Dies äußert sich dann darin, dass Sie den Inhalt des Datenträgers beim nächsten Einhängen nicht mehr lesen können oder dass das Einhängen gänzlich misslingt. Meistens hilft dann ein erneutes Formatieren des Datenträgers, um wieder ein sauberes Dateisystem auf diesem zu erzeugen.

Abbildung 15.8  Verzeichnishierarchie unter Linux

Filesystem Hierarchy Standard

Dass Sie Geräte aus dem Dateisystem entfernen müssen, ist im Prinzip bei Windows nicht anders, nur wissen Sie jetzt durch Linux, warum dies so ist. Die Verzeichnisse eines Linux-Systems folgen bis auf wenige Ausnahmen den Regeln, die der sogenannte Filesystem Hierarchy Standard festlegt. Dies ist ein Standard, auf den sich die Linux-Distributoren geeinigt haben. Diese Festlegung hat den enormen Vorteil, dass bei allen Linux-Distributionen das Dateisystem gleich aufgebaut ist und weitgehend dieselben Verzeichnisse enthält. Welche Verzeichnisse dies sind, werden wir uns im Folgenden erarbeiten:

  • /
    Das ist das Haupt-, Root- oder Wurzelverzeichnis, der Beginn des Verzeichnisbaums. Hier sollten möglichst keine Dateien liegen, nur Verzeichnisse.
  • /bin
    Hier befinden sich wichtige Programme (binaries) zur Systemverwaltung, die immer verfügbar sein müssen, wie echo oder kill. Anwendungsprogramme (wie z. B. LibreOffice) befinden sich nicht in diesem Verzeichnis.
  • /boot
    Dieses Verzeichnis beherbergt das Herz des Betriebssystems, den Kernel. Außerdem enthält es den Bootloader.
  • /cdrom
    Dieses Verzeichnis gehört nicht zum Standard-Verzeichnisbaum. Es ist unter Ubuntu lediglich eine Verknüpfung mit dem Verzeichnis /media/cdrom0, dem eigentlichen Einhängepunkt einer CD-ROM.
  • /dev
    Dieses Verzeichnis enthält ausschließlich Gerätedateien für die gesamte Peripherie (devices). Solche Gerätedateien dienen als Schnittstellen für die eingesetzte Hardware. Zum Beispiel ist /dev/fd0 für die Kommunikation mit dem (ersten) Diskettenlaufwerk (floppy disk 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. Die Dateisystem-Tabelle (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, findet sich meist jedoch entweder unter /mnt/floppy oder bei manchen neueren Distributionen wie z. B. Ubuntu unter /media/floppy.
  • /home
    Das home-Verzeichnis ist wohl eines der meistgenutzten Verzeichnisse. Die Heimatverzeichnisse der angelegten Benutzer werden hier als Unterverzeichnisse angelegt. Nur in seinem home-Verzeichnis kann ein Benutzer Dateien und Verzeichnisse anlegen, ändern oder löschen.
  • /initrd
    Hierbei handelt es sich meist um eine Verknüpfung zu der Initial Ramdisk des (üblicherweise) neuesten installierten Kernels. Bei Ubuntu ist das Verzeichnis leer.
  • /lib
    Hier liegen die Programmbibliotheken (libraries). Diese Bibliotheken enthalten Funktionen, die von mehreren Programmen gleichzeitig genutzt werden. Das spart jede Menge Systemressourcen. Von diesem Verzeichnis sollten Sie am besten die Finger lassen!
  • /lost+found
    Auch dieses Verzeichnis gehört nicht zum Standard-Verzeichnisbaum. Es wird nur angelegt, wenn Sie das Dateisystem ext3/4 verwenden, und ist normalerweise leer. Nach einem Systemabsturz werden gerettete Daten beim nächsten Systemstart hierher verschoben.
  • /media
    In diesem Verzeichnis werden – allerdings nicht bei allen Distributionen – die Mount-Punkte für Wechseldatenträger (CD-ROM-Laufwerk, Diskettenlaufwerk) als Unterverzeichnisse angelegt. Andere Distributionen nutzen dafür das Verzeichnis /mnt.
  • /mnt
    Das Standard-Mount-Verzeichnis unter Linux heißt /mnt. Es wird zwar unter Ubuntu standardmäßig nicht benutzt, ist aber vorhanden. Stattdessen wird das Verzeichnis /media verwendet. Festplattenpartitionen anderer Betriebssysteme sollten Sie 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, (optional) installiert werden.
  • /proc
    Ist ein (virtuelles) Dateisystem, in dem Informationen über aktuell laufende Prozesse (process) in Unterverzeichnissen gespeichert werden.
  • /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, die nur mit Systemverwaltungsrechten ausgeführt werden dürfen.
  • /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
    Gehört nicht zum Standard. Dieses Verzeichnis enthält unter Ubuntu Systeminformationen des Kernels.
  • /tmp
    Dieses Verzeichnis kann jederzeit von Benutzern und Programmen als Ablage für temporäre Dateien verwendet werden. Daher hat auch jeder Benutzer in diesem Verzeichnis Schreibrechte.
  • /usr
    Das Kürzel bedeutet nicht, wie vielfach angenommen, User, sondern steht für Unix System Resources. 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 wie in /tmp, Daten gespeichert, die sich ständig verändern, z. B. die Zwischenablage, die Druckerwarteschlange oder (noch) ungesendete E-Mails.

Galileo Computing - Zum Seitenanfang

15.8.6 Beschädigte Dateisysteme reparieren  topZur vorigen Überschrift

Eine vorhandene Systemkomplettsicherung ist ungemein beruhigend. Dennoch kann das Rückspielen des Backups nur den Systemzustand zum Zeitpunkt der Datensicherung wiederherstellen. Daten, die in der Zwischenzeit auf dem Computer gelandet sind, verlieren Sie trotzdem. Daher ist es immer sinnvoll, vor einer eventuellen Rücksicherung zu versuchen, ein »zerschossenes« System zu reanimieren.


Tipp 228: Dateien finden und sortieren

Sie brauchen nicht immer Ihre Desktop-Suche zu bemühen, wenn Sie einmal schnell und bequem eine Datei finden wollen. Die Dateisuche funktioniert auch hervorragend im Terminal. Eine Allzweckwaffe gegen verlorene Dateien ist der Befehl find.

Leider speichern Dateisysteme wie ext2, ext3 oder ReiserFS kein Erstellungsdatum, so dass Sie Ihre Dateien leider nicht nach diesem filtern können. Allerdings haben Sie bei diesen Dateisystemen die Möglichkeit, die Dateien nach Änderungs- und Zugriffszeitpunkten zu sortieren (inklusive Unterverzeichnisse). Der Befehl

find . -printf 'TY-Tm-Td:TT p n' | sort

sucht nach Dateien, die zu einem definierten Zeitpunkt verändert wurden. Das Kürzel T steht hierbei für die mtime (den Modifikationszeitpunkt). Sie können hier auch C (change time) oder A (access time) verwenden. Y, m, d stehen für year, month, day, geben also die Reihenfolge der Darstellung an.

Um nun bestimmte Dateien zu finden, bietet es sich an, sie nach ihrem Änderungsdatum zu filtern:

find . -mtime +0 – Dateien, die vor mehr als 24 Stunden verändert wurden find . -mtime 0 oder –1 – Dateien, die innerhalb der letzten 24 Stunden verändert wurden

Das kommt in den besten Familien vor: Ein Mitbewohner steckt den Staubsauger in die Steckdose, die Sicherung fliegt raus, und das gerade hochgefahrene Linux-System wird in einer Nanosekunde von 100 auf null gefahren. Linux-Veteranen der ersten Stunde wissen, was in früheren Zeiten damit verbunden war: eine mühsame Überprüfung des Dateisystems, die einige Zeit in Anspruch nahm.

Der Grund für die Verhaltensweise ist der Linux-typische Umgang mit den Schreib-/Lesevorgängen im System: Das System puffert diese im RAM und führt den Befehl dann aus, wenn wenig zu tun ist. Hier wirkt sich ein Crash natürlich tödlich aus: Stürzt das System ab, wenn noch nicht alle Schreib-/Lesevorgänge abgeschlossen sind, so kommt es unweigerlich zu Datenverlusten. Nach dem erneuten Hochfahren des Computers müssen Sie dann in jedem Fall das Dateisystem überprüfen, was je nach Größe der Partition recht langwierig sein kann.

Journaling-Dateisysteme

Heute verwendet man unter Linux sogenannte Journaling-Dateisysteme. Diese führen genau Protokoll über alle anstehenden und abgeschlossenen Dateioperationen, so dass ein notwendiger Datei-Systemcheck relativ schnell erfolgen kann.

Um diese Dateisysteme zu überprüfen, bieten sich mehrere Tools an. Die Kommandos beginnen allesamt mit fsck. Bei Ubuntu wird eine Vielzahl von Dateisystemen unterstützt:

user$ fsck <Tabulatortaste><Tabulatortaste>
fsck         fsck.ext3   fsck.msdos   fsck.reiserfs
fsck.cramfs  fsck.jfs    fsck.nfs     fsck.vfat
fsck.ext2    fsck.minix  fsck.reiser4 fsck.xfs

Bevor Sie aber eines Ihrer installierten Systeme auf Herz und Nieren prüfen, beachten Sie folgenden wichtigen Hinweis: Ein Dateisystem, das überprüft werden soll, muss ausgebunden sein! Anderenfalls bestehen gute Chancen, durch die Reparatur den Zustand des Systems zu »verschlimmbessern«.


Tipp 229: Dateisystem überprüfen

Ein ext-Dateisystem überprüfen Sie folgendermaßen: Geben Sie direkt auf einer Kommandozeile den Befehl

sudo fsck /dev/sda1

ein. Das Dateisystem darf dabei aber nicht eingehängt sein! Benutzen Sie also am besten eine LiveCD/DVD.

Wenn Sie zu dieser langwierigen Aktion einen Fortschrittsbalken sehen möchten, verwenden Sie den Parameter -C. Sollte die Routine nun auf Fehler stoßen, so wird versucht, diese zu reparieren. Bestätigen Sie in diesem Fall sämtliche Nachfragen mit (Y) . Zur Überprüfung des Reiser-Dateisystems verwenden Sie den folgenden Befehl:

sudo reiserfsck --check /dev/hda10

Weitere Parameter und deren Wirkungsweise entnehmen Sie bitte den Manpages von fsck und reiserfsck.


\addtocontents{toc}{\protect\newpage}



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Ubuntu GNU/Linux

Ubuntu GNU/Linux
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux Server






 Linux Server


Zum Katalog: Linux-Server einrichten und administrieren






 Linux-Server
 einrichten und
 administrieren


Zum Katalog: Linux Hochverfügbarkeit






 Linux Hoch-
 verfügbarkeit


Zum Katalog: Linux






 Linux


Zum Katalog: Debian






 Debian


Zum Katalog: Android 3






 Android 3


Zum Katalog: GIMP






 GIMP


Zum Katalog: Webserver einrichten und administrieren






 Webserver einrichten
 und administrieren


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2011
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de