24.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.
24.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.
sudo badblocks -s -o block.log /dev/fd0 1440
Hier wird zum Beispiel bei einer Diskette (1,44 Megabyte) 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:
badblocks [-optionen] Gerätedatei [startblock]
Die Gerätedatei ist der Pfad zum entsprechenden Speichermedium (zum Beispiel /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.
24.6.2 cfdisk – Partitionieren von Festplatten
Mit cfdisk teilen Sie eine formatierte Festplatte in verschiedene Partitionen ein. Natürlich können Sie auch eine bestehende Partition löschen oder eine vorhandene verändern (zum Beispiel eine andere Systemkennung vergeben). Sie können 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- oder S-ATA-Festplatte, /dev/sdb für die zweite SCSI- oder 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 oder 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 wiederherstellen und auf die Daten zugreifen.
24.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 unterschiedlichen Konvertierungen zwischen verschiedenen Speichermedien (Festplatte, Diskette usw.) übertragen. Auf diese Weise lassen sich neben einfachen Dateien auch ganze Festplattenpartitionen 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 auch noch ein Backup des Boot-Sektors auf einer Diskette sichern, dann gehen Sie so 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.
Es folgen noch einige interessante Beispiele zu dd:
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.
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, zum Beispiel 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ötigen Sie 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.
Option | Bedeutung |
if = Datei | Input File: Hier geben Sie 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 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 legen Sie 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 in ASCII |
conv=ebcdic | ASCII in EBCDIC |
conv=ibm | ASCII in »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. |
24.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.
Reparatur
An dieser Stelle bietet sich das Werkzeug dd_rescue an, das bei Ubuntu mit Hilfe 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 zu reparieren. Ist dies gelungen, können Sie das Abbild wieder mit dd_rescue auf eine neue Festplatte kopieren. Ein Beispiel:
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.
24.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« (englisch bad) markiert wurden.
24.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:
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. Die in der folgenden Tabelle zusammengestellten 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 Libraries |
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.
24.6.7 fdformat – eine Diskette formatieren
Auch wenn viele Rechner mittlerweile ohne Diskettenlaufwerk ausgeliefert werden, wird das Diskettenlaufwerk immer wieder einmal benötigt (zum Beispiel 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
24.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 in der folgenden Tabelle zusammengestellt.
Taste | Bedeutung |
bsd disklabe 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) |
Automatisches Formatieren
Noch ein Vorzug ist, dass fdisk nicht interaktiv läuft. Sie können es zum Beispiel benutzen, um mehrere Festplatten automatisch zu formatieren. Dies ist praktisch, wenn Sie ein System identisch auf mehreren Rechnern installieren müssen.
Sie installieren in diesem Fall das System nur auf einem der Rechner, erzeugen mit dd ein Image, erstellen ein kleines Skript, booten die anderen Rechner zum Beispiel von damnsmall-Linux (einer speziellen Mini-Distribution zum Beispiel für den USB-Stick) und führen das Skript aus, das dann die Festplatte per fdisk formatiert und per dd das Image des Prototyps installiert. Anschließend müssen Sie 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:
sudo fdisk -l
Platte /dev/hdc: 120.0 GByte, 120034123776 Byte
255 Köpfe, 63 Sektoren/Spuren, 14593 Zylinder
Einheiten = Zylinder von 16065 x 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:
sudo fdisk /dev/hda
24.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.
Besonders wichtig ist bei der Verwendung, fsck immer auf nicht eingebundene oder nur im Read-only-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 ausgehängt wurde, oder bei Ubuntu nach jedem 30. Booten in der Standardeinstellung.
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. Die folgende Tabelle listet wichtige Exit-Codes und deren Bedeutungen auf:
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 Libraries |
24.6.10 mkfs – Dateisystem einrichten
Mit mkfs können Sie auf einer zuvor formatierten Festplatte oder Diskette ein Dateisystem anlegen. Wie schon fsck ist auch mkfs ein unabhängiges Frontend, das die Erzeugung des Dateisystems nicht selbst übernimmt, sondern hier ebenfalls 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:
mkfs [option] Gerätedatei [blöcke]
Für die Gerätedatei müssen Sie den entsprechenden Pfad angeben (zum Beispiel /dev/hda1). Sie können außerdem 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 zum Beispiel mit
sudo mkfs -f xfs /dev/hda7
auf der Partition /dev/hda7 ein Dateisystem xfs (alternativ zu ext2).
24.6.11 mkswap – eine Swap-Partition einrichten
Mit mkswap legen Sie eine Swap-Partition an. Diese können Sie zum Beispiel 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.
sudo dd bs=1024 if=/dev/zero \
of=/tmp/myswap count=4096
4096+0 Datensätze ein
4096+0 Datensätze aus
sudo mkswap -c /tmp/myswap 4096
Swap-Bereich Version 1 wird angelegt,
Größe 4190 KBytes
sudo sync
sudo swapon /tmp/myswap
Zuerst legen Sie mit dd eine 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.
24.6.12 mount, umount – Dateisysteme an- oder 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 erfolgen. 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:
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.
24.6.13 parted – Partitionen anlegen etc.
Mit parted können Sie nicht nur – wie mit fdisk oder 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.
24.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.
24.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.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.