====== Hilfsprogramme des Dateisystems ====== ===== Partitionen größer als 2TB anlegen ===== * [[http://blog.shade.sh/index.php/archive/431]] Partitionen die größer als 2TB sind, können nur mit //parted// erstellt werden: > aptitude install parted ...manchmal kann man auch ein grafisches Werkzeug gebrauchen wie z.B. das //GTK-Parted//: > aptitude install gparted Das Volumen mit dem Partitionierungswerkzeug öffnen: > parted /dev/sdc (parted) (parted) help als erstes muss auf einem frischen Volumen ein GPT-Label angelegt werden: (parted) mklabel gpt zu verwendende Standardeinheit setzen (__Beispiel 1:__ GB): (parted) unit GB ein 400GB große Partition, am Anfang des Volumens, anlegen: (parted) mkpart primary 0GB 400GB (parted) print Modell: WD My Book (scsi) Festplatte /dev/sdc: 400GB Sektorgröße (logisch/physisch): 512B/512B Partitionstabelle: gpt Nummer Anfang Ende Größe Dateisystem Name Flags 1 17,4kB 400GB 400GB ext4 zu verwendende Standardeinheit setzen (__Beispiel 2:__ %): (parted) unit % das komplette Volumen, mir dieser Partition, belegen: (parted) mkpart primary 0% 100% das Partitionierungsprogramm schließen (parted) quit Partition formatieren: > mke2fs -m 0 -t ext4 -L backup /dev/sdc1 ===== eine Kopie als Backup anlegen ===== siehe auch: [[kopieren auf verschiedene Weisen]] ===== Backup erstellen/restaurieren ===== ==== erstellen ==== /sbin/dump -[Backup-Level]uLC 32 -f [Backup-Datei/-Tape] [Filesystem aus der /etc/fstab] * Ohne den Parameter „-f“ wird auf „/dev/sa0“ gesichert. * Der Parameter „-u“ aktuallisiert die Datei „/etc/dumpdates“. * Der Parameter „-L“ besagt, dass das zu sichernde Dateisystem gerade benutzt wird (live read-write). * Der Parameter „C“ gibt die Cachegröße an (8-32MB sollten es laut Dokumentation sein). * Der letzte Parameter muß das zu sichernde Dateisystem sein (Spalte eins oder zwei in der /etc/fstab). Dieser Befehl schreibt das Backup in bis zu drei Dateien, von max 715776kB (699MB) Größe. /sbin/dump -[Backup-Level]uC 32 -B 715776 -f datei1,datei2,datei3 /home ==== restaurieren ==== /sbin/restore -[iRrtx] -f [Backup-Datei/-Tape] -i interaktiv -r „restore“ (newfs /dev/da0s1a; mount /dev/da0s1a /mnt; cd /mnt; restore r) -R startet ein volles Restore ab einem bestimmten Medium (nach Restore-Abbruch) -t listet den Inhalt des gesammten Backups auf (erstetzt das alte dumpdir) mit Parameter werden einzelne Dateien aus dem Backup aufgelistet -x (extract) schreibt das gesammte Backup zurück mit Parameter werden einzelne Dateien aus dem Backup zurück geschrieben optionale Parameter: -h schreibt das aktuelle Verzeichnis zurück (für hierarchisches zurückschreiben) -N nichts auf die Platte schreiben (Test-Mode) -s liest von einer bestimmten Backupdatei (Nummerierung startet mit „1“) -u (unlink) um die Überschreibwarnung zu vermeiden, löscht „restore“ die alten Dateien bevor es die neuen schreibt -v gibt alle Aktivitäten aus (gesprächig) -y alle Fragen automatisch mit „Ja“ beantworten (Fehlerhafte Blöcke werden so Kommentarlos übersprungen) **Nach einem vollen restaurieren, muss ein „Level 0“-Backup gezogen werden, denn Restore hat für das neue Dateisystem keine Inode-Belegung mehr.** vierte Spalte in der /etc/fstab „Options“: "rw" read/write device "rq" read/write with quotas "ro" read-only device "sw" swap device "xx" ignore totally fünfte Spalte in der /etc/fstab „Dump“: „0“ ? „1“ ? einmal im Monat (z.B. an jedem 1.): # /sbin/dump -0u -f /dev/nsa0 /home einmal pro Woche (z.B. jeden Freitag): # /sbin/dump -1u -f /dev/nsa0 /home Tägliches Backup nach dem Hanoi-Algorithmus (beginnend mit „3“). Backup-Level-Reihenfolge: 3 2 5 4 7 6 9 8 9 9 ... ===== Dateisystemunabhängige Programme ===== ==== Einschränkungen ==== === cpio (archivierer) === kann nicht komprimieren; kann nur ASCII und max. 8GB-Archive, standardmäßig wird ein überflüssiges Binärformat verwendet "-H crc": portable SVR4-Format mit einer Schecksumme je Datei "-H ustar": POSIX.1-Format Wegen seiner Dateigrößenbeschränkungen wird cpio nicht mehr von der POSIX geführt, Nachfolger sollte afio werden; Die POSIX führt pax als Nachfolger von cpio und tar ein. und so trat pax die Nachfolge von cpio, tar und afio im POSIX-Standard an... === tar (archivierer) === kann nur ASCII und max. 8GB-Archive, kann mit Hardlinks und Sparse-Dateien nicht richtig umgehen, was beim Wiedereinspielen eines Archivs zu Problemen führen kann; mit star und bsdtar versucht man die Schwächen von tar/GNU-tar zu vermeiden; - mehr als 8GB gehen - mit "-H ustar" (POSIX 1003.1-1988) - und "-H posix" (POSIX 1003.1-2001) Solaris: mehr als 8GB gehen mit "-E" (ustar) Linux : benutzt standardmäßig "-H ustar" (POSIX 1003.1-1988) (GNU-tar ist kein echtes POSIX-Format, nur ähnlich) Die POSIX führt pax als Nachfolger von cpio und tar ein; === afio (archivierer + packer) === Nachfolger von cpio sollte afio werden, allerdings stammt der Quellcode von afio aus einer zur LPGL (aktuelle Lizenz) nicht kompatiblen Lizenz, aus diesem Grund hat die FSF afio aus ihrem Software-Verzeichnis genommen; === star (archivierer) === - === pax (archivierer + packer) === POSIX-Nachfolger von cpio; benutzt standardmäßig "-x ustar" (POSIX 1003.1-1988) mit "-x cpio" (IEEE 1003.2 / POSIX.2) === rar (archivierer + packer) === steht unter Lizenzschutz / ist kommerziell === p7zip/7za (archivierer + packer) === kann keine beschädigten Archive entpacken (im Gegensatz zu rar) - owner/group wird nicht gespeichert deshalb wird noch ein archivierer gebraucht: * Backup erstellen : tar cf - directory | 7za a -si directory.tar.7z * Backup zurückspielen: 7za x -so directory.tar.7z | tar xf - ==== Vorteile ==== === cpio (archivierer) === gibt es auf allen Unix-Systemen; === tar (archivierer) === ist das verbreitetste Unix-Archivierungsprogramm; === afio (archivierer + packer) === afio komprimiert Dateiweise und verwendet blockweise komprimierende Algorithmen, so das ein beschädigter Bereich nicht das gesamte Archiv zerstört, wie es bei tar passieren kann; === star (archivierer) === hat die beschränkungen von tar nicht, star verwendet die gleichen Prozeduren wie restore/dump; === pax (archivierer + packer) === kann alle cpio- und tar-Archive lesen und schreiben; kann POSIX.2; === zip (archivierer + packer) === ist das verbreitetste Windoofs-Archivierungsprogramm, Passwortschutz, kann beschädigte Archive manchmal reparieren === gzip (packer) === sehr verbreitet, packt Dateien mit einheitlichen Dateninhalt am besten; verbraucht sehr wenig Rechenleistung, packt nicht ganz so gut wie zip; kann nur eine Datei komprimieren, braucht also noch einen Archivierer; === bzip2 (packer) === sehr verbreitet, ist für Dateien mit gemischtem Dateninhalt optimiert; verbraucht deutlich mehr Rechenleitung als gzip; kann nur eine Datei komprimieren, braucht also noch einen Archivierer; === rar (archivierer + packer) === kann beschädigten Archive entpacken === p7zip/7za (archivierer + packer) === teilweise bessere Kompression als bzip2 und zip, UNICODE, verschlüssellung, Passwortschutz, Selbstentpacker, kann Archive mit beschädigten Dateien entpacken, == Archivierungsprogramme, die 7z unterstützen == - p7zip/7za (portabeles Kommandozeilenprogramm) - ark (KDE-FrontEnd für verschiedene Kommandozeilenarchivierer) - File Roller (GNOME-Archivierungstool) - PeaZip (in Free Pascal geschrieben) ---- Und so sind nur noch * pax # Nachfolger für cpio und tar, einziges POSIX.2-Programm * 7za (p7zip) # aktuell der beste Packer für die Zukunft von wesentlichem Interesse. Von untergeordnetem Interesse bleibt * gzip # sehr schneller Packer * bzip2 # sehr guter Packer unter BSD-Lizenz, arbeitet Blockweise * afio # seine Archive kann man trotz Beschädigung entpacken * star # ein weiterer interessanter tar-Nachfolger Nur wegen der Verbreitung ist * tar # sehr, sehr verbreitet; Nachfolger von cpio noch interessant. ---- == archivieren/packen == find [Verzeichnis/Datei] | cpio -oH ustar --sparse > [Archiv.tar] find [Verzeichnis/Datei] | cpio -oH newc --sparse > [Archiv.newc] star -c -p f=[Archiv.tar] [Verzeichnis/Datei] pax -wf [Archiv.tar] [Verzeichnis/Datei] pax -wx sv4crc -f [Archiv.pax] [Verzeichnis/Datei] 7za a [Archiv.7z] [Verzeichnis/Datei] 7za a -si [Archiv.7z] [Verzeichnis/Datei] 7za a -sfx [Archiv.exe] [Verzeichnis/Datei] # Archiv MUSS auf ".exe" enden!] 7za a -v1g [Archiv.7z] [Verzeichnis/Datei] # 1GB-Archive star -c -p [Verzeichnis/Datei] | 7za a -si [Archiv.7z] == Inhalt zeigen == cpio --list < [Archiv.tar] cpio --list < [Archiv.newc] 7za l [Archiv.7z] == testen == pax -f [Archiv] 7za t [Archiv.7z] == entpacken == pax -rf [Archiv] 7za e [Archiv.7z] # mit relativem Pfad 7za x [Archiv.7z] # mit absolutem Pfad 7za e -so [Archiv.tar.7z] | tar xf - # owner/group mit entpacken == kopieren == pax -rwp e [Quelle] [Ziel] mkdir -p [Ziel] ; star -copy -p [Quelle] [Ziel] == mit Passwort verschlüsseln == 7za a -mhe=on -p[geheim] [Archiv.7z] [Verzeichnis/Datei] ---- cpio -rw-rw-rw- 1 medadmin users 535829504 Nov 14 16:19 DONE.cpio -rw-rw-rw- 1 medadmin users 535857152 Nov 14 16:35 DONE.crc -rw-rw-rw- 1 medadmin users 535857152 Nov 14 16:26 DONE.newc tar -rw-rw-rw- 1 medadmin users 536064000 Nov 14 15:48 DONE.tar pax -rw-rw-rw- 1 medadmin users 536064000 Nov 14 16:37 DONE.pax -rw-rw-rw- 1 medadmin users 535859200 Nov 14 16:34 DONE.sv4crc