Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Einleitung
1 Was ist Ubuntu?
2 Die Versionen im Detail
3 Die Shell
4 Migration und Synchronisation
5 Die Installation
6 Erste Schritte
7 Ubuntu mobil
8 Derivate
9 Internet und E-Mail
10 Office
11 Grafik und Bildbearbeitung
12 Multimedia und Spiele
13 Programmierung und Design
14 Hardware-Konfiguration
15 Software- und Paketverwaltung
16 Architektur
17 Backup und Sicherheit
18 Server-Installation
19 Datei- und FTP-Server
20 Weitere Server-Dienste
21 Kontrolle und Monitoring
22 Desktop-Virtualisierung
23 Server-Virtualisierung mit KVM
24 Server-Virtualisierung mit Xen
25 Hilfe
26 Befehlsreferenz Ubuntu Linux
A Übersicht: Software für (K)Ubuntu
B Mark Shuttleworth
C Glossar
D Häufig gestellte Fragen
Stichwort
Download: - ZIP, ca. 36,6 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / Ubuntu | vor >>
Ubuntu GNU/Linux von Marcus Fischer Das umfassende Handbuch, aktuell zu Ubuntu 9.04 - Jaunty Jackalope
Ubuntu GNU/Linux 4., aktualisierte und erweiterte Auflage, geb. 1.120 S., 39,90 Euro Galileo Computing ISBN 978-3-8362-1439-1 |
| 26 Befehlsreferenz Ubuntu Linux
|  | 26.1 Dateiorientierte Kommandos
|  |  | 26.1.1 bzcat – Ausgabe von bzip2-komprimierten Dateien
|  |  | 26.1.2 cat – Datei(en) nacheinander ausgeben
|  |  | 26.1.3 chgrp – Gruppe ändern
|  |  | 26.1.4 cksum/md5sum/sum – Prüfsummen ermitteln
|  |  | 26.1.5 chmod – Zugriffsrechte ändern
|  |  | 26.1.6 chown – Eigentümer ändern
|  |  | 26.1.7 cmp – Dateien miteinander vergleichen
|  |  | 26.1.8 comm – zwei sortierte Textdateien vergleichen
|  |  | 26.1.9 cp – Dateien kopieren
|  |  | 26.1.10 csplit – Zerteilen von Dateien
|  |  | 26.1.11 cut – Zeichen oder Felder aus Dateien schneiden
|  |  | 26.1.12 diff – Vergleichen zweier Dateien
|  |  | 26.1.13 diff3 – Vergleich von drei Dateien
|  |  | 26.1.14 dos2unix – Dateien umwandeln
|  |  | 26.1.15 expand – Tabulatoren in Leerzeichen umwandeln
|  |  | 26.1.16 file – den Inhalt von Dateien analysieren
|  |  | 26.1.17 find – Suche nach Dateien
|  |  | 26.1.18 fold – einfaches Formatieren von Dateien
|  |  | 26.1.19 head – Anfang einer Datei ausgeben
|  |  | 26.1.20 less – Datei(en) seitenweise ausgeben
|  |  | 26.1.21 ln – Links auf eine Datei erzeugen
|  |  | 26.1.22 ls – Verzeichnisinhalt auflisten
|  |  | 26.1.23 more – Datei(en) seitenweise ausgeben
|  |  | 26.1.24 mv – Datei(en) verschieben oder umbenennen
|  |  | 26.1.25 nl – Datei mit Zeilennummer ausgeben
|  |  | 26.1.26 od – Datei(en) hexadezimal bzw. oktal ausgeben
|  |  | 26.1.27 rm – Dateien und Verzeichnisse löschen
|  |  | 26.1.28 sort – Dateien sortieren
|  |  | 26.1.29 split – Dateien in mehrere Teile zerlegen
|  |  | 26.1.30 tac – Dateien rückwärts ausgeben
|  |  | 26.1.31 tail – Ende einer Datei ausgeben
|  |  | 26.1.32 tee – Ausgabe duplizieren
|  |  | 26.1.33 touch – Zeitstempel verändern
|  |  | 26.1.34 tr – Zeichen ersetzen
|  |  | 26.1.35 type – Kommandos klassifizieren
|  |  | 26.1.36 umask – Datei-Erstellungsmaske ändern
|  |  | 26.1.37 uniq – doppelte Zeilen nur einmal ausgeben
|  |  | 26.1.38 wc – Zeilen, Wörter und Zeichen zählen
|  |  | 26.1.39 whereis – Suche nach Dateien
|  |  | 26.1.40 zcat, zless, zmore – Ausgabe von zip-Dateien
|  | 26.2 Verzeichnisorientierte Kommandos
|  |  | 26.2.1 basename – Dateianteil eines Pfadnamens
|  |  | 26.2.2 cd – Verzeichnis wechseln
|  |  | 26.2.3 dirname – Verzeichnisanteil eines Pfadnamens
|  |  | 26.2.4 mkdir – ein Verzeichnis anlegen
|  |  | 26.2.5 pwd – aktuelles Arbeitsverzeichnis ausgeben
|  |  | 26.2.6 rmdir – ein leeres Verzeichnis löschen
|  | 26.3 Verwaltung von Benutzern und Gruppen
|  |  | 26.3.1 exit, logout – eine Session oder Sitzung beenden
|  |  | 26.3.2 finger – Informationen zu Benutzern abfragen
|  |  | 26.3.3 groupadd etc. – Gruppenverwaltung
|  |  | 26.3.4 groups – Gruppenzugehörigkeit ausgeben
|  |  | 26.3.5 id – eigene Benutzer- und Gruppen-ID ermitteln
|  |  | 26.3.6 last – An- und Abmeldezeit eines Benutzers
|  |  | 26.3.7 logname – Name des aktuellen Benutzers
|  |  | 26.3.8 newgrp – Gruppenzugehörigkeit wechseln
|  |  | 26.3.9 passwd – Passwort ändern bzw. vergeben
|  |  | 26.3.10 useradd/adduser etc. – Benutzerverwaltung
|  |  | 26.3.11 who – eingeloggte Benutzer anzeigen
|  |  | 26.3.12 whoami – Namen des aktuellen Benutzers anzeigen
|  | 26.4 Programm- und Prozessverwaltung
|  |  | 26.4.1 at – Zeitpunkt für ein Kommando festlegen
|  |  | 26.4.2 batch – ein Kommando später ausführen lassen
|  |  | 26.4.3 bg – einen Prozess im Hintergrund fortsetzen
|  |  | 26.4.4 cron/crontab – Programme zeitgesteuert ausführen
|  |  | 26.4.5 fg – Prozesse im Vordergrund fortsetzen
|  |  | 26.4.6 jobs – Anzeigen von im Hintergrund laufenden Prozessen
|  |  | 26.4.7 kill – Signale an Prozesse mit Nummer senden
|  |  | 26.4.8 killall – Signale an Prozesse mit Namen senden
|  |  | 26.4.9 nice – Prozesse mit anderer Priorität ausführen
|  |  | 26.4.10 nohup – Prozesse nach dem Abmelden fortsetzen
|  |  | 26.4.11 ps – Prozessinformationen anzeigen
|  |  | 26.4.12 pgrep – Prozesse über ihren Namen finden
|  |  | 26.4.13 pstree – Prozesshierarchie in Baumform ausgeben
|  |  | 26.4.14 renice – Priorität laufender Prozesse verändern
|  |  | 26.4.15 sleep – Prozesse schlafen legen
|  |  | 26.4.16 su – Ändern der Benutzerkennung
|  |  | 26.4.17 sudo – Programme als anderer Benutzer ausführen
|  |  | 26.4.18 time – Zeitmessung für Prozesse
|  |  | 26.4.19 top – Prozesse nach CPU-Auslastung anzeigen
|  | 26.5 Speicherplatzinformationen
|  |  | 26.5.1 df – Abfrage des Speicherplatzes für Dateisysteme
|  |  | 26.5.2 du – Größe eines Verzeichnisbaums ermitteln
|  |  | 26.5.3 free – verfügbaren Speicherplatz anzeigen
|  | 26.6 Dateisystem-Kommandos
|  |  | 26.6.1 badblocks – überprüft defekte Sektoren
|  |  | 26.6.2 cfdisk – Partitionieren von Festplatten
|  |  | 26.6.3 dd – Datenblöcke zwischen Devices kopieren
|  |  | 26.6.4 dd_rescue – fehlertolerantes Kopieren
|  |  | 26.6.5 dumpe2fs – Analyse von ext2/ext3-Systemen
|  |  | 26.6.6 e2fsck – ein ext2/ext3-Dateisystem reparieren
|  |  | 26.6.7 fdformat – eine Diskette formatieren
|  |  | 26.6.8 fdisk – Partitionieren von Speichermedien
|  |  | 26.6.9 fsck – Reparieren und Überprüfen
|  |  | 26.6.10 mkfs – Dateisystem einrichten
|  |  | 26.6.11 mkswap – eine Swap-Partition einrichten
|  |  | 26.6.12 mount, umount – Dateisysteme an- bzw. abhängen
|  |  | 26.6.13 parted – Partitionen anlegen etc.
|  |  | 26.6.14 swapon, swapoff – Swap-Speicher (de)aktivieren
|  |  | 26.6.15 sync – gepufferte Schreiboperationen ausführen
|  | 26.7 Archivierung und Backup
|  |  | 26.7.1 bzip2/bunzip2 – (De-)Komprimieren von Dateien
|  |  | 26.7.2 cpio, afio – Dateien archivieren
|  |  | 26.7.3 copy out
|  |  | 26.7.4 copy in
|  |  | 26.7.5 copy pass
|  |  | 26.7.6 afio
|  |  | 26.7.7 ccrypt – Dateien verschlüsseln
|  |  | 26.7.8 gzip/gunzip – (De-)Komprimieren von Dateien
|  |  | 26.7.9 mt – Streamer steuern
|  |  | 26.7.10 tar – Dateien und Verzeichnisse archivieren
|  |  | 26.7.11 Übersicht zu den Packprogrammen
|  | 26.8 Systeminformationen
|  |  | 26.8.1 cal – zeigt einen Kalender an
|  |  | 26.8.2 date – Datum und Uhrzeit
|  |  | 26.8.3 uname – Rechnername, Architektur und OS
|  |  | 26.8.4 uptime – Laufzeit des Rechners
|  | 26.9 Systemkommandos
|  |  | 26.9.1 dmesg – letzte Kernel-Boot-Meldungen
|  |  | 26.9.2 halt – alle laufenden Prozesse beenden
|  |  | 26.9.3 reboot – System neu starten
|  |  | 26.9.4 shutdown – System herunterfahren
|  | 26.10 Druckeradministration und Netzwerkbefehle
|  |  | 26.10.1 arp – Ausgeben von MAC-Adressen
|  |  | 26.10.2 ftp – Dateien übertragen
|  |  | 26.10.3 hostname – Rechnername ermitteln
|  |  | 26.10.4 ifconfig – Netzwerkzugang konfigurieren
|  |  | 26.10.5 mail/mailx – E-Mails schreiben und empfangen
|  |  | 26.10.6 netstat – Statusinformationen über das Netzwerk
|  |  | 26.10.7 nslookup (host/dig) – DNS-Server abfragen
|  |  | 26.10.8 ping – Verbindung zu anderem Rechner testen
|  |  | 26.10.9 Die r-Kommandos (rcp, rlogin, rsh)
|  |  | 26.10.10 ssh – sichere Shell auf anderem Rechner starten
|  |  | 26.10.11 scp – Dateien per ssh kopieren
|  |  | 26.10.12 rsync – Replizieren von Dateien und Verzeichnissen
|  |  | 26.10.13 traceroute – Route zu einem Rechner verfolgen
|  | 26.11 Benutzerkommunikation
|  |  | 26.11.1 wall – Nachrichten an alle Benutzer verschicken
|  |  | 26.11.2 write – Nachrichten an Benutzer verschicken
|  |  | 26.11.3 mesg – Nachrichten zulassen oder unterbinden
|  | 26.12 Bildschirm- und Terminalkommandos
|  |  | 26.12.1 clear – Löschen des Bildschirms
|  |  | 26.12.2 reset – Zeichensatz wiederherstellen
|  |  | 26.12.3 setterm – Terminaleinstellung verändern
|  |  | 26.12.4 stty – Terminaleinstellung abfragen oder setzen
|  |  | 26.12.5 tty – Terminalnamen erfragen
|  |  | 26.12.6 apropos – nach Schlüsselwörtern suchen
|  |  | 26.12.7 info – GNU-Online-Manual
|  |  | 26.12.8 man – die traditionelle Onlinehilfe
|  |  | 26.12.9 whatis – Kurzbeschreibung zu einem Kommando
|  | 26.13 Sonstige Kommandos
|  |  | 26.13.1 alias/unalias – Kurznamen für Kommandos
|  |  | 26.13.2 bc – Taschenrechner
|  |  | 26.13.3 printenv/env – Umgebungsvariablen anzeigen
## 26.6 Dateisystem-Kommandos Bei den Kommandos zu den Dateisystemen handelt es sich häufig um Kommandos, die nur als Root ausführbar sind. Aus Erfahrung weiß ich, dass man schnell gern mit Root-Rechten spielt, um mit solchen Kommandos zu experimentieren. Hiervor möchte ich Sie aber warnen, sofern Sie nicht genau wissen, was Sie tun. Mit zahlreichen dieser Kommandos verlieren Sie häufig nicht nur ein paar Daten, sondern können z. T. ein ganzes Dateisystem beschädigen – was sich so weit auswirken kann, dass Ihr Betriebssystem nicht mehr startet. ### 26.6.1 badblocks – überprüft defekte Sektoren Mit dem Kommando badblocks testen Sie den physischen Zustand eines Datenträgers. Dabei sucht badblocks auf einer Diskette oder Festplatte nach defekten Blöcken.
    user$ sudo badblocks -s -o block.log /dev/fd0 1440
