|
|
(40 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| === Motivation und Zielsetzung ===
| | '''Datensicherung und -archivierung''' - Beschreibung |
| Die Aufgabe von IT-Systemen ist die Verarbeitung und Verwaltung digitaler Daten, die dazu vorübergehend oder dauerhaft auf Datenträgern gespeichert werden. Die Sicherung dieser Daten soll die Rückkehr in einen vorherigen Zustand gewährleisten. Die regelmäßige Sicherung des Datenbestandes zählt zu den wichtigsten Aufgaben eines Systemverwalters.
| |
|
| |
|
| Daten sind verschiedenen Einflüssen ausgesetzt. Dem Schichtenmodell entsprechend können auf jeder Ebene Anomalien auftreten. Zum Beispiel:* Defekte an der Hardware (Datenträger, Controller) | | == Beschreibung == |
| | === Motivation === |
| | ; Motivation und Zielsetzung |
| | Die Aufgabe von IT-Systemen ist die Verarbeitung und Verwaltung digitaler Daten, die dazu vorübergehend oder dauerhaft auf Datenträgern gespeichert werden |
| | * Die Sicherung dieser Daten soll die Rückkehr in einen vorherigen Zustand gewährleisten |
| | * Die regelmäßige Sicherung des Datenbestandes zählt zu den wichtigsten Aufgaben eines Systemverwalters |
| | |
| | Daten sind verschiedenen Einflüssen ausgesetzt |
| | * Dem Schichtenmodell entsprechend können auf jeder Ebene Anomalien auftreten |
| | * Defekte an der Hardware (Datenträger, Controller) |
| * Fehler im Dateisystem | | * Fehler im Dateisystem |
| * Fehler bei der Administration | | * Fehler bei der Administration |
Zeile 8: |
Zeile 16: |
| * Ausfall des Systems | | * Ausfall des Systems |
| * Fehlfunktion nach Update | | * Fehlfunktion nach Update |
| * Versehentliches löschen von Daten | | * Versehentliches Löschen von Daten |
| | |
| Um jeder dieser Situationen gerecht zu werden ist es möglich auf folgenden Ebenen Daten zu sichern:* Datenträger
| |
| * Partition
| |
| * Dateisystem
| |
| | |
| ==== Datensicherungsstrategien ====
| |
| Die Begriffe »Backup« und »Archiv« verwenden wir im weiteren Verlauf synonym. Allgemein bezeichnen wir als ein Archiv einen Container von Daten, der aufbewahrt wird, um genau auf diese Daten später zugreifen zu können. Archive legt man an, um momentan nicht benötigte Daten von der Festplatte zu verbannen oder um sie von einem Rechner auf einen anderen zu kopieren...
| |
| | |
| Die Motivation zu einem Backup resultiert aus anderen Überlegungen. Hier ist die Absicht, einen bestimmten Systemzustand aufzuzeichnen. Dabei bezieht man sich nicht auf den konkreten Inhalt einer Datei - wie bei Archiven - sondern ordnet eine Datei in die Schublade »wichtig« oder »unwichtig« ein, je nachdem, ob sie von meiner Backupstrategie betroffen sein wird oder nicht.
| |
| | |
| Grundsätzlich werden zwei Arten des Backups unterschieden. Das volle Backup sichert stets den kompletten Bestand an Daten, während das inkrementelle Backup nur Daten archiviert, die innerhalb einer bestimmten Periode modifiziert wurden. Dabei steht die Periode meist für den Zeitraum seit der letzten Sicherung.
| |
| | |
| Ein volles Backup ist wegen des hohen Bedarfs an Zeit (die Sicherung erfolgt meist auf ein Bandmedium) weniger für den täglichen Einsatz geeignet, deswegen entscheidet man sich heute meist für eine Mischform aus voller und inkrementeller Datensicherung. Hierbei wird zu einem Zeitpunkt der komplette Datenbestand gesichert und nachfolgend - in regelmäßigen Abständen - archiviert man nur die modifizierten Daten.
| |
| | |
| Die tatsächlich gewählte Strategie des inkrementellen Backups hängt stark von der »Statik« der Daten und vom Sicherheitsbedürfnis des Administrators ab. Im einfachsten Fall betrifft das Backup jeweils alle modifizierten Daten seit dem letzten vollen Backup bis hin zum aktuellen Zeitpunkt. Das umgekehrte Verfahren ist die Aufzeichnung der Änderungen seit der letzten inkrementellen Sicherung. Während in ersterem Fall nur die Archive des vollen und letzten inkrementellen Backups aufbewahrt werden müssen, sind beim zweiten Vorgehen das volle Backup und sämtliche inkrementellen Datensicherungsarchive aufzuheben. In der Praxis findet man auch Archivierungsformen zwischen den beiden beschriebenen Extremen (Multilevel-Backups).
| |
| | |
| Bedenken Sie, dass ein Festplattenfehler Sie auch während der Aufzeichnung eines Backups ereilen kann. Überschreiben Sie daher niemals ihre aktuelle Sicherungskopie.
| |
| | |
| Bei der Vorstellung der Backup-Werkzeuge beschränken wir uns auf Programme, die der GPL oder einer ähnlichen Lizenz unterstehen. In vielen Fällen lassen sie die Bedienfreundlichkeit kommerzieller Produkte vermissen, jedoch ist es durchaus möglich - die notwendigen Kenntnisse vorausgesetzt - diese in Skripten so zu kapseln, dass sie zum einen die Funktionalität und zum anderen die einfache Benutzbarkeit ausgereifter Werkzeuge erreichen.
| |
| | |
| ==== Medien für die Datensicherung ====
| |
| Zunächst ist einfach nachvollziehbar, dass die Speicherkapazität des Backupmediums dem aufkommenden Datenvolumen entsprechen muss. Ein volles Backup könnte man durchaus auch auf Disketten vornehmen, jedoch wird man des Wechsels sicherlich bald überdrüssig und die Diskette ist selbst schon Quelle des lauernden Datenverlusts. Wer kennt nicht das leidige »Can't read sector xxx.«? Besser geeignet - vor allem bei dem geringeren Datenaufkommen des inkrementellen Backups - sind ZIP-Disketten.
| |
| | |
| Traditionell sind Magnetbänder (Quarter-Inch- und DAT-Streamer) weit verbreitet. Sowohl Kapazität als auch Zuverlässigkeit sprechen für dieses Medium. Leider lässt sich auf einem Band kein Dateisystem einrichten, so dass die Daten mit Hilfe spezieller Programme sequentiell auf dieses abgelegt werden müssen. Im Falle eines »Restores« muss demnach der gesamte Bandinhalt zurückgespielt werden, da ein wahlfreier Zugriff nicht möglich ist. Ein Magnetband muss vor dem Zugriff zurückgespult werden, hierzu nutzt man das Kommando mt mit der Option rewind :
| |
| | |
| user@sonne> mt -f <Device> rewind
| |
| | |
| Es ist außerdem möglich, mehr als ein Archiv auf einem Band unterzubringen, immer vorausgesetzt, die Speicherkapazität setzt keine Schranken:
| |
| | |
| <nowiki># Band zur ersten Dateiende-Markierung spulen</nowiki>
| |
| user@sonne> mt -f <Device> fsf 1
| |
| <nowiki># Band zur dritten Dateiende-Markierung spulen</nowiki>
| |
| user@sonne> mt -f <Device> fsf 3
| |
| <nowiki># Band zur letzten Dateiende-Markierung spulen</nowiki>
| |
| user@sonne> mt -f <Device> eof
| |
| | |
| Waren früher die Medien für einem Streamer die preiswerteste Alternative, so geht heute nichts über eine Festplatte. Dem System eigens für die Datensicherung eine eigene Platte zu spendieren, mag auf den ersten Blick befremdend erscheinen, jedoch erhält man für den Preis eines Streamers eine Menge Festplattenspeicher. Die weiteren Vorteile liegen im wahlfreien und wesentlich zügigerem Zugriff. Allerdings schützt die eingebaute Festplatte nur mäßig vor mutwilliger Sabotage, hier kann eine Datensicherung auf einem anderen Rechner (über das Netz) Abhilfe bringen. Die durch RAID-Systeme realisierbare Datenredundanz schützt nur vor Hardwareausfall einer Festplatte, hat also nichts mit einem Backup zu tun!
| |
| | |
| Während sich die »normale« CD-ROModer DVD wegen der nur einmaligen Beschreibbarkeit eher als Medium zur reinen Archivierung eignet, kann die CD-RW und vor allem die DVD-RW durchaus für die alltägliche Datensicherung eingesetzt werden. Allerdings erfordern umfangreiche Backups, die die Kapazität einer einzelnen CD-ROM übersteigen, die Anwesenheit des Administrators.
| |
| | |
| ==== Welche Daten sollten gesichert werden? ====
| |
| Es lohnt sich, etwas Zeit in den Plan zu investieren, welche Daten denn überhaupt den Aufwand eines Backups rechtfertigen.
| |
| | |
| Vielleicht beginnen wir mit Daten, die sichere Kandidaten sind. Da wären: * Die Daten unter /home. Klar, die Benutzer ziehen sich ja täglich neue Daten aus dem Netz.
| |
| * Die Daten unter /etc. Oder haben Sie Interesse, Ihr System komplett neu konfigurieren zu müssen?
| |
| * Die Daten unter /var. Hier liegen Protokolle, Mails, Druckaufträge... also Daten, die i.d.R. permanenter Änderung unterliegen.
| |
| * Projektverzeichnisse, Datenbanken,. ..???
| |
| | |
| Als Daten, deren Aufzeichnung Sie sich getrost sparen können, sind all jene zu nennen, die ohnehin auf einem anderen Medium vorhanden sind, zum Beispiel die Daten der Linuxdistribution, die auf CD-ROM im Schrank liegen. Ebenso sollten Dateisysteme, die von entfernten Rechnern gemountet wurden, besser von dessen Backup-Strategie erfasst werden.
| |
| | |
| Aber letztlich ist es die Ermessensfrage des Administrators, welche Daten er für sicherungswürdig erachtet. Eine Neuinstallation von Linux hat ja manchmal auch den Vorteil, etwas Ordnung im System zu schaffen..
| |
| | |
| === Dateien komprimieren/archivieren ===
| |
| Dateien in Archive zu verpacken und ihre Größe durch Kompressionsalgorithmen zu verkleinern ist ein häufiger Vorgang in der Datenverarbeitung. Grundsätzlich unterscheidet man zwischen Archiven und komprimierten Dateien.
| |
| | |
| Ein Archiv ist ein unkomprimierter Behälter für Dateien. Dieses Archiv kann durch Kompressionsverfahren komprimiert werden. Es gibt allerdings ein paar Formate, die gleich auch eine Komprimierung beinhalten.
| |
| | |
| ==== Archivformate ====
| |
| Es gibt sehr viele verschiedene Formate zum Komprimieren von Daten. Soweit bekannt, lassen sich sämtliche Formate unter Linux benutzen, zumindest jedoch kann man die Dateien öffnen (entpacken). Bekannte Formate unter Linux/Unix sind folgende:* [http://wiki.ubuntuusers.de/gzip gzip] - Kurze Laufzeit, Endung '''.gz'''
| |
| * [http://wiki.ubuntuusers.de/bzip2 bzip2] - Hohe Kompressionsrate, Endung '''.bz2'''
| |
| * [http://de.wikipedia.org/wiki/Xz xz] - Neueres, 7z ähnliches Format, Endung '''.xz'''
| |
| | |
| Hierbei ist zu beachten, dass unter Linux erst die oft genutzte Kombination aus dem Archivprogramm [http://wiki.ubuntuusers.de/tar tar] und einer Kompression mittels gzip oder bzip2 ein komprimiertes Archiv ergibt. '''.tar.gz'''oder '''.tar.bz2'''-Dateien sind also '''.tar''' Archive, die mit dem entsprechenden Kompressionsverfahren komprimiert wurden.
| |
| | |
| Unter Windows sind vor allem die folgenden Formate gebräuchlich, die sich aber auch unter Linux benutzen lassen:* [http://de.wikipedia.org/wiki/ZIP_%28Dateiformat%29 ZIP] - Das wohl bekannteste Packformat, gleichzeitig auch die Dateiendung '''.zip'''
| |
| * [http://de.wikipedia.org/wiki/RAR_%28Dateiformat%29 RAR] - Bekanntes Dateiformat, gleichzeitig auch die Dateiendung '''.rar'''
| |
| * [http://de.wikipedia.org/wiki/ACE_%28Dateiformat%29 ACE] - ACE Packformat, sehr leistungsfähig, gleichzeitig auch die Dateiendung '''.ace'''
| |
| * [http://de.wikipedia.org/wiki/7z 7z] - Freies Packformat, sehr leistungsfähig und quelloffen. Dateiendung '''.7z'''
| |
| | |
| Welches Format man wählt hängt vom Verwendungszweck ab. Möchte man Mails auf einem Server im laufenden Betrieb komprimieren dann sollte der Prozess den Server nicht zu stark beanspruchen damit der Mailverkehr nicht beeinträchtigt wird.
| |
| | |
| Hat man jedoch nur sehr wenig Platz so kann man eine stärkere Komprimierung wählen, dies benötigt jedoch auch mehr Leistung und dauert länger. Der folgende Test samt Auflistung stammt aus dem Artikel [http://wiki.ubuntuusers.de/qt4-fsarchiver qt4-fsarchiver] und soll ein Gefühl für Komprimierung und Geschwindigkeit vermitteln.
| |
| | |
| Für den gesamtem Test lagen folgende Bedingungen zu Grunde: * Quellmedium: ganze Partition
| |
| * Partitionstyp: Kubuntu Lucid '''root'''-Partition (breit gestreute Datenformate); ohne das '''/home''' Verzeichnis (liegt in separater Partition)
| |
| * Partitionsgröße: 15 GiB; tatsächlicher Dateninhalt 4,43 GiB; 189807 Dateien und Verzeichnisse
| |
| | |
| {| class="wikitable sortable"
| |
| |-
| |
| | colspan="4" | Kompressionsübersicht
| |
| |-
| |
| | | Modus/Stufe
| |
| | | Komprimierte Größe (~ GiB)
| |
| | align=center | Zeitaufwand
| |
| | align=center | Ersparnis in ~ %
| |
| |-
| |
| | | lzo (keine Unterstufen)
| |
| | | 2.141.695.938 Byte (1.99 GiB)
| |
| | align=center | 11 min 12 Sek
| |
| | align=center | 55,1
| |
| |-
| |
| | | gzip fast
| |
| | | 1.822.273.889 Byte (1.7 GiB)
| |
| | align=center | 12min 11 Sek
| |
| | align=center | 61,6
| |
| |-
| |
| | | gzip standard
| |
| | | 1.695.248.687 Byte (1.58 GiB)
| |
| | align=center | 12 min 49 Sek
| |
| | align=center | 64,3
| |
| |-
| |
| | | gzip best
| |
| | | 1.688.266.397 Byte (1,57 GiB)
| |
| | align=center | 23 min 52 Sek
| |
| | align=center | 64,6
| |
| |-
| |
| | | bzip2 fast
| |
| | | 1.660.019.964 Byte (1,55 GiB)
| |
| | align=center | 26 min 11 Sek
| |
| | align=center | 65
| |
| |-
| |
| | | bzip2 good
| |
| | | 1.637.605.954 Byte (1,53 GiB)
| |
| | align=center | 28 min 23 Sek
| |
| | align=center | 65,5
| |
| |-
| |
| | | lzma fast
| |
| | | 1.597.604.088 Byte (1,49 GiB)
| |
| | align=center | 19 min 19 Sek
| |
| | align=center | 66,4
| |
| |-
| |
| | | lzma medium
| |
| | | 1.480.208.664 Byte (1,38 GiB)
| |
| | align=center | 59 min 4 Sek
| |
| | align=center | 68,8
| |
| |-
| |
| | | lzma best
| |
| | | 1.461.640.213 Byte (1,36 GiB)
| |
| | align=center | 67 min 0 Sek
| |
| | align=center | 69,3
| |
| | |
| |-
| |
| |}
| |
| | |
| ==== Programme ====
| |
| Um diese Formate unter Linux packen und entpacken zu können, benötigt man für jedes Format ein eigenes Programm. Für die großen Desktop-Umgebungen GNOME und KDE gibt es Archivmanager, die über eine komfortable grafische Oberfläche verfügen, jedoch auf die Einzelprogramme zurückgreifen. Daher müssen diese auf jeden Fall installiert sein.
| |
| | |
| Um mit sämtlichen oben genannten Formaten umgehen zu können, müssen die folgenden Pakete installiert [http://wiki.ubuntuusers.de/Archivmanager?redirect=no#source-1 [1]] werden.
| |
| | |
| Die ersten fünf Pakete sollten bereits nach einer Standardinstallation vorhanden sein.
| |
| * [http://wiki.ubuntuusers.de/tar tar] - ein Archivierungsprogramm, das unter Linux oft mit GZip oder BZip verwendet wird
| |
| * [http://wiki.ubuntuusers.de/bzip2 bzip2] - für Dateien vom Typ BZip
| |
| * [http://wiki.ubuntuusers.de/gzip gzip] - für Dateien vom Typ GZip
| |
| * [http://wiki.ubuntuusers.de/lzop lzop] - auf Geschwindigkeit optimiertes Packprogramm
| |
| * '''zip''' - zum Packen von Zip-Archiven
| |
| * '''unzip''' - zum Entpacken von Zip-Archiven
| |
| * '''xz-utils''' und '''xz-lzma''' - für XZ-Dateien und den Vorgänger LZMA
| |
| * [http://wiki.ubuntuusers.de/7z p7zip-full] (''universe'') - zum Packen/Entpacken mittels LZMA Algorithmus von 7-Zip-Archiven und Entpacken von AES-verschlüsselten Zip-Archiven
| |
| * '''lha''' (''multiverse'', [http://wiki.ubuntuusers.de/Archivmanager?redirect=no#source-2 [2]]) - ein LZH-Archiver, wird von [http://wiki.ubuntuusers.de/Ark Ark] benutzt
| |
| | |
| Erwähnenswert ist auch folgende Anwendung, die bereits in der Standardinstallation mit installiert wird: * [http://wiki.ubuntuusers.de/split split] - Archive in mehrere (beliebig große) Teile teilen
| |
| | |
| Für diverse proprietäre Archivformate gibt es die Wahl zwischen einer Open Source Version und einer Version, die unter einer unfreien Lizenz steht, die dafür aber mehr Funktionalität bietet. So können beispielsweise nur die proprietären Versionen mit Passwörtern geschützte Archive extrahieren usw. Man sollte hierbei darauf achten, dass entweder die proprietäre oder die freie Version installiert ist.
| |
| | |
| ===== Ace =====
| |
| * '''unace''' (''universe'')
| |
| * '''unace-nonfree''' (''multiverse'')
| |
| | |
| Hinweise: unace-nonfree ist erst ab Ubuntu 7.04 Feisty Fawn verfügbar, und funktioniert nicht mit dem Archivmanager File Roller von GNOME.
| |
| | |
| ===== Rar =====
| |
| Für '''rar''' Dateien muss eines der folgenden Pakete installiert werden: * '''rar''' (''multiverse'' - zum Erstellen von Rar-Archiven )
| |
| * '''unrar''' (''multiverse'')
| |
| * '''unrar-free''' (''universe'')
| |
| * '''p7zip-rar''' (''universe'')
| |
| * '''unar''' (''universe'')
| |
| | |
| ===== Hinweis =====
| |
| RAR und Ace sind [http://de.wikipedia.org/wiki/Proprietär proprietäre] Dateiformate. Das heißt, die Mechanismen zum Erstellen und Entpacken solcher Archive beruhen auf geschützten
| |
| | |
| Closed-Source Verfahren. [https://gna.org/projects/unrar/ unrar-free] [[Image:Grafik9.png|top|alt="{en}"]]und unace sind Versuche, die wichtigsten Funktionen zum Entpacken unter einer offenen Lizenz bereit stellen zu können. [http://www.rarlab.com/ unrar] [[Image:Grafik10.png|top|alt="{en}"]]und unace-nonfree sind kommerzielle Software von den Herstellern der beiden Formate.
| |
| | |
| Welches dieser Pakete man installieren soll, ist dem Benutzer selber überlassen. Möchte man ein Computersystem ohne proprietäre Software, so sollte man die freien Pakete nutzen, muss aber mit der Einschränkung leben, nicht alle Archive entpacken zu können.
| |
| | |
| Möchte man alle Archive inklusive beispielsweise dem RAR 3.0 Format und Passwort geschützte Archive entpacken, so muss man auf die proprietären Pakete zurückgreifen.
| |
| | |
| ==== Archivmanager ====
| |
| [[Image:Grafik11.png|right]]Die großen Desktop-Umgebungen bringen von Haus aus Archivmanager mit, die Daten (de-)komprimieren können.
| |
| | |
| Dabei sollte man im Kopf behalten, dass diese Archivmanager nur grafische Frontends für die einzelnen Packprogramme sind, die etwas weiter oben beschrieben werden.
| |
| | |
| Ubuntu installiert aus lizenzrechtlichen Gründen standardmäßig keine Packprogramme für beliebte Archivformate wie Rar oder 7z.
| |
| | |
| Diese müssen also wie oben beschrieben installiert sein, damit die Archivmanager solche Archive verarbeiten können.
| |
| | |
| ====== File Roller ======
| |
| File Roller /http://fileroller.sourceforge.net/) ist der Archivmanager der [http://wiki.ubuntuusers.de/Unity Unity] und [http://wiki.ubuntuusers.de/GNOME GNOME] Desktop-Umgebung. Es wird direkt bei der Installation von Ubuntu mitinstalliert.
| |
| | |
| File Roller ist vollständig in [http://wiki.ubuntuusers.de/Nautilus Nautilus], dem Dateimanager von der GNOME Desktop-Umgebung integriert. Ein Doppelklick links auf ein Archiv öffnet dieses in File Roller. Will man ein Archiv anlegen, so markiert die zu archivierenden Dateien in Nautilus und wählt ''"Komprimieren ..."'' oder ''"Archiv anlegen"'' aus dem Kontextmenü.
| |
| | |
| ====== ARK ======
| |
| [[Image:Grafik15.png|right]][http://wiki.ubuntuusers.de/Ark Ark] ist der Archivmanager der Desktop-Umgebung [http://wiki.ubuntuusers.de/KDE KDE]. Das Programm wird automatisch bei der Installation von [http://wiki.ubuntuusers.de/Kubuntu Kubuntu] installiert.
| |
| | |
| Das Programm selber findet man unter* ''"K-Menü -> Dienstprogramme -> Ark (Archivprogramm)"''
| |
| | |
| oder man startet es, indem man ein Archiv aus einem [http://wiki.ubuntuusers.de/Dateimanager Dateimanager] heraus öffnet.
| |
| | |
| ====== Xarchiver ======
| |
| [[Image:Bild1.png|right]][http://wiki.ubuntuusers.de/Xarchiver Xarchiver] ist der Archivmanager der Desktop-Umgebung [http://wiki.ubuntuusers.de/Xfce Xfce] und wird automatisch mit [http://wiki.ubuntuusers.de/Xubuntu Xubuntu] installiert.
| |
| | |
| Das Programm selbst findet man im Anwendungsmenü unter ''"Zubehör -> Xarchiver"'' oder man startet es, indem man ein Archiv aus dem [http://wiki.ubuntuusers.de/Dateimanager Dateimanager] heraus öffnet.
| |
| | |
| ====== Squeeze ======
| |
| Squeeze (http://squeeze.xfce.org/) ist ein moderner, fortgeschrittener, schneller und einfach zu bedienender Archivmanager für [http://wiki.ubuntuusers.de/Xfce Xfce]. Weitere Informationen im Artikel Squeeze (http://wiki.ubuntuusers.de/Squeeze).
| |
| | |
| ===== [http://wiki.ubuntuusers.de/7z?action=backlinks 7z] =====
| |
| 7z ist sowohl ein Dateiformat als auch ein Kommandozeilenprogramm zur Datenkompression. Es handelt sich um die Referenzimplementierung des hocheffizienten, freien LZMA-Algorithmus', der die allermeisten anderen Algorithmen in ihrer Kompressionsstärke mitunter deutlich übertrifft.
| |
| | |
| Ein Beispiel: LZMA komprimiert durchschnittlich 50% stärker als der Deflate-Algorithmus des weit verbreiteten ZIP-Formats. Auch mit proprietären, kommerziellen Formaten wie RAR kann sich 7z messen. Sensible Daten können per AES-256 verschlüsselt werden und ein Archiv kann bei Bedarf in beliebig große Teile zerlegt werden.
| |
| | |
| Dank seiner Open-Source-Entwicklung hat 7z mittlerweile große Verbreitung gefunden. Die Standard-Archivmanager File-Roller (GNOME), Xarchiver (XFCE/LXDE) und Ark (KDE) kommen mit dem Format zurecht, indem sie auf das hier beschriebene 7z-Terminalprogramm zurückgreifen.
| |
| | |
| Auch für Windows gibt es eine breite Palette an Programmen, die 7z von Haus aus unterstützen. Eine Auflistung findet sich auf der Homepage.
| |
| | |
| ====== Hinweis ======
| |
| Der LZMA-Algorithmus stellt beim Komprimieren sehr hohe Ansprüche an die Systemleistung, insbesondere an den Arbeitsspeicher. Leistungsschwache Systeme werden spätestens bei großen Datenmengen und höheren Kompressionsstufen völlig in die Knie gehen ("System Lock-up"). Um das Potential voll auszuschöpfen, sollten mindestens 2 GiB Arbeitsspeicher vorhanden sein und auch der Prozessor sollte eine Gesamtleistung von 2 GHz nicht unterschreiten.
| |
| | |
| Nach der Installation wird '''p7zip''' mit <tt>7zr</tt> aufgerufen und '''p7zip-full''' nur mit <tt>7z</tt>. Im Verlaufe dieses Artikels wird von p7zip-full ausgegangen, der Befehl ist bei Bedarf auszutauschen.
| |
| | |
| ====== Benutzung ======
| |
| ====== Achtung! ======
| |
| 7z alleine ist für ein Backup eines kompletten Linux-/Unix-Systems nicht geeignet, da es sämtliche Zugriffsrechte ignoriert. Eine Möglichkeit, dieses Problem zu umgehen, findet sich im Abschnitt Tipps.
| |
| | |
| Die allgemeine Syntax von p7zip-full lautet:
| |
| | |
| 7z OPTIONEN SWITCHES AUSGABE EINGABE
| |
| | |
| Beispiel
| |
| | |
| 7z a -t7z -m0=LZMA -mmt=on -mx=9 -md=96m -mfb=256 /home/peter/kirschkuchenrezept.7z /home/peter/kirschkuchenrezept.doc
| |
| | |
| 7z erkennt Verzeichnisse (rekursives arbeiten) selbstständig, es muss kein spezieller Parameter angegeben werden. Optionen werden immer als Buchstaben am Anfang angegeben, während die darauf folgenden Switches immer ein vorstehendes <tt>-</tt> haben.
| |
| | |
| ====== Optionen ======
| |
| Mit den Optionen wird zuerst grob festgelegt, was zu tun ist.
| |
| | |
| {| class="wikitable sortable"
| |
| |-
| |
| | colspan="2" | '''Optionen '''
| |
| |-
| |
| | | '''Option '''
| |
| | | '''Beschreibung '''
| |
| |-
| |
| | | <tt>a</tt>
| |
| | | Dateien/Verzeichnisse einem Archiv hinzufügenoder eine Archivdatei erstellen
| |
| |-
| |
| | | <tt>d</tt>
| |
| | | Dateien/Verzeichnisse aus einem Archiv löschen
| |
| |-
| |
| | | <tt>e</tt>
| |
| | | Einfaches Entpacken aller Dateien aus dem Archiv
| |
| |-
| |
| | | <tt>l</tt>
| |
| | | Inhalt eines Archivs auflisten
| |
| |-
| |
| | | <tt>t</tt>
| |
| | | Archiv auf Beschädigungen prüfen
| |
| |-
| |
| | | <tt>u</tt>
| |
| | | Archivinhalt aktualisieren
| |
| |-
| |
| | | <tt>x</tt>
| |
| | | Archiv entpacken und dabei die Verzeichnisstruktur erhalten
| |
| | |
| |-
| |
| |}
| |
| ====== Switches ======
| |
| Im folgenden nur ein Auszug der wichtigsten Switches, welche die genaue Vorgehensweise festlegen. Der Fokus liegt hier auf dem LZMA-Algorithmus. Informationen zu weiteren Switches finden sich in den [http://wiki.ubuntuusers.de/man Manpages].
| |
| | |
| {| class="wikitable sortable"
| |
| |-
| |
| | colspan="2" | '''Switches '''
| |
| |-
| |
| | | '''Switch '''
| |
| | | '''Beschreibung '''
| |
| |-
| |
| | | <tt>-l</tt>
| |
| | | keine [http://de.wikipedia.org/wiki/Symbolische_Verknüpfung Symlinks] archivieren, sondern ihr Ziel
| |
| |-
| |
| | | <tt>-m</tt>
| |
| | | Algorithmus für Kompression festlegen (zum Beispiel <tt>-m0=LZMA</tt>)
| |
| |-
| |
| | | <tt>-mhe=on</tt>
| |
| | | Den [http://de.wikipedia.org/wiki/Header Header] des Archivs verschlüsseln
| |
| |-
| |
| | | <tt>-oZIEL</tt>
| |
| | | Nicht ins gleiche Verzeichnis entpacken (Standard), sondern nach "ZIEL"
| |
| |-
| |
| | | <tt>-pPASSWORT</tt>
| |
| | | Archiv mit Passwort schützen
| |
| |-
| |
| | | <tt>-tDATEIFORMAT</tt>
| |
| | | Dateiformat festlegen (zum Beispiel <tt>-t7z</tt>)
| |
| |-
| |
| | | <tt>-mmt=on</tt>
| |
| | | [http://de.wikipedia.org/wiki/Multithreading Multithreading] für Mehrkernprozessoren oder Multiprozessorsysteme aktivieren
| |
| |-
| |
| | | <tt>-mx=STUFE</tt>
| |
| | | Stufe der Kompressionsstärke (1=schnell und schlecht, 9=langsam und gut)
| |
| |-
| |
| | | <tt>-mfb=NUMMER</tt>
| |
| | | Anzahl der [http://de.wikipedia.org/wiki/Wörterbuchkompression Wörterbücher] (8, 12, 16, 24, 32, 48, 64, 96, 128, 192, 256, 273)
| |
| |-
| |
| | | <tt>-md=NUMMER</tt>
| |
| | | Größe der Wörterbücher (64k, 1m, 2m, 4m, 6m, 8m, 12m, 16m, 24m, 32m, 48m, 64m, 96m, 128m)
| |
| |-
| |
| | | <tt>-ms=on</tt>
| |
| | | [http://de.wikipedia.org/wiki/Progressive_Kompression Progressive ("solid") Kompression]
| |
| | |
| |-
| |
| |}
| |
| ====== Tipps ======
| |
| * Je höher die anstehenden Nummern bei den Switches <tt>-mfb</tt> und <tt>-md</tt> sind, desto stärker ist die Kompression. Dies wirkt sich allerdings nicht nur auf die benötigte Zeit des Vorgangs aus, sondern auch auf die Systemauslastung, insbesondere die des Arbeitsspeichers. Es sei nochmals darauf hingewiesen, dass der Switch <tt>-md</tt> nicht die maximale Beanspruchung des Arbeitsspeichers definiert.
| |
| * Die progressive Komprimierung wird die Effizienz immer dann erhöhen, wenn mehrere Dateien gepackt werden sollen – insbesondere, wenn diese sich ähneln. Der nötige Aufwand kann durch die Methode jedoch stark in die Höhe schießen, sie sollte mit Bedacht eingesetzt werden. Ist ein Archiv progressiv komprimiert worden, können einzelne Dateienoder Verzeichnisse nur entpackt werden, indem alles, was sich im Archiv davor befindet, abgearbeitet wird. In einem solchem Szenario dauert das Entpacken länger. Beim Entpacken des gesamten Archivs gibt es hingegen keinen sonderlichen Zeitunterschied.
| |
| * Um doch ein Backup eines Linux-/Unix-Systems mit 7z zu komprimieren, empfiehlt es sich, dieses vorher mit [http://wiki.ubuntuusers.de/tar tar] zu einem einzelnen Datenstrom zusammenzufügen. Beispiel:
| |
| | |
| tar cf - PFAD | 7za a -si ERGEBNIS.tar.7z
| |
| | |
| Das Entpacken eines solchen Archives läuft dann wieder in umgekehrter Reihenfolge ab (Achtung! Das Zielverzeichnis '''ZIELPFAD''' muss vorhanden sein!):
| |
| | |
| 7za x -so ERGEBNIS.tar.7z | tar xf - -C ZIELPFAD
| |
| | |
| ==== Terminal ====
| |
| Man muss nicht zwangsläufig auf die graphischen Archivmanager zurückgreifen. Alle Packprogramme kann man auch von einem Terminal heraus bedienen. Wichtig dabei ist natürlich, dass die oben genannten Packprogramme installiert sind.
| |
| | |
| ===== Ace =====
| |
| <nowiki># Falls unance-nonfree installiert ist</nowiki>
| |
| unace (OPTIONEN) ARCHIVNAME.ace
| |
| <nowiki># Falls unace installiert ist</nowiki>
| |
| unace e ARCHIVNAME.ace
| |
| | |
| ===== Rar =====
| |
| ====== Archive erstellen ======
| |
| <nowiki># Allgemein</nowiki>
| |
| rar a ARCHIVNAME DATEI1 (DATEI2) ...
| |
| <nowiki># Beispiel</nowiki>
| |
| rar a -v2048 test.rar -p datei1 datei2 datei3
| |
| | |
| ====== Archive entpacken ======
| |
| Manche unter Windows erstellte Rar-Archive lassen sich aus unbekannten Gründen nicht mit Ark unter KDE öffnen. Hier ist man gezwungen, auf das Entpacken im Terminal zurückzugreifen, was in der Regel einwandfrei funktioniert. Dazu geht man wie folgt vor:
| |
| | |
| <nowiki># Allgemein</nowiki>
| |
| unrar x ARCHIVNAME.rar
| |
| <nowiki># Beispiel</nowiki>
| |
| unrar x -pPasswort ~/Desktop/beispiel.rar
| |
| | |
| Ein Sonderfall ergibt sich, wenn bei einer passwortgeschützten Datei das Passwort mit Sonderzeichen, wie etwa ~ endet. In diesem Fall führt der o. g. Befehl zu der Fehlermeldung
| |
| | |
| bash: !~: event not found
| |
| | |
| Das Problem kann man umgehen, indem man zunächst das Entpacken ohne Passworteingabe einleitet (siehe Befehl oben). Dann wird man automatisch nach dem Passwort gefragt, welches man nun eingeben kann. Achtung: Das Passwort wird bei der Eingabe nicht angezeigt.
| |
| | |
| Enter password (will not be echoed) for Dateiname.rar:
| |
| | |
| {| class="wikitable sortable"
| |
| |-
| |
| | | '''Kommandos / Optionen '''
| |
| | | '''Bemerkung '''
| |
| |-
| |
| | | <tt>a</tt>
| |
| | | Dateien sollen hinzugefügt werden.
| |
| |-
| |
| | | <tt>e</tt>
| |
| | | Dateien sollen entpackt werden.
| |
| |-
| |
| | | <tt>x</tt>
| |
| | | Dateien sollen in die in der Datei enthaltene Verzeichnisstruktur entpackt werden.
| |
| |-
| |
| | | <tt>-m[KOMPRESSIONSLEVEL]</tt>
| |
| | | Setzt den Kompressionslevel ( <tt>-m0</tt> = ohne; <tt>-m3</tt> = standard; <tt>-m5</tt> = maximal) (optional).
| |
| |-
| |
| | | <tt>-v[GROESSE][EINHEIT]</tt>
| |
| | | Legt die Dateigröße fest, als Einheit kann man u.a. Byte (<tt>b</tt>), Kilobyte (<tt>k</tt>), und Megabyte (<tt>m</tt>) wählen. Wenn man nun Teilarchive haben will, die zum Beispiel 100 Megabyte groß sind, wählt man folgende Option <tt>-v100m</tt>. Die Größe der Teilarchive geht bei 1000 Bytes los, kleinere Teilarchive kann man nicht erstellen (optional).
| |
| |-
| |
| | | <tt>-rr[GROESSE][EINHEIT]</tt>
| |
| | | Fügt Wiederherstellungsinformationen hinzu. Diese können bspw. in Prozent angegeben werden, für fünf Prozent gibt man also <tt>-rr5%</tt> an. Wird keine Einheit angegeben, gibt die Größenangabe die Anzahl der Sektoren an, die zur Wiederherstellung verwendet werden können (optional).
| |
| |-
| |
| | | <tt>-p</tt>
| |
| | | Setzt ein Passwort, das man nach der Eingabe festlegt (optional).
| |
| |-
| |
| | | <tt>-hp</tt>
| |
| | | Setzt auch ein Passwort, Unterschied zu <tt>-p</tt> ist, dass das Archiv nun komplett verschlüsselt wird, das heißt die Dateinamen im Archiv werden auch verschlüsselt (optional).
| |
| | |
| |-
| |
| |}
| |
| ===== tar.gz/tar.bz2 =====
| |
| ====== tar.gz ======
| |
| ====== Archive erstellen ======
| |
| <nowiki># Allgemein</nowiki>
| |
| tar -czf ARCHIVNAME.tar.gz DATEI1/VERZEICHNIS1 (DATEI2/VERZEICHNIS2) ...
| |
| <nowiki># Beispiel</nowiki>
| |
| tar -czf beispiel.tar.gz test example
| |
| <nowiki># oder</nowiki>
| |
| tar -czf beispiel.tar.gz test/
| |
| | |
| Dabei wird im ersten Beispiel ein Archiv '''beispiel.tar.gz''' aus den Dateien '''test''' und '''example''' erstellt. Im zweiten Beispiel wird aus dem Verzeichnis '''test/''' ein Archiv erstellt.
| |
| | |
| ====== Archive entpacken ======
| |
| <nowiki># Allgemein</nowiki>
| |
| tar -xzf ARCHIVNAME.tar.gz
| |
| <nowiki># Beispiel</nowiki>
| |
| tar -xzf beispiel.tar.gz
| |
| | |
| ====== tar.bz2 ======
| |
| ====== Archive erstellen ======
| |
| <nowiki># Allgemein</nowiki>
| |
| tar -cjf ARCHIVNAME.tar.bz2 DATEI1/VERZEICHNIS1 (DATEI2/VERZEICHNIS2) ...
| |
| <nowiki># Beispiel</nowiki>
| |
| tar -cjf beispiel.tar.bz2 test example
| |
| <nowiki># oder</nowiki>
| |
| tar -cjf beispiel.tar.bz2 test/
| |
| | |
| Dabei wird im ersten Beispiel ein Archiv '''beispiel.tar.bz2''' aus den Dateien '''test''' und '''example''' erstellt. Im zweiten Beispiel wird aus dem Verzeichnis '''test/''' ein Archiv erstellt.
| |
| | |
| ====== Archive entpacken ======
| |
| <nowiki># Allgemein</nowiki>
| |
| tar -xjf ARCHIVNAME.tar.bz2
| |
| <nowiki># Beispiel</nowiki>
| |
| tar -xjf beispiel.tar.bz2
| |
| | |
| Dabei entsteht in der Regel ein neues Verzeichnis, in welches man dann wechseln kann. Manchmal möchte man den Inhalt des Archivs auch direkt an einen Ort entpacken (für '''.tar.bz2''' bitte die Befehle entsprechend ändern):
| |
| | |
| <nowiki># Allgemein</nowiki>
| |
| tar -xjf ARCHIVNAME.tar.bz2 -C ZIELORDNER
| |
| <nowiki># Beispiel</nowiki>
| |
| tar -xjf php-5.1.0.tar.bz2 -C /opt/php5
| |
| | |
| ===== UnZip =====
| |
| <nowiki># Datei entpacken</nowiki>
| |
| unzip ARCHIVNAME.zip
| |
| <nowiki># in Ordner entpacken</nowiki>
| |
| unzip ARCHIVNAME.zip -d ZIELORDNER
| |
| | |
| ===== atool, Unpack und dtrx =====
| |
| Um sich nicht die unterschiedlichen Befehle und Parameter der verschiedenen Archivformattools zu merken, gibt es [http://www.nongnu.org/atool/ atool] [[Image:Bild3.png|top|alt="{en}"]], [http://Unpack.sourceforge.net/ Unpack] [[Image:Grafik21.png|top|alt="{en}"]]oder [http://brettcsmith.org/2007/dtrx/ dtrx] [[Image:Grafik22.png|top|alt="{en}"]]. Die Programme kennen die Syntax um Archive zu entpacken und ersparen dem Benutzer die Eingabe des kompletten Befehls. So kann man dann mit einem einzigen Befehl wie
| |
| | |
| aunpack ARCHIV
| |
| | |
| oder
| |
| | |
| unp ARCHIV
| |
| | |
| oder
| |
| | |
| dtrx ARCHIV
| |
| | |
| bequem im Terminal [http://wiki.ubuntuusers.de/Archivmanager?redirect=no#source-4 [4]] entpacken. Weitere Informationen zu Unpack findet man im Wiki unter [http://wiki.ubuntuusers.de/unp unp].
| |
| | |
| Die Funktionalität von atool geht sogar noch weiter, so können u.a. mit <tt>apack</tt> Archive erstellt werden oder mit <tt>als</tt> Archivinhalte aufgelistet werden. '''atool''' kann aus den ''universe''-Quellen installiert werden:* '''atool''' (''universe'')
| |
| | |
| Analog '''dtrx''': * '''dtrx''' (''universe'')
| |
| | |
| ===== zless und bzless =====
| |
| [http://wiki.ubuntuusers.de/less#zless-und-bzless zless und bzless] sind zwei kleine Programme, mit denen sich gepackte Textdateien ('''.gz''' und '''.bz2''') betrachten lassen, ohne sie vorher manuell entpacken zu müssen.
| |
| | |
| ==== Weitere Packprogramme ====
| |
| ===== cabextract =====
| |
| [http://wiki.ubuntuusers.de/Cabinet-Dateien#cabextract cabextract] ist zum Entpacken von [http://wiki.ubuntuusers.de/Cabinet-Dateien Cabinet-Dateien], welche im Format '''.cab''' vorliegen, gedacht.
| |
| | |
| ===== innoextract =====
| |
| [http://wiki.ubuntuusers.de/innoextract innoextract] extrahiert Installationsdateien, welche mit [http://de.wikipedia.org/wiki/Inno_Setup Inno Setup] erstellt wurden.
| |
| | |
| ===== unshield =====
| |
| [http://wiki.ubuntuusers.de/Cabinet-Dateien#unshield unshield] ist wie cabextract zum Entpacken von [http://wiki.ubuntuusers.de/Cabinet-Dateien Cabinet-Dateien] gedacht, jedoch für Anwendungen, die [http://de.wikipedia.org/wiki/InstallShield InstallShield] verwenden.
| |
| | |
| ===== PeaZip =====
| |
| [[Image:Bild4.png|right]][http://wiki.ubuntuusers.de/PeaZip PeaZip] ist ein relativ junges plattformübergreifendes Projekt (2005) und stellt eine gute und funktionserweiterte Alternative zu den obigen Archivmanagern dar.
| |
| | |
| Es unterstützt praktisch alle im Rahmen der lizenzrechtlichen Bestimmungen verfügbaren Formate und bietet eine kaum mehr überschaubare
| |
| | |
| Vielfalt an Funktionen, Optionen und Filtern. Besondere Beachtung verdienen die umfangreichen Möglichkeiten zur Datensicherheit (verschiedene Verschlüsselungen, Löschen durch mehrfaches Überschreiben usw.).
| |
| | |
| Im Gegensatz zu den oben beschriebenen [http://wiki.ubuntuusers.de/Archivmanager?redirect=no#Archivmanager Archivmanagern] ist PeaZip kein grafisches Frontend für die einzelnen oben beschriebenen [http://wiki.ubuntuusers.de/Archivmanager?redirect=no#Programme Packprogramme], sondern ein eigenständiges Pack- und Archivierungsprogramm.
| |
| | |
| Es ist also nicht auf die separate Installation von Packprogrammen angewiesen.
| |
| | |
| === Dateien komprimieren mit gzip ===
| |
| [[Linux:Befehl:gzip]]
| |
| | |
| === Backup mit tar ===
| |
| [[Linux:Befehl:tar]]
| |
| | |
| === Low Level Backup (dd) ===
| |
| [[Linux:Befehl:dd]]
| |
| | |
| === ISO-Images mit Mkisofs ===
| |
| [[Linux:Befehl:mkisofs]]
| |
| | |
| === Backup mit cpio ===
| |
| <tt>'''cpio'''</tt> erzeugt und verwaltet Dateiarchive verschiedener Formate
| |
| | |
| '''cpio''' {-o|-create} [-0acvABLV] [-C ''Anzahl''] [-H ''Format''] [-M ''Nachricht''<nowiki>] [-O [[</nowiki>''User''@]''Host'':]''Datei''<nowiki>] [-F [[</nowiki>''User''@]''Host'':]''Datei''<nowiki>] [-file=[[</nowiki>''User''@]''Host'':]''Datei''] [-format=''Format''] [-message=''Nachricht''] [-null] [-reset-access-time] [-verbose] [-dot] [-append] [-block-size=''Größe''] [-dereference] [-io-size=''Größe''] [-force-local] [-help] [-version] < ''Liste'' [> ''Datei'']
| |
| '''cpio''' {-i|-extract} [-bcdfmnrtsuvBSV] [-C ''Anzahl''] [-E ''Datei''] [-H ''Format''] [-M ''Nachricht''] [-R [''User''][:.][''Gruppe''<nowiki>]] [-I [[</nowiki>''User''@]''Host'':]''Datei''<nowiki>] [-F [[</nowiki>''User''@]''Host'':]''Datei''<nowiki>] [-file=[[</nowiki>''User''@]''Host'':]''Datei''] [-make-directories] [-nonmatching] [-preserve-modification-time] [-numeric-uid-gid] [-rename] [-list] [-swap-bytes] [-swap] [-dot] [-unconditional] [-verbose] [-block-size=''Anzahl''] [-swap-halfwords] [-io-size=''Anzahl''] [-pattern-file=''Datei''] [-format=''Format''] [-owner=[''user''][:.][''Gruppe'']] [-no-preserve-owner] [-message=''Nachricht''] [-force-local] [-help] [-version] [''Muster''...] [< ''Datei'']
| |
| '''cpio''' {-p|-pass-through} [-0adlmuvLV] [-R [user][:.][group]] [-null] [-reset-access-time] [-make-directories] [-link] [-preserve-modification-time] [-unconditional] [-verbose] [-dereference] [-owner=[''User''][:.][''Gruppe'']] [-dot] [-no-preserve-owner] [-help] [-version] ''Zielverzeichnis'' < ''Liste''
| |
| | |
| <tt>'''cpio'''</tt> ist ein Tool zur Erzeugung und Verwaltung von Dateiarchiven. In einem Dateiarchiv werden mehrere Dateien mit ihren Verzeichnissen und allen Verwaltungsinformationen, wie Eigentümer, Zugriffsrechte Erzeugungszeit etc., zu einer einzigen Datei oder zu einem Datenstrom zusammengefaßt. <tt>cpio</tt> erzeugt und verarbeitet eine ganze Reihe verschiedener Archivformate. Deshalb ist es besonders gut für den Austausch von Datenbeständen zwischen unterschiedlichen Rechnern geeignet.
| |
| | |
| <tt>cpio</tt> kann in drei verschiedenen Modi arbeiten.
| |
| | |
| Im copy-out Modus werden Daten aus dem Dateisystem in ein Archiv, zum Beispiel auf ein Magnetband, geschrieben. Die Namen der zu archivierenden Dateien liest <tt>cpio</tt> Zeilenweise von der Standardeingabe. Eine gängige Methode zur Erzeugung einer geeigneten Liste von Dateinamen ist die Verbindung des Ausgabekanals von [../../../ebooks/computer/betriebssysteme/linux/allgemein/unsortiert/linux_anwender_handbuch/linux_anwenderhandbuch_7-0/node54.html#find find] mit dem Eingabekanal von <tt>cpio</tt> durch eine Pipeline.
| |
| | |
| Im copy-in Modus werden die Daten vom Archiv in das Dateisystem kopiert. In diesem Modus liest <tt>cpio</tt> die archivierten Daten von der Standardeingabe. Wenn nicht das gesamte Archiv ausgepackt werden soll, können die gewünschen Dateien durch reguläre Ausdrücke nach den Optionen auf der Kommandozeile angegeben werden.
| |
| | |
| Im copy-pass Modus werden die Daten wie bei copy-out aus dem Dateisystem gelesen und sofort wieder in ein anderes Verzeichnis geschrieben, ohne daß zwischendurch ein Archiv erzeugt wird. Die Namen der zu kopierenden Dateien werden wie bei copy-out von der Standardeingabe gelesen, der Name des Zielverzeichnisses muß in der Kommandozeile nach den Optionen angegeben werden.
| |
| | |
| '''Optionen'''
| |
| | |
| {| class="wikitable sortable"
| |
| |-
| |
| | | <tt>'''-a</tt> '''
| |
| | | veranlaßt <tt>cpio</tt>, nach dem copy-out die letzte Zugriffszeit vor dem Lesen zurückzusetzen
| |
| |-
| |
| | | <tt>'''-A</tt> '''
| |
| | | die Dateien werden an ein existierendes Archiv angehängt (nur im copy-out Modus auf Blockgeräten möglich)
| |
| |-
| |
| | | <tt>'''-b</tt> '''
| |
| | | veranlaßt <tt>cpio</tt>, beim extrahieren von Daten die Bytes von Datenwörtern und Halbwörtern zu tauschen
| |
| |-
| |
| | | <tt>'''-B</tt> '''
| |
| | | setzt die Blockgröße auf 5120 Bytes anstelle der voreingestellten 512 Bytes
| |
| |-
| |
| | | <tt>'''-block-size</tt><nowiki>=</nowiki>''Anzahl'' '''
| |
| | | setzt die Blockgröße auf ''Anzahl''x512 Bytes
| |
| |-
| |
| | | <tt>'''-c</tt> '''
| |
| | | veranlaßt tar, das alte, portable ASCII Archivformat zu benutzen
| |
| |-
| |
| | | <tt>'''-C</tt> ''Größe'' '''
| |
| | | setzt die Blockgröße (''Größe'' in Bytes)
| |
| |-
| |
| | | <tt>'''-d</tt> '''
| |
| | | veranlaßt tar, beim Auspacken eines Archivs die notwendigen Verzeichnisse zu erzeugen, wenn sie noch nicht existieren
| |
| |-
| |
| | | <tt>'''-E</tt> ''Datei'' '''
| |
| | | die Liste oder die regulären Ausdrücke zur Bestimmung der zu kopierenden Dateien wird aus der angegebenen Datei und nicht von der Standardeingabe gelesen
| |
| |-
| |
| | | <tt>'''-f</tt> '''
| |
| | | verkehrt die Wirkung der Listeoder des Musters ins Gegenteil; es werden die Dateien kopiert, die nicht auf das Muster passen
| |
| |-
| |
| | | <tt>'''-F</tt><nowiki> [[</nowiki>''User''@ ]''Host'':]''Datei'' '''
| |
| | | veranlaßt <tt>tar</tt>, die angegebene ''Datei'' als Archivdatei zu benutzen
| |
| |-
| |
| | | <tt>'''-force-local</tt> '''
| |
| | | erzwingt die Interpretation eines Archivnamens bei den Optionen -F, -I und -O als lokale Datei, auch wenn in dem Dateinamen ein Doppelpunkt vorkommt
| |
| |-
| |
| | | <tt>'''-H</tt> ''Format'' '''
| |
| | | bestimmt eines der folgenden Archivformate (bei copy-in werden die unterstützten Formate automatisch erkannt):
| |
| | |
| bin (Voreinstellung bei copy-out) veraltetes Binärformat
| |
| | |
| odc das alte, portable POSIX-1 Format
| |
|
| |
|
| newc das neue, portable SVR4 Format; für große Dateisysteme mit mehr als 65536 I-Nodes geeignet
| | Um jeder dieser Situationen gerecht zu werden, ist es möglich, auf folgenden Ebenen Daten zu sichern |
| | * Datenträger |
| | * Partition |
| | * Dateisystem |
| | * Datenbanken |
|
| |
|
| crc wie newc mit zusätzlicher Prüfsumme
| | === Strategie === |
| | ; Datensicherungsstrategien |
| | Die Begriffe »Backup« und »Archiv« verwenden wir im weiteren Verlauf synonym |
| | * Allgemein bezeichnen wir als ein Archiv einen Container von Daten, der aufbewahrt wird, um genau auf diese Daten später zugreifen zu können |
| | * Archive legt man an, um momentan nicht benötigte Daten von der Festplatte zu verbannen oder um sie von einem Rechner auf einen anderen zu kopieren.. |
|
| |
|
| tar das alte <tt>tar</tt> Format
| | Die Motivation zu einem Backup resultiert aus anderen Überlegungen |
| | * Hier ist die Absicht, einen bestimmten Systemzustand aufzuzeichnen |
| | * Dabei bezieht man sich nicht auf den konkreten Inhalt einer Datei - wie bei Archiven - sondern ordnet eine Datei in die Schublade »wichtig« oder »unwichtig« ein, je nachdem, ob sie von meiner Backupstrategie betroffen sein wird oder nicht |
|
| |
|
| ustar das POSIX-1 <tt>tar</tt> Format und das GNU-<tt>tar</tt> Format
| | Grundsätzlich werden zwei Arten des Backups unterschieden |
| | * Das volle Backup sichert stets den kompletten Bestand an Daten, während das inkrementelle Backup nur Daten archiviert, die innerhalb einer bestimmten Periode modifiziert wurden |
| | * Dabei steht die Periode meist für den Zeitraum seit der letzten Sicherung |
|
| |
|
| hpbin das alte Binärformat des HPUX-<tt>cpio</tt>
| | Ein volles Backup ist wegen des hohen Bedarfs an Zeit (die Sicherung erfolgt meist auf ein Bandmedium) weniger für den täglichen Einsatz geeignet, deswegen entscheidet man sich heute meist für eine Mischform aus voller und inkrementeller Datensicherung |
| | * Hierbei wird zu einem Zeitpunkt der komplette Datenbestand gesichert und nachfolgend - in regelmäßigen Abständen - archiviert man nur die modifizierten Daten |
|
| |
|
| hpodc das portable POSIX-1 Format von HPUX; unterscheidet sich in der Speicherung von Gerätedateien
| | Die tatsächlich gewählte Strategie des inkrementellen Backups hängt stark von der »Statik« der Daten und vom Sicherheitsbedürfnis des Administrators ab |
| |-
| | * Im einfachsten Fall betrifft das Backup jeweils alle modifizierten Daten seit dem letzten vollen Backup bis hin zum aktuellen Zeitpunkt |
| | | <tt>'''-i</tt> '''
| | * Das umgekehrte Verfahren ist die Aufzeichnung der Änderungen seit der letzten inkrementellen Sicherung |
| | | schaltet <tt>cpio</tt> in den copy-in Modus; die in der Liste angegebenen Dateien werden aus dem Archiv in das System hinein kopiert
| | * Während in ersterem Fall nur die Archive des vollen und letzten inkrementellen Backups aufbewahrt werden müssen, sind beim zweiten Vorgehen das volle Backup und sämtliche inkrementellen Datensicherungsarchive aufzuheben |
| |-
| | * In der Praxis findet man auch Archivierungsformen zwischen den beiden beschriebenen Extremen (Multilevel-Backups) |
| | | <tt>'''-I</tt><nowiki> [[</nowiki>''User''@ ]''Host'':]''Datei'' '''
| |
| | | verbindet die Standardeingabe von <tt>cpio</tt> mit der ''Datei''<nowiki>; gegebenenfalls wird die Verbindung zum Rechner </nowiki>''Host'' hergestellt und die Archivierung mit den Rechten von ''User'' ausgeführt
| |
| |-
| |
| | | <tt>'''-k</tt> '''
| |
| | | ohne Funktion
| |
| |-
| |
| | | <tt>'''-l</tt> '''
| |
| | | wenn möglich werden Dateien nicht kopiert sondern symbolische Links erzeugt
| |
| |-
| |
| | | <tt>'''-L</tt> '''
| |
| | | im copy-out oder -pass Modus werden nicht die symbolischen Links kopiert, sondern die referenzierten Dateien
| |
| |-
| |
| | | <tt>'''-m</tt> '''
| |
| | | das Datum der letzten Änderung bleibt beim Kopieren unverändert
| |
| |-
| |
| | | <tt>'''-M</tt> ''Nachricht'' '''
| |
| | | veranlaßt cpio, die Nachricht auf die Standardfehlerausgabe zu schreiben, wenn das Backup-Medium voll ist; der Platzhalter `%d' kann benutzt werden, um in der Nachricht die laufende Nummer des aktuellen Bandes auszugeben (Start bei 1)
| |
| |-
| |
| | | <tt>'''-n</tt> '''
| |
| | | die User- und Gruppen-ID der archivierten Dateien wird beim Listing in numerischer Form ausgegeben
| |
| |-
| |
| | | <tt>'''-no-preserve-owner</tt> '''
| |
| | | (Voreinstellung für User ohne root-Privilegien) beim Extrahieren von Dateien aus dem Archiv oder beim Kopieren wird die archivierte User- und Gruppen-ID nicht auf die extrahierten Dateien übertragen
| |
| |-
| |
| | | <tt>'''-o</tt> '''
| |
| | | schaltet cpio in den copy-out Modus; die in der Liste angegebenen Dateien werden aus dem System heraus kopiert und ein Archiv angelegt oder erweitert
| |
| |-
| |
| | | <tt>'''-O</tt><nowiki> [[</nowiki>''User''@ ]''Host'':]''Datei'' '''
| |
| | | verbindet die Standardausgabe von <tt>cpio</tt> mit der ''Datei''<nowiki>; gegebenenfalls wird die Verbindung zum Rechner </nowiki>''Host'' hergestellt und die Archivierung mit den Rechten von ''User'' ausgefüチhrt
| |
| |-
| |
| | | <tt>'''-p</tt> '''
| |
| | | schaltet cpio in den copy-pass Modus
| |
| |-
| |
| | | <tt>'''-r</tt> '''
| |
| | | erlaubt dem Anwender die interaktive Umbenennung von Dateien im copy-in Modus
| |
| |-
| |
| | | <tt>'''-R</tt> [''User'' ][:.][''Gruppe'' ] '''
| |
| | | die entsprechenden Benutzerrechte vorausgesetzt, werden Eigentümer und/oder Gruppe der Dateien beim Extrahieren geändert
| |
| |-
| |
| | | <tt>'''-s</tt> '''
| |
| | | die Bytes eines Halbwortes werden beim Extrahieren der Daten vertauscht
| |
| |-
| |
| | | <tt>'''-S</tt> '''
| |
| | | die Halbworte eines Wortes werden beim Extrahieren der Daten vertauscht
| |
| |-
| |
| | | <tt>'''-t</tt> '''
| |
| | | zeigt den Inhalt des Archives an
| |
| |-
| |
| | | <tt>'''-u</tt> '''
| |
| | | beim Extrahieren werden Dateien im Dateisystem ohne Nachfrage durch gleichnamige Dateien aus dem Archiv überschrieben, auch wenn diese älter sind
| |
| |-
| |
| | | <tt>'''-v</tt> '''
| |
| | | zusammen mit -t wird ein ausführliches Listing des Archivinhalts ausgegeben
| |
| |-
| |
| | | <tt>'''-V</tt> '''
| |
| | | für jede bearbeitete Datei wird ein Punkt in den Standardfehlerkanal geschrieben
| |
| |-
| |
| | | <tt>'''-0</tt> '''
| |
| | | die Elemente der Liste können durch Nullbytes anstelle der normalerweise erwarteten NEWLINE übergeben werden
| |
| |-
| |
| |}
| |
| cpio (cpio in/out) besitzt einen ähnlichen Funktionsumfang wie das zuvor beschriebene Kommando tar, so dass wohl eher die Vorliebe des Benutzers das eine oder andere Werkzeug favorisiert. Ein Vorteil wäre dennoch zu nennen: cpio verzweifelt nicht an beschädigten Archiven und vermag zumindest den unversehrten Teil komplett wieder herzustellen.
| |
|
| |
|
| cpio MODUS [ OPTIONEN ]
| | Bedenken Sie, dass ein Festplattenfehler Sie auch während der Aufzeichnung eines Backups ereilen kann. Überschreiben Sie daher niemals ihre aktuelle Sicherungskopie |
|
| |
|
| cpio kennt drei Betriebsarten: * copy in zum Extrahieren von Dateien aus einem Archiv: Option -i
| | Bei der Vorstellung der Backup-Werkzeuge beschränken wir uns auf Programme, die der GPL oder einer ähnlichen Lizenz unterstehen |
| * copy out zum Erzeugen eines Archivs: Option -o | | * In vielen Fällen lassen sie die Bedienfreundlichkeit kommerzieller Produkte vermissen, jedoch ist es durchaus möglich - die notwendigen Kenntnisse vorausgesetzt - diese in Skripten so zu kapseln, dass sie zum einen die Funktionalität und zum anderen die einfache Benutzbarkeit ausgereifter Werkzeuge erreichen |
| * pass througth als Kombination aus den obigen Modi erlaubt das Kopieren ganzer Verzeichnisbäume: Option -p
| |
|
| |
|
| ==== Volles und inkrementelles Backup ==== | | === Medien === |
| Um Dateien in einem cpio-Archiv zu speichern, müssen deren Namen dem Kommando mitgeteilt werden. cpio erwartet allerdings, dass jeder Dateiname auf einer neuen Zeile erscheint. Deshalb füttert man das Kommando am einfachsten über eine Pipe:
| | ; Medien für die Datensicherung |
| | Zunächst ist einfach nachvollziehbar, dass die Speicherkapazität des Backupmediums dem aufkommenden Datenvolumen entsprechen muss |
| | * Ein volles Backup könnte man auch auf Disketten vornehmen, jedoch wird man des Wechsels sicherlich bald überdrüssig und die Diskette ist selbst schon Quelle des lauernden Datenverlusts |
| | * Wer kennt nicht das leidige »Can't read sector xxx.«? Besser geeignet - vorwiegend bei dem geringeren Datenaufkommen des inkrementellen Backups - sind ZIP-Disketten |
|
| |
|
| user@sonne> ls *.txt | cpio -o > /dev/fd0
| | ; Festplatten |
| 11 blocks
| | Waren früher die Medien für einen Streamer die preiswerteste Alternative, so geht heute nichts über eine Festplatten |
| | * Dem System eigens für die Datensicherung eine eigene Platte zu spendieren, mag auf den ersten Blick befremdend erscheinen, jedoch erhält man für den Preis eines Streamers eine Menge Festplattenspeicher |
| | * Die weiteren Vorteile liegen im wahlfreien und wesentlich schnelleren Zugriff |
| | * Allerdings schützt die eingebaute Festplatte nur mäßig vor mutwilliger Sabotage, hier kann eine Datensicherung auf einem anderen Rechner (über das Netz) Abhilfe bringen |
|
| |
|
| Das Beispiel sichert alle auf ".txt" endenden Dateien des aktuellen Verzeichnisses auf die Diskette. Die Ausgabeumleitung ist wichtig, da sonst die Dateiinhalte auf dem Bildschirm landen würden.
| | Die durch RAID-Systeme realisierbare Datenredundanz schützt nur vor Hardwareausfall einer Festplatte, hat also nichts mit einem Backup zu tun |
|
| |
|
| Hiermit kennen Sie nun das Prinzip des Backups mit cpio ; zur Implementierung eines inkrementellen Backups bietet sich die Nutzung der Möglichkeiten des Kommandos [../../../../index.php/Linuxfibel_-_Nutzerkommandos_-_Datei_%26_Verzeichnis#find_-_Dateien_suchen find ]an, mit dem nach den verschiedensten Kriterien nach Dateien gefahndet werden kann. So archiviert der Aufruf von:
| | ; Magnetbänder |
| | Traditionell sind Magnetbänder (Quarter-Inch- und DAT-Streamer) weitverbreitet |
| | * Sowohl Kapazität als auch Zuverlässigkeit sprechen für dieses Medium |
| | * Leider lässt sich auf einem Band kein Dateisystem einrichten, sodass die Daten mithilfe spezieller Programme sequenziell auf dieses abgelegt werden müssen |
| | * Im Falle eines »Restores« muss demnach der gesamte Bandinhalt zurückgespielt werden, da ein wahlfreier Zugriff nicht möglich ist |
|
| |
|
| user@sonne> find /etc -maxdepth 2 -depth | cpio -o > /dev/fd0
| | Ein Magnetband muss vor dem Zugriff zurückgespult werden, hierzu nutzt man das Kommando mt mit der Option rewind |
| 319 blocks
| | mt -f <Device> rewind |
|
| |
|
| alle Dateien aus dem Verzeichnis /etc, wobei alle Unterverzeichnisse, nicht aber die darin befindlichen Unterverzeichnisse berücksichtigt werden. Die Option »-depth« von find bewirkt, dass der Name eines Verzeichnisses selbst erst nach den enthaltenden Daten ausgegeben wird. Bei eventuellem Zurückschreiben der Daten, wird nun der häufige Fehler verhindert, dass ein Verzeichnis mit »falschen« Zugriffsrechten erzeugt wurde und anschließend das Übertragen der Daten in dieses scheitert. Durch die hier gewählte Reihenfolge wird mit der ersten Datei aus dem Verzeichnis dieses mit den korrekten Rechten gesetzt (mit Rechten, die das Schreiben der Datei ermöglichen).
| | Es ist außerdem möglich, mehr als ein Archiv auf einem Band unterzubringen, immer vorausgesetzt, die Speicherkapazität setzt keine Schranken |
| | # Band zur ersten Dateiende-Markierung spulen |
| | mt -f <Device> fsf 1 |
| | # Band zur dritten Dateiende-Markierung spulen |
| | mt -f <Device> fsf 3 |
| | # Band zur letzten Dateiende-Markierung spulen |
| | mt -f <Device> eof |
|
| |
|
| Im Sinne eines inkrementellen Backups ist aber sicher die Suche nach Dateien, die innerhalb einer bestimmten Zeitspanne geändert wurden, interessant. Der nächste Aufruf findet alle Dateien des Verzeichnisses /etc, deren Modifikationszeit nicht älter als 5 Tage ist:
| |
|
| |
|
| <nowiki># find /etc -mtime -5 -maxdepth 2 -depth | cpio -o > /dev/fd0</nowiki>
| | Während sich die »normale« CD-ROM oder DVD wegen der nur einmaligen Beschreibbarkeit eher als Medium zur reinen Archivierung eignet, kann die CD-RW und vor allem die DVD-RW durchaus für die alltägliche Datensicherung eingesetzt werden |
| 112 blocks
| | * Allerdings erfordern umfangreiche Backups, die die Kapazität einer einzelnen CD-ROM übersteigen, die Anwesenheit des Administrators |
|
| |
|
| ==== Überprüfung des Archives ==== | | === Daten === |
| Um sich eine Liste der Dateien eines Archives zu betrachten, ruft man das Kommando im »copy in«-Modus auf:
| | ; Welche Daten sollten gesichert werden? |
| | Es lohnt sich, etwas Zeit in den Plan zu investieren, welche Daten denn überhaupt den Aufwand eines Backups rechtfertigen |
|
| |
|
| user@sonne> cpio -itvI /dev/fd0
| | Vielleicht beginnen wir mit Daten, die sichere Kandidaten sind |
| -rw-r--r-- 1 root root 270 Aug 15 07:07 /etc/mtab
| |
| -rw-r--r-- 1 root root 2510 Aug 10 13:49 /etc/logfiles
| |
| -rw-r--r-- 1 root root 37911 Aug 15 07:06 /etc/ld.so.cache
| |
| -rw-r--r-- 1 root root 271 Aug 10 15:27 /etc/hosts.allow
| |
| -rw-r--r-- 1 root root 5762 Aug 10 15:27 /etc/inetd.conf
| |
| -rw-r--r-- 1 root root 3349 Aug 14 12:18 /etc/printcap
| |
| -rw------- 1 root root 60 Aug 15 07:06 /etc/ioctl.save
| |
| -rw-r--r-- 1 root root 3799 Aug 15 09:10 /etc/XF86Config
| |
| -rw------- 1 root root 512 Aug 15 07:07 /etc/ssh_random_seed
| |
| -rw-r--r-- 1 root root 3309 Aug 14 12:18 /etc/printcap.old
| |
| -rw-rw---- 1 lp lp 1244 Aug 14 12:05 /etc/apsfilterrc.ljet4
| |
| -rw-rw---- 1 lp lp 1261 Aug 14 12:37 /etc/apsfilterrc.lj4dith
| |
| -rw-r--r-- 1 root root 88 Aug 15 09:38 /etc/dumpdates
| |
| drwxr-xr-x 30 root root 0 Aug 15 08:28 /etc
| |
| 112 blocks
| |
|
| |
|
| Die Option -t bewirkt die Anzeige des Archivinhalts und verhindert das Entpacken. -v bringt die Rechte der Dateien zum Vorschein und -I Archiv lässt cpio die Daten aus dem Archiv anstatt von der Standardeingabe lesen. | | Da wären |
| | * Die Daten unter /home |
| | * Klar, die Benutzer ziehen sich ja täglich neue Daten aus dem Netz |
| | * Die Daten unter /etc |
| | * Oder haben Sie Interesse, Ihr System komplett neu konfigurieren zu müssen? |
| | * Die Daten unter /var |
| | * Hier liegen Protokolle, Mails, Druckaufträge, ... |
| | * also Daten, die permanenter Änderung unterliegen |
| | * Projektverzeichnisse, Datenbanken, ... |
|
| |
|
| Ein Vergleich der Dateien im Archiv mit den Dateien im Verzeichnisbaum ist nicht direkt möglich. Hier kann nur ein Entpacken der Daten in ein separates Verzeichnis mit anschließendem Dateivergleich (zum Beispiel mit diff) helfen.
| | Als Daten, deren Aufzeichnung Sie sich getrost sparen können, sind all jene zu nennen, die ohnehin auf einem anderen Medium vorhanden sind, zum Beispiel die Daten der Linuxdistribution, die auf CD-ROM im Schrank liegen |
| | * Ebenso sollten Dateisysteme, die von entfernten Rechnern gemountet wurden, besser von dessen Backup-Strategie erfasst werden |
|
| |
|
| ==== Recovery ====
| | Aber letztlich ist es die Ermessensfrage des Administrators, welche Daten er für sicherungswürdig erachtet |
| Schließlich möchte man die Daten auch wieder zurückschreiben können. Hierzu ist cpio im »copy-in«-Modus wie folgt zu starten:
| | * Eine Neuinstallation von Linux hat ja manchmal auch den Vorteil, etwas Ordnung im System zu schaffen. |
|
| |
|
| <nowiki># cpio -id /etc/mtab < /dev/fd0</nowiki> | | <noinclude> |
| cpio: /etc/mtab not created: newer or same age version exists
| |
| 112 blocks
| |
|
| |
|
| Im Beispiel stellt cpio nur fest, dass die gewünschte Datei nicht älter ist als die im Archiv enthaltene Version. Also tut das Kommando nichts. -d erzwingt das Anlegen von Verzeichnissen, falls diese nicht schon existieren, die nachfolgende Angabe von zu rekonstruierenden Dateien kann entfallen, dann werden alle Dateien aus dem Archiv extrahiert.
| | == Anhang == |
| | === Siehe auch === |
| | * [[Dateien_komprimieren/archivieren|Dateien komprimieren/archivieren]] |
| | * [[gzip]] |
| | * [[tar]] |
| | * [[dd]] |
| | * [[mkisofs]] |
| | * [[cpio]] |
| | * [[Dump/Restore]] |
| | {{Special:PrefixIndex/{{BASEPAGENAME}}}} |
|
| |
|
| === Dump/Restore === | | ==== Links ==== |
| [[Dump/Restore]]
| | ===== Weblinks ===== |
|
| |
|
| = Links =
| | [[Kategorie:Linux/Datei/Archiv]] |
| == Intern ==
| | [[Kategorie:Linux/Backup]] |
| == Weblinks ==
| | [[Kategorie:Linux/Storage]] |
| [[Kategorie:Linux:Archive]] | | [[Kategorie:Backup]] |
| | </noinclude> |