Kursus siebter Teil

Download der Schulungsunterlagen 7.Abend

Schulungstext_7neu.pdf

Die siebten Schulungstexte.

59 K

Kursus 7.Abend

Die Datensicherung

Auch Linux-Systeme sind nicht unverwüstlich (defekte Hardware, Programmfehler, Fehlbedienungen...), daher ist die Sicherung von Dateien unbedingt erforderlich. Linux hat mit dem „tar“ Befehl ein sehr mächtiges, universelles Werkzeug. Es können fast alle Dateien (wir erinnern uns, unter Linux ist alles eine Datei) aus dem laufenden Betrieb heraus gesichert werden, der Lesezugriff kollidiert nicht mit konkurrierenden Lese- und Schreibzugriffen, die gleichzeitig auf die Dateien zugreifen möchten. Eine Einschränkung gibt es bei Dateien, die nur während einer Linux Sitzung existieren und bei jedem Neustart neu angelegt werden (Beispiel: /dev/pts, lockfiles), gleichfalls problematisch sind Dateien in Datenbanken im laufenden Betrieb, dort gibt es aber Duplikations- bzw. Replikationsprogramme, die ein Abbild der Datenbank in einem konsistenten Zustand herstellen.

Der TAR Befehl

Ursprünglich dazu gedacht, Sicherungsdateien auf Magnetband anzulegen, daher der Name TapeARchiver, ist das Kommando inzwischen ein universeller Befehl, der es erlaubt, Dateien normal oder komprimiert in beliebige Verzeichnisse und Gerätedateien netzwerkweit zu sichern oder zurückzuspeichern. Die ausführliche Beschreibung habe ich als Anhang beigefügt.

Es gibt natürlich auch graphische Sicherungsprogramme, im Hintergrund arbeiten weiterhin textbasierte Befehle (z.B. Kdar – graphisches Frontent für dar)

Partition oder Laufwerk sichern

Wenn keine einzelnen Dateien, sondern ganze Disketten, Festplattenpartitionen oder CDs gesichert werden sollen, kommt die Erstellung eines Images in Betracht. Neben Programmen wie „Partition Image“ ist der Linux Befehl „dd“ nützlich. Eine Diskette kann so in ein Image gesichert werden : dd if=/dev/floppy of=/home/balista/floppy1.img

Das zurückspielen gesicherter Daten sollte nicht auf gerade benutzte Verzeichnisse erfolgen, d.h. wenn man sein gespeichertes komplettes Homeverzeichnis einspielt, sollte man nicht als einer der darin enthaltenen User angemeldet sein, bzw. wenn ein komplettes Linuxsystem wiederhergestellt werden soll, muss man von einem anderen gestarteten Linux arbeiten. Jetzt kann die zu Kursbeginn bereitgestellte Knoppix-CD wieder zu Ehren kommen, nämllich als Notfall-CD.

Unter Linux braucht ein Floppy- bzw. CD-Image nicht erst wieder auf einen Datenträger zurückgespielt werden, um nutzbar zu sein. Mit Hilfe der „loop“ Gerätedateien (/dev/loop1..loop8) können Imagedateien wie reale Laufwerke gemounted werden:

losetup /dev/loopX /home/balista/floppy1.img (X=0..7)

mount /dev/loopX /mnt/mountpoint

Jetzt können die Dateien wie auf einer realen Floppydisk benutzt werden.

umount /dev/loopX und losetup -d /dev/loopX machen das Ganze rückgängig.

Die Administration

Hierunter fällt alles, was auf einem Linux System unter Administrator- (root-) Rechten zu erledigen ist. Teile hiervon haben wir bereits in den vergangenen Unterrichtsabschnitten angesprochen (Startdateien, Benutzerverwaltung, Programminstallation, Dateirechtevergabe, Firewall). Noch nicht behandelt sind Sicherheitseinstellungen, automatisch gestartete Programme bzw. Prozesse, Auswertung von Log-Dateien. Zuerst einmal werden nur die Dienste gestartet, die nötig sind, gerade bei Rechnern im Netzwerk können damit die Angriffsmöglichkeiten verringert werden. Kommen wir auf die Auswertung der Log-Dateien zu sprechen, sie sind unter /var/log/.. zu finden. Die wichtigsten Dateien sind „messages“, „sys.log“, „kern.log“, „dmesg“. Die letzte Datei protokolliert den letzten Startvorgang, der sich auch mit dem Kommando „dmesg“ anzeigen lässt. In den anderen Dateien finden sich Systemmeldungen (Start und Stop von Diensten, Fehlermeldungen). Auch die Firewall „guarddog“ lässt sich so einstellen, dass geblockte und verworfene Pakete mitprotokolliert werden. Bei abnormalem Systemverhalten ist eine genauere Analyse sinnvoll, jedoch sind dafür mehr als Linux Anfängerkenntnisse nötig.

 

Anhang: Hier ist ein Ausdruck der Erklärung des Befehls „tar“ angefügt, wie er nach Aufruf von „man tar“ angezeigt wird (als Beispiel für komplexe Befehle)