Hier wird z. B. bei einer Diskette (1,44 MByte) nach defekten Blöcken gesucht. Das Fortschreiten der Überprüfung wird durch die Option -s simuliert. Mit -o schreiben Sie das Ergebnis defekter Blöcke in die Datei block.log, die wiederum von anderen Programmen verwendet werden kann, damit diese beschädigten Blöcke nicht mehr genutzt werden. Die Syntax sieht somit wie folgt aus:
    user$ badblocks [-optionen] Gerätedatei [startblock]
Die »Gerätedatei« ist der Pfad zum entsprechenden Speichermedium (z. B. /dev/hda1 = erste Festplatte). Sie können außerdem auch optional den »startblock« festlegen, von dem aus mit dem Testen begonnen werden soll. Die Ausführung dieses Kommandos bleibt selbstverständlich dem Superuser vorbehalten. ### 26.6.2 cfdisk – Partitionieren von Festplatten Mit cfdisk teilen Sie eine formatierte Festplatte in verschiedene Partitionen ein. Natürlich kann man auch eine bestehende Partition löschen oder eine vorhandene verändern (z. B. eine andere Systemkennung vergeben). Man kann mit cfdisk allerdings auch eine »rohe« ganze Festplatte bearbeiten (nicht nur einzelne Partitionen). Die Gerätedatei lautet also /dev/hda für die erste IDE-Festplatte, /dev/hdb für die zweite Festplatte, /dev/sda für die erste SCSI- bzw. S-ATA-Festplatte, /dev/sdb für die zweite SCSI- bzw. S-ATA- Festplatte usw. Starten Sie cfdisk, so werden alle gefundenen Partitionen mitsamt ihren Größen angezeigt. Mit den Pfeiltasten »nach oben« und »nach unten« können Sie hierbei eine Partition auswählen und mit den Pfeiltasten »nach rechts« bzw. »nach links« ein Kommando. Mit q können Sie cfdisk beenden. Selbstverständlich ist cfdisk nur als Root ausführbar. Sollten Sie Root-Rechte haben und ohne Vorwissen mit cfdisk herumspielen, ist Ihnen mindestens ein Datenverlust sicher. Wenn Sie Ihre Festplatte wirklich »zerschneiden« wollen, so sollten Sie vor dem Partitionieren die alte Partitionstabelle sichern. Im Falle eines Missgeschicks können Sie dann noch die alte Partitionstabelle wieder herstellen und auf die Daten zugreifen. ### 26.6.3 dd – Datenblöcke zwischen Devices kopieren Mit dd können Sie eine Datei lesen und den Inhalt in einer bestimmten Blockgröße mit verschiedenen Konvertierungen zwischen verschiedenen Speichermedien (Festplatte, Diskette usw.) übertragen. Auf diese Weise lassen sich neben einfachen Dateien auch ganze Festplatten-Partitionen kopieren. Ein komplettes Backup kann mit diesem Kommando realisiert werden. Mit sudo dd if=/dev/hda bs=512 count=1 geben Sie den Boot-Sektor auf dem Bildschirm aus (nur als Root möglich). Wollen Sie jetzt auch noch ein Backup des Boot-Sektors auf einer Diskette sichern, dann gehen Sie folgendermaßen vor: sudo dd if=/dev/hda of=/dev/fd0 bs=512 count=1. Bevor Sie jetzt noch weitere Beispiele zum mächtigen Werkzeug dd sehen werden, müssen Sie sich zunächst mit den Optionen vertraut machen – im Beispiel werden if, of, bs und count verwendet.
Option | Bedeutung
if = Datei | Input File: Hier gibt man den Namen der Eingabedatei (Quelldatei) an – ohne Angaben wird die Standardeingabe verwendet.
of = Datei | Output File: Hier wird der Name der Ausgabedatei (Zieldatei) angegeben – ohne Angabe wird hier die Standardausgabe verwendet.
ibs = Schritt | Input Block Size: Hier wird die Blockgröße der Eingabedatei angegeben.
obs = Schritt | Output Block Size: Hier wird die Blockgröße der Ausgabedatei angegeben.
bs = Schritt | Block Size: Hier legt man die Blockgröße für die Ein- und Ausgabedatei fest.
cbs = Schritt | Conversion Block Size: Die Blockgröße für die Konvertierung wird bestimmt.
skip = Blöcke | Hier können Sie eine Anzahl Blöcke angeben, die von der Eingabe zu Beginn ignoriert werden sollen.
seek = Blöcke | Hier können Sie eine Anzahl Blöcke angeben, die von der Ausgabe am Anfang ignoriert werden sollen; das Kommando unterdrückt am Anfang die Ausgabe der angegebenen Anzahl von Blöcken.
count = Blöcke | Hier wird angegeben, wie viele Blöcke kopiert werden sollen.
Eine spezielle Option steht Ihnen mit conv-Konvertierung zur Verfügung:
Option | Konvertierung
conv=ascii | EBCDIC nach ASCII
conv=ebcdic | ASCII nach EBCDIC
conv=ibm | ASCII nach big blue special EBCDIC
conv=block | Es werden Zeilen in Felder mit der Größe cbs geschrieben, und das Zeilenende wird durch Leerzeichen ersetzt. Der Rest des Feldes wird mit Leerzeichen aufgefüllt.
conv=unblock | Abschließende Leerzeichen eines Blocks der Größe cbs werden durch ein Zeilenende ersetzt.
conv=lcase | Großbuchstaben in Kleinbuchstaben
conv=ucase | Kleinbuchstaben in Großbuchstaben
conv=swab | Vertauscht je zwei Bytes der Eingabe. Ist die Anzahl der gelesenen Bytes ungerade, wird das letzte Byte einfach kopiert.
conv=noerror | Lesefehler werden ignoriert.
conv=sync | Füllt Eingabeblöcke bis zur Größe von ibs mit Nullen.
Es folgen noch einige interessante Beispiele zu dd:
    user$ sudo dd if=/vmlinuz of=/dev/fd0
Damit kopieren Sie den Kernel (hier in »vmlinuz« – bitte anpassen) in den ersten Sektor der Diskette, die als Boot-Diskette verwendet werden kann.
    user$ sudo dd if=/dev/hda of=/dev/hdc
Mit diesem Befehl klonen Sie praktisch in einem Schritt die erste Festplatte am MasterIDE-Controller auf die Festplatte am zweiten Master-Anschluss. Somit haben Sie auf /dev/hdc denselben Inhalt wie auf /dev/hda. Natürlich kann die Ausgabedatei auch auf ein anderes Medium geschrieben werden, z. B. auf einen DVD-Brenner, eine Festplatte am USB-Anschluss oder in eine Datei. Zwar ist dd ein mächtigeres Werkzeug, als es hier vielleicht den Anschein hat, dennoch sollten Sie dd nicht unbedacht aufrufen. Der Datensalat entsteht auch hier schneller als bei anderen Werkzeugen. Daher benötigt man wieder die allmächtigen Root-Rechte. Falls Sie größere Datenmengen mit dd kopieren, können Sie dem Programm von einer anderen Konsole aus mittels kill das Signal SIGUSR1 senden, um dd zu veranlassen, den aktuellen Fortschritt auszugeben. ### 26.6.4 dd_rescue – fehlertolerantes Kopieren Falls Sie eine defekte Festplatte – oder eine Partition auf derselben – kopieren wollen, stößt dd schnell an seine Grenzen. Zudem ist beim Retten von Daten eines defekten Speichermediums die Geschwindigkeit wichtig, da das Medium weitere Fehler verursachen kann und somit weitere Dateien beschädigt werden können. Ein Fehlversuch mit dd kann hier also fatale Folgen haben. An dieser Stelle bietet sich das Werkzeug dd_rescue an, das bei Ubuntu mithilfe des gleichnamigen Pakets nachinstalliert wird. Sie können damit – ähnlich wie mit dd – Dateiblöcke auf Low-Level-Basis auf ein anderes Medium kopieren. Als Zielort ist eine Datei auf einem anderen Speichermedium sinnvoll. Von diesem Abbild der defekten Festplatte können Sie eine Kopie erstellen, um das ursprüngliche Abbild nicht zu verändern. In einem der Abbilder können Sie versuchen, das Dateisystem mittels fsck wieder zu reparieren. Ist dies gelungen, können Sie das Abbild wieder mit dd_rescue auf eine neue Festplatte kopieren. Ein Beispiel:
    user$ sudo dd_rescue -v /dev/hda1 \
    /mnt/rescue/hda1.img
In dem Beispiel wird die Partition /dev/hda1 in die Abbilddatei /mnt/ rescue/hda1.img kopiert. ### 26.6.5 dumpe2fs – Analyse von ext2/ext3-Systemen dumpe2fs gibt eine Menge interner Informationen zum Superblock und anderen Blockgruppen zu einem ext2/ext3-Dateisystem aus (vorausgesetzt, dieses Dateisystem wird auch verwendet). Zum Beispiel: sudo dumpe2fs -b /dev/hda6. Mit der Option -b werden alle Blöcke von /dev/hda6 auf die Konsole ausgegeben, die als »schlecht« (engl. bad) markiert wurden. ### 26.6.6 e2fsck – ein ext2/ext3-Dateisystem reparieren e2fsck überprüft ein ext2/ext3-Dateisystem und repariert den Fehler. Damit e2fsck verwendet werden kann, muss fsck.ext2 installiert sein. Das eigentliche Programm e2fsck ist nur ein »Frontend« dieses Programms. Die Befehlssyntax lautet:
    user$ sudo e2fsck Gerätedatei
Mit der »Gerätedatei« geben Sie die Partition an, auf der das Dateisystem überprüft werden soll (das selbstverständlich wieder ein ext2/ext3-Dateisystem sein muss). Bei den Dateien, bei denen die Inodes in keinem Verzeichnis notiert sind, werden sie von e2fsck im Verzeichnis lost+found eingetragen und können so repariert werden. e2fsck gibt beim Überprüfen einen Exit-Code zurück, den Sie mit echo $? abfragen können. Folgende wichtigen Exit-Codes und deren Bedeutung können dabei zurückgegeben werden:
Exit-Code | Bedeutung
0 | kein Fehler im Dateisystem
1 | Es wurde ein Fehler im Dateisystem gefunden und repariert.
2 | Es wurde ein schwerer Fehler im Dateisystem gefunden und korrigiert, das System sollte dennoch neu gestartet werden.
4 | Es wurde ein Fehler im Dateisystem gefunden, aber nicht korrigiert.
8 | Fehler bei der Kommandoausführung von e2fsck
16 | falsche Verwendung von e2fsck
128 | Fehler in den Shared-Librarys
Wichtige Optionen, die Sie mit e2fsck angeben können, sind:
Option | Bedeutung
-p | alle Fehler automatisch ohne Rückfragen reparieren
-c | Durchsucht das Dateisystem nach schlechten Blöcken.
-f | Erzwingt eine Überprüfung des Dateisystems, auch wenn der Kernel das System für in Ordnung befunden hat (valid-Flag gesetzt).
fsck fragt meist nach, ob das Kommando wirklich ausgeführt werden soll. Als Antwort genügt der Anfangsbuchstabe »j« oder »y« nicht, sondern Sie müssen »yes« oder »ja« (je nach Fragestellung) eingeben. Anderenfalls bricht fsck an dieser Stelle kommentarlos ab. ### 26.6.7 fdformat – eine Diskette formatieren Auch wenn viele Rechner mittlerweile ohne Diskettenlaufwerk ausgeliefert werden, wird das Diskettenlaufwerk immer wieder einmal benötigt (z. B. für eine Rettungsdiskette mit einem Mini-Linux). Mit dem Kommando fdformat formatieren Sie eine Diskette. Das Format wird dabei anhand von im Kernel gespeicherten Parametern erzeugt. Beachten Sie allerdings, dass die Diskette nur mit leeren Blöcken beschrieben wird und nicht mit einem Dateisystem. Zum Erstellen von Dateisystemen stehen Ihnen die Kommandos mkfs, mk2fs oder mkreiserfs zur Verfügung. Die Syntax des Befehls lautet:
    fdformat Gerätedatei
### 26.6.8 fdisk – Partitionieren von Speichermedien fdisk ist die etwas unkomfortablere Alternative zu cfdisk, um eine Festplatte in verschiedene Partitionen aufzuteilen, zu löschen oder gegebenenfalls zu ändern. Im Gegensatz zu cfdisk können Sie hier nicht mit den Pfeiltasten navigieren, sondern müssen einzelne Tastenkürzel verwenden. Allerdings hat fdisk den Vorteil, fast überall und immer präsent zu sein. Die wichtigsten Tastenkürzel zur Partitionierung sind:
Taste | Bedeutung
| »bsd disklabel« bearbeiten
| eine Partition löschen
| die bekannten Dateisystemtypen anzeigen (Sie benötigen die Nummer)
| ein Menü mit allen Befehlen anzeigen
| eine neue Partition anlegen
| die Partitionstabelle anzeigen
| Ende ohne Speichern der Änderungen
| einen neuen leeren »Sun disklabel« anlegen
| den Dateisystemtyp einer Partition ändern
| die Einheit für die Anzeige/Eingabe ändern
| die Partitionstabelle überprüfen
| die Tabelle auf die Festplatte schreiben und das Programm beenden
| zusätzliche Funktionen (nur für Experten)
Noch ein Vorzug ist, dass fdisk nicht interaktiv läuft. Man kann es z. B. benutzen, um mehrere Festplatten automatisch zu formatieren. Dies ist praktisch, wenn man ein System identisch auf mehreren Rechnern installieren muss. Man installiert in diesem Fall das System nur auf einem der Rechner, erzeugt mit dd ein Image, erstellt ein kleines Skript, bootet die anderen Rechnerz. B. von »damnsmall-Linux« (einer speziellen Mini-Distribution z. B. für den USB-Stick) und führt das Skript aus, das dann die Festplatte per fdisk formatiert und per dd das Image des Prototyps installiert. Anschließend muss man nur noch die IP-Adresse und den Hostnamen anpassen, was auch skriptgesteuert möglich ist. Einen komfortablen Überblick über alle Partitionen auf allen Festplatten können Sie sich mit der Option -l anzeigen lassen:
    user$ sudo fdisk -l
    Platte /dev/hdc: 120.0 GByte, 120034123776 Byte
    255 Köpfe, 63 Sektoren/Spuren, 14593 Zylinder
    Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
    Gerät      Anfang     Ende     Blöcke   Id  System
    /dev/hdc1    1        6079    48829536   83  Linux
    /dev/hdc2 6080        7903    14651280   83  Linux
    /dev/hdc3 7904       14593    53737425   83  Linux
Zum Partitionieren müssen Sie fdisk mit der Angabe der Gerätedatei starten:
    user$ sudo fdisk /dev/hda
### 26.6.9 fsck – Reparieren und Überprüfen fsck ist ein unabhängiges Frontend zum Prüfen und Reparieren der Dateisystem-Struktur. fsck ruft gewöhnlich je nach Dateisystem das entsprechende Programm auf. Bei ext2/ext3 ist dies fsck.ext2, bei einem Minix-System fsck.minix, bei ReiserFS reiserfsck usw. Die Zuordnung des entsprechenden Dateisystems nimmt fsck anhand der Partitionstabelle aufgrund einer Kommandozeilenoption vor. Die meisten dieser Programme unterstützen die Optionen -a, -A, -l, -r, -s und -v. Meistens wird hierbei die Option -a -A verwendet. Mit -a veranlassen Sie eine automatische Reparatur, sofern dies möglich ist, und mit -A geben Sie an, dass alle Dateisysteme getestet werden sollen, die in /etc/fstab eingetragen sind. fsck gibt beim Überprüfen einen Exit-Code zurück, den Sie mit echo $? abfragen können. Folgende wichtige Exit-Codes und deren Bedeutungen können dabei zurückgegeben werden:
Exit-Code | Bedeutung
0 | kein Fehler im Dateisystem
1 | Es wurde ein Fehler im Dateisystem gefunden und repariert.
2 | Es wurde ein schwerer Fehler im Dateisystem gefunden und korrigiert, das System sollte dennoch neu gestartet werden.
4 | Es wurde ein Fehler im Dateisystem gefunden, aber nicht korrigiert.
8 | Fehler bei der Kommandoausführung von fsck
16 | falsche Verwendung von fsck
128 | Fehler in den Shared-Librarys
Besonders wichtig ist es auch, fsck immer auf nicht eingebundene bzw. nur im Readonly-Modus eingebundene Dateisysteme anzuwenden. Denn fsck kann sonst eventuell ein Dateisystem verändern (reparieren), ohne dass das System dies zu erkennen vermag. Ein Systemabsturz ist dann vorprogrammiert. Gewöhnlich wird fsck bzw. fsck.ext3 beim Systemstart automatisch ausgeführt, wenn eine Partition nicht sauber ausgebunden wurde, oder nach jedem 30. Booten bei Ubuntu in der Standardeinstellung. ### 26.6.10 mkfs – Dateisystem einrichten Mit mkfs können Sie auf einer zuvor formatierten Festplatte bzw. Diskette ein Dateisystem anlegen. Wie schon fsck ist auch mkfs ein unabhängiges Frontend, das die Erzeugung des Dateisystems nicht selbst übernimmt, sondern auch hier das spezifische Programm zur Erzeugung des entsprechenden Dateisystems verwendet. Auch hierbei richtet sich mkfs wieder nach den Dateisystemen, die in der Partitionstabelle aufgelistet sind, oder gegebenenfalls nach der Kommandozeilenoption. Abhängig vom Dateisystemtyp ruft mkfs dann das Kommando mkfs.minix (für Minix), mk2fs (für ext2/ext3), mkreiserfs (für ReiserFS) usw. auf. Die Syntax lautet:
    user$ mkfs [option] Gerätedatei [blöcke]
Für die »Gerätedatei« müssen Sie den entsprechenden Pfad angeben (z. B. /dev/hda1). Sie können außerdem auch die Anzahl von Blöcken angeben, die das Dateisystem belegen soll. Auch mkfs gibt einen Exit-Code über den Verlauf der Kommandoausführung zurück, den Sie mit echo $? auswerten können.
Exit-Code | Bedeutung
0 | alles erfolgreich durchgeführt
8 | Fehler bei der Programmausführung
16 | ein Fehler in der Kommandozeile
Mit der Option -t können Sie den Dateisystemtyp des zu erzeugenden Dateisystems festlegen. Ohne -t würde hier versucht, das Dateisystem anhand der Partitionstabelle zu bestimmen. Sie erzeugen z. B. mit
    user$ sudo mkfs -f xfs /dev/hda7
auf der Partition /dev/hda7 ein Dateisystem xfs (alternativ zu ext2). ### 26.6.11 mkswap – eine Swap-Partition einrichten Mit mkswap legen Sie eine Swap-Partition an. Diese können Sie z. B. dazu verwenden, schlafende Prozesse, die auf das Ende von anderen Prozessen warten, in die Swap-Partition der Festplatte auszulagern. So halten Sie Platz im Arbeitsspeicher für andere laufende Prozesse frei. Sofern Sie nicht schon bei der Installation von Ubuntu die (gewöhnlich) vorgeschlagene Swap-Partition eingerichtet haben, können Sie dies nachträglich mit dem Kommando mkswap vornehmen. Zum Aktivieren einer Swap-Partition rufen Sie das Kommando swapon auf. Ist Ihr Arbeitsspeicher ausgelastet, können Sie auch kurzfristig solch einen Swap-Speicher einrichten.
    user$ sudo dd bs=1024 if=/dev/zero \
    of=/tmp/myswap count=4096
    4096+0 Datensätze ein
    4096+0 Datensätze aus
    user$ sudo mkswap -c /tmp/myswap 4096
    Swap-Bereich Version 1 wird angelegt,
    Größe 4190 KBytes
    user$ sudo sync
    user$ sudo swapon /tmp/myswap
Zuerst legen Sie mit dd einen leere Swap-Datei von 4 Megabytes Größe mit Null-Bytes an. Anschließend verwenden Sie diesen Bereich als Swap-Datei. Nach einem Aufruf von sync müssen Sie nur noch den Swap-Speicher aktivieren. Wie dieser Swap-Bereich allerdings verwendet wird, haben Sie nicht in der Hand: Dies wird vom Kernel mit dem »Paging« gesteuert. Eine Datei, die als Swap-Bereich eingebunden wird, sollte nur genutzt werden, wenn keine Partition dafür zur Verfügung steht, da die Methode erheblich langsamer ist als eine Swap-Partition. ### 26.6.12 mount, umount – Dateisysteme an- bzw. abhängen Das Kommando mount hängt einzelne Dateisysteme mit den verschiedensten Medien (Festplatte, CD-ROM, Diskette etc.) an einen einzigen Dateisystembaum an. Die einzelnen Partitionen werden dabei als Gerätedateien im Ordner /dev angezeigt. Rufen Sie mount ohne irgendwelche Argumente auf, werden alle »gemounteten« Dateisysteme aus /etc/mtab aufgelistet. Auch hier bleibt es wieder Root überlassen, ob ein Benutzer ein bestimmtes Dateisystem einbinden kann oder nicht. Hierzu muss nur ein entsprechender Eintrag in /etc/fstab vorgenommen werden. In der folgenden Tabelle finden Sie einige Beispiele, wie verschiedene Dateisysteme eingehängt werden können:
Verwendung | Bedeutung
mount /dev/fd0 | Hängt das Diskettenlaufwerk ein.
mount /dev/hda9 /home/you | Hier wird das Dateisystem /dev/hda9 an das Verzeichnis /home/you gemountet.
mount goliath:/progs /home/progs | Mountet ein Dateisystem per NFS von einem Rechner namens »goliath« und hängt dieses an das lokale Verzeichnis /home/progs.
Wollen Sie ein Dateisystem wieder aushängen, dann verwenden Sie dazu umount vor:
    user$ umount /dev/fd0
Hier wird das Diskettenlaufwerk aus dem Dateisystem ausgehängt. Wenn ein Eintrag für ein Dateisystem in der /etc/fstab besteht, reicht es aus, mount mit dem Device oder dem Mount-Punkt als Argument aufzurufen: mount /dev/fd0. ### 26.6.13 parted – Partitionen anlegen etc. Mit parted können Sie nicht nur – wie mit fdisk bzw. cfdisk – Partitionen anlegen oder löschen, sondern diese auch vergrößern, verkleinern, kopieren und verschieben. parted wird gern verwendet, wenn man auf der Festplatte Platz für ein neues Betriebssystem schaffen will oder alle Daten einer Festplatte auf eine neue kopieren will. Mehr hierzu entnehmen Sie der man-Seite von parted. ### 26.6.14 swapon, swapoff – Swap-Speicher (de)aktivieren Wenn Sie auf dem System eine Swap-Partition eingerichtet haben (siehe mkswap), so existiert diese zwar, muss aber noch mit dem Kommando swapon aktiviert werden. Den so aktivierten Bereich können Sie jederzeit mit swapoff wieder aus dem laufenden System entfernen. ### 26.6.15 sync – gepufferte Schreiboperationen ausführen Normalerweise verwendet Linux einen Puffer (Cache) im Arbeitsspeicher, in dem sich ganze Datenblöcke eines Massenspeichers befinden. So werden Daten häufig temporär erst im Arbeitsspeicher verwaltet, da sich ein dauernd schreibender Prozess äußerst negativ auf die Performance des Systems auswirken würde. Stellen Sie sich das einmal bei hundert Prozessen vor! Gewöhnlich übernimmt ein Daemon die Arbeit und entscheidet, wann die veränderten Datenblöcke auf die Festplatte geschrieben werden. Mit dem Kommando sync können Sie nun veranlassen, dass veränderte Daten sofort auf die Festplatte (oder auf jeden anderen Massenspeicher) geschrieben werden. Dies ist häufig der letzte Rettungsanker, wenn das System sich nicht mehr richtig beenden lässt. Können Sie hierbei noch schnell ein sync ausführen, so werden alle Daten zuvor nochmals gesichert, und der Datenverlust kann eventuell ganz verhindert werden. ### Ihr Kommentar Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück | <top> | vor >>
Zum Katalog
Ubuntu GNU/Linux Jetzt bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| Linux
| IT-Handbuch für Fachinformatiker
| Webserver einrichten und administrieren
| Xen
| VirtualBox
| LPIC-1
| Einstieg in Ubuntu 8.10 »Intrepid Ibex«
| Einstieg in Ubuntu Linux - Videotraining
| Debian GNU/Linux
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2009
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