(rw)

 

TAR

Section: FSF (1)

NAME

tar - (tape archiver) verwaltet Dateiarchive

ÜBERSICHT

tar [OPTION]... [DATEI]...

BESCHREIBUNG

 

GNU tar schreibt mehrere Dateien in ein Archiv auf Band oder Festplatte und kann einzelne Dateien aus diesem Archiv herausholen. Das Archiv kann auf Band, rohen (unformatierten) Disketten oder als gewöhnliche Datei angelegt sein. Optional ist ein Komprimieren mit verschiedenen Filtern möglich, von Haus aus werden z. B. gzip(1) und bzip(1) unterstützt.

 

Wenn eine lange Option ein Argument erfordert, ist es für die entsprechende kurze Option auch erforderlich. Das gleiche gilt für optionale Argumente.

 

Beispiele:

Datei archiv.tar mit den Dateien foo und bar erzeugen:

tar -cf archiv.tar foo bar

 

Inhalt von archiv.tar ausführlich anzeigen:

tar -tvf archiv.tar

 

Alle Dateien aus archiv.tar extrahieren:

tar -xf archiv.tar

 

Aktionen:

 

-t, --list

Inhalt eines Archivs anzeigen

-x, --extract, --get

Dateien aus Archiv holen

-c, --create

neues Archiv erzeugen

-d, --diff, --compare

Dateien im Archiv und im Dateisystem vergleichen

-r, --append

Dateien an das Archiv anhängen

-u, --update

nur Dateien anhängen, die jünger sind als ihre Archiv-Version

-A, --catenate

tar-Dateien an ein Archiv anhängen

--concatenate

wie -A

--delete

aus Archiv löschen (nicht auf Magnetbändern!)

 

Feineinstellungen:

 

-W, --verify

Archiv nach dem Schreiben prüfen

--remove-files

Dateien nach dem Hinzufügen zum Archiv löschen

-k, --keep-old-files

vorhandene Dateien nicht überschreiben

--overwrite

vorhandene Dateien überschreiben

-U, --unlink-first

zu überschreibende Dateien vor dem Auspacken löschen

--recursive-unlink

Verzeichnisse vor dem Entpacken löschen

-S, --sparse

löchrige Dateien (»sparse files«) effizient behandeln

-O, --to-stdout

Dateien zur Standard-Ausgabe entpacken

-G, --incremental

inkrementelle Sicherung im alten GNU-Format

-g, --listed-incremental=DATEI

inkrementelle Sicherung im neuen GNU-Format

--ignore-failed-read

Kein Abbruch bei nicht lesbaren Dateien

 

Datei-Eigenschaften:

 

--owner=NAME

Eigentümer für hinzugefügte Dateien auf NAME setzen

--group=NAME

Gruppe für hinzugefügte Dateien auf NAME setzen

--mode=RECHTE

Zugriffsrechte für hinzugefügte Dateien auf RECHTE setzen

--atime-preserve

Zugriffszeit beim Auspacken erhalten

-m, --modification-time

Änderungszeit beim Auspacken erhalten

--same-owner

Eigentümer beim Auspacken erhalten

--no-same-owner

Eigentümer beim Auspacken auf Ausführenden setzen

--numeric-owner

Zahlen für Benutzer bzw. Gruppen benutzen

-p, --same-permissions

Zugriffsrechte beim Auspacken erhalten

--no-same-permissions

Keine Zugriffsrechte erhalten

--preserve-permissions

wie -p

-s, --same-order

zu entpackende Dateinamen wie im Archiv sortieren

--preserve-order

wie -s

--preserve

wie -p und -s zusammen

 

Geräteauswahl und -einstellung:

 

-f, --file=ARCHIV

Gerät oder Datei ARCHIV benutzen

--force-local

Archiv-Datei ist lokal, auch wenn der Name einen Doppelpunkt enthält

--rsh-command=BEFEHL

statt rsh(1) den BEFEHL benutzen

-[0-7][lmh]

Laufwerk und Schreibdichte angeben

-M, --multi-volume

mehrteiliges Archiv anlegen/listen/herausholen

-L, --tape-length=ZAHL

Medium wechseln, wenn ZAHL KBytes geschrieben sind

-F, --info-script=DATEI

am Ende jedes Mediums das Skript DATEI ausführen (impliziert -M)

--new-volume-script=DATEI

wie -F DATEI

--volno-file=DATEI

Teil-Nummer in DATEI benutzen/aktualisieren

 

Blockung des Gerätes:

 

-b, --block-size=BLÖCKE

BLÖCKE à 512 Bytes pro Record

--record-size=GRÖSSE

GRÖSSE Bytes pro Record, Vielfaches von 512

-i, --ignore-zeros

Blöcke mit Nullen im Archiv ignorieren (heißt EOF)

-B, --read-full-blocks

Blockung beim Lesen ändern (für 4.2BSD »Pipes«)

 

 

Auswahl des Archiv-Formats:

 

-V, --label=NAME/MUSTER

Archiv NAME erzeugen

Beim Anzeigen/Herausholen ist MUSTER ein regulärer Ausdruck

-o, --old-archive, --portability

Archiv im »V7«-Format schreiben

--posix

POSIX-konformes Archiv schreiben

-j, --bzip2

Archiv mit bzip2(1) (de)komprimieren

-z, --gzip, --ungzip

Archiv mit gzip(1) (de)komprimieren

-Z, --compress, --uncompress

Archiv mit compress(1) (de)komprimieren

--use-compress-program=PROG

Archiv durch PROG filtern (muss -d akzeptieren)

 

Auswahl der lokalen Dateien:

 

-C, --directory=VERZEICHNIS

zu VERZEICHNIS wechseln

-T, --files-from=DATEI

Namen der zu bearbeitenden Dateien aus DATEI lesen

--null

-T liest Null-terminierte Namen, verbietet -C

--exclude=MUSTER

Dateien auslassen, auf die MUSTER passt

-X, --exclude-from=DATEI

Dateien auslassen, auf die in DATEI angegebene Muster passen

--no-anchored

Pattern-Matching nach »/« ausschließen

--ignore-case

Ignoriere Groß-/Kleinschreibung bei ausgelassenen Dateien

--no-ignore-case

Beachte Groß-/Kleinschreibung bei ausgelassenen Dateien (Default)

--wildcards

Muster für ausgelassene Dateien benutzt Wildcards (Default)

--no-wildcards

Muster für ausgelassene Dateien enthält keine Wildcards

--wildcards-match-slash

Wildcards in Mustern für ausgelassene Dateien passen auf »/« (Default)

--no-wildcards-match-slash

Wildcards in Mustern für ausgelassene Dateien passen nicht auf »/«

-P, --absolute-names

führende »/«-Zeichen in den Dateinamen erhalten

-h, --dereference

Dateien statt symbolischer Links sichern

--no-recurse

keine Verzeichnisse sichern

-l, --one-file-system

beim Erzeugen Dateisystem nicht wechseln

-K, --starting-file=NAME

mit NAME im Archiv beginnen

-N, --newer=DATUM

nur Dateien jünger als DATUM sichern

--newer-mtime=DATUM

Datum und Zeit nur vergleichen, wenn sich der Datei-Inhalt geändert hat

--after-date=DATUM

wie -N

--backup[=CONTROL]

Sicherheitskopie vor dem Löschen, wählt Versionskontrolle

--suffix=SUFFIX

Sicherheitskopie vor dem Löschen, Namenserweiterung SUFFIX

 

Informationen:

 

--help

Hilfe anzeigen und tar beenden

--version

Versionsnummer anzeigen und tar benden

-v, --verbose

zu bearbeitende Dateien ausführlich listen

--checkpoint

Verzeichnisnamen beim Lesen des Archivs zeigen

--totals

geschriebene Bytes beim Schreiben des Archivs zeigen

-R, --block-number

Blocknummer innerhalb des Archivs mit jeder Meldung zeigen

-w, --interactive

Bestätigung für jede Aktion verlangen

--confirmation

wie -w

 

Die Namenserweiterung für Sicherheitskopien ist ~, wenn nicht mit --suffix oder der Umgebungsvariablen SIMPLE_BACKUP_SUFFIX etwas anderes eingestellt ist. Die Versionskontrolle kann mit --backup oder der Umgebungsvariablen VERSION_CONTROL gesetzt werden. Mögliche Werte sind:

 

t, numbered

nummerierte Sicherheitskopien

nil, existing

nummerierte Sicherheitskopien, wenn schon nummerierte vorhanden sind, sonst einfache

never, simple

immer einfache Sicherheitskopien

 

 

GNU tar kann keine --posix-Archive lesen. Wenn die Umgebungsvariable POSIXLY_CORRECT gesetzt ist, sind GNU-Erweiterungen in Kombination mit --posix unzulässig. Unterstützung für POSIX ist nur teilweise implementiert, rechnen Sie derzeit noch nicht damit!

 

ARCHIV kann DATEI, RECHNER:DATEI oder BENUTZER@RECHNER:DATEI sein; DATUM kann eine Datumsangabe als Text sein oder ein Dateiname sein, der mit »/« oder ».« beginnt. In diesem Fall wird das Datum der Datei benutzt.

 

Die Voreinstellung für tar ist üblicherweise »-f- -b20«.

BUGS MELDEN

Fehlermeldungen an <bug-tar@gnu.org>.

AUTOR

Geschrieben von John Gilmore und Jay Fenlason.

COPYRIGHT

Copyright © 2001 Free Software Foundation, Inc.

 

Dieses Programm wird ohne Gewährleistung geliefert, soweit dies gesetzlich zulässig ist. Sie können es unter den Bedingungen der GNU General Public License weitergeben. Details dazu enthält die Datei COPYING.

 

Nach oben

Letzte Änderung: 08.May.2010