bzip2 [OPTIONEN] [DATEILISTE]
Obgleich sich bzip2 und gzip sehr ähnlich sind, sind sie nicht identisch.
Optionen | |
-c | Zeigt den Inhalt an ohne die komprimierte Datei zu löschen; zusammen mit -d (content) |
-d | Dekomprimiert die Datei (decompress) |
-f | Überschreibt vorhandene Dateien (force) |
-n | Speichert nicht die originalen Zeitstempel und Dateinamen(no name) |
-k | Quelldatei wird nicht gelöscht (keep) |
-N | Speichert die originalen Zeitstempel (Standard) (!(no name)) |
-q | Unterdrückt Warnmeldungen (quiet) |
-t | Test der Datenintegrität(test) |
-v | Name und Kompressiongrad werden ausgegeben(verbose) |
-z | Komprimiert die Datei, Standardeinstellung |
-ZAHL | Gibt den Kompressionsgrad mit ZAHL an; Wert zwischen 1 (niedrig) und 9 (hoch). |
Durch den besseren Algorithmus kann bzip2 deutlich besser komprimieren als gzip. Das Beispiel einer großen DVI-Datei (ASCII-Code) zeigt, daß die Kompressionsrate von bzip2 deutlich größer ist als die von gzip.
ole@enterprise:~/test> ls -l insgesamt 2584 -rw-r--r-- 1 ole users 1692688 2004-06-27 07:51 lk.dvi -rw-r--r-- 1 ole users 409181 2004-06-27 07:59 lk.dvi.bz2 -rw-r--r-- 1 ole users 528016 2004-06-27 07:59 lk.dvi.gz
Beim Komprimieren zerlegt bzip2 die Datei in einzelne Blöcke. Je größer die Blöcke sind, desto besser ist der Komprimierungsgrad. Einen direkten Einfluß auf die Größe der Blöcke können Sie mit den Optionen -1 bis -9 ausüben. Diese geben direkt die Größe des Blocks in 100.000 Bytes an. Defaulteinstellung ist -9. Die Verwendung von größeren Blocks hat keinen signifikanten Einfluß mehr auf die Komprimierungsrate. Je kleiner die zu komprimierende Datei ist, desto geringer ist auch der Einfluß der Komprimierungseinstellung.
Der Komprimierer bzip2 benutzt eine 32-Bit-CRC-Checksumme um die Datenintegrität des Archivs überprüfen zu können Die Überprüfung wird durch den Schalter -t aktiviert.
Für weitere Informationen, speziell zu den verwendeten Blockgrößen und Speichernutzung, konsultieren Sie die Manualpage bzip2(1).
Wie auch bei gzip besitzt bzip2 weitere Namen, die bestimmte Aktionen von bzip2 aufrufen. Das Tool bzip2recover ist dagegen ein eigenständiges Programm.
ole@enterprise:~> ls -lG /usr/bin/{bzip2,bunzip2,bzcat,bzip2recover} lrwxrwxrwx 1 root 5 2004-04-03 09:17 /usr/bin/bunzip2 -> bzip2 lrwxrwxrwx 1 root 5 2004-04-03 09:17 /usr/bin/bzcat -> bzip2 -rwxr-xr-x 1 root 26464 2003-09-23 17:23 /usr/bin/bzip2 -rwxr-xr-x 1 root 8352 2003-09-23 17:23 /usr/bin/bzip2recover
bunzip2 [OPTIONEN] [DATEILISTE]
Beim Dekomprimieren werden die Endungen wie folgt umgewandelt. Bei den Endungen .bz2 und bz werden die Endungen vom Dateinamen entfernt. Die Endungen .tbz2 und .tbz weisen auf komprimierte Tar-Archive hin und werden in .tar umgewandelt. Handelt es sich um keine der genannten Endungen, dann wird an die entkomprimierte Datei die Endung .out angehängt.
Auch dieser Name zeigt auf das Tool bzip2. Unter diesem Namen aufgerufen, aktiviert es die Schalter -cd zum dekomprimieren und gleichzeitiger Ausgabe auf der Standardausgabe.
bzcat [OPTIONEN] [DATEILISTE]
bzip2recover DATEI
Aus der beschädigten Datei erstellt das Tool für jeden Block eine Datei mit dem Namen rec00001file.bz2, rec00002file.bz2, usw. Die einzelnen Dateien können nun mit bzip2 -t
auf ihre Integrität überprüft und dann einzeln entpackt werden. Das Verfahren ist natürlich nur sinnvoll bei großen Dateien, die viele Blöcke enthalten. Dateien, die nur aus einem Block bestehen, können nicht wiederhergestellt werden. Wenn Sie die Sicherheit der komprimierten Dateien erhöhen wollen, sollten Sie bei der Komprimierung eine kleine Blockgröße einstellen.
ole@enterprise:~/test> bunzip2 lk.dvi.bz2 bunzip2: Data integrity error when decompressing. Input file = lk.dvi.bz2, output file = lk.dvi It is possible that the compressed file(s) have become corrupted. You can use the -tvv option to test integrity of such files. You can use the `bzip2recover' program to attempt to recover data from undamaged sections of corrupted files. bunzip2: Deleting output file lk.dvi, if it exists. ole@enterprise:~/test> bunzip2 -tvv lk.dvi.bz2 lk.dvi.bz2: [1: huff+mtf rt+rld] [2: huff+mtf rt+rld] ... [11: huff+mtf rt+rld] [12: huff+mtf data integrity (CRC) error in data You can use the `bzip2recover' program to attempt to recover data from undamaged sections of corrupted files. ole@enterprise:~/test> bzip2recover lk.dvi.bz2 bzip2recover 1.0.2: extracts blocks from damaged .bz2 files. bzip2recover: searching for block boundaries ... block 1 runs from 80 to 47833 block 2 runs from 47882 to 85493 ... block 17 runs from 3647046 to 3864608 block 18 runs from 3864657 to 3864696 (incomplete) bzip2recover: splitting into blocks writing block 1 to `rec00001lk.dvi.bz2' ... writing block 2 to `rec00002lk.dvi.bz2' ... ... writing block 16 to `rec00016lk.dvi.bz2' ... writing block 17 to `rec00017lk.dvi.bz2' ... bzip2recover: finished ole@enterprise:~/test> ls lk.dvi.bz2 rec00005lk.dvi.bz2 rec00010lk.dvi.bz2 rec00015lk.dvi.bz2 rec00001lk.dvi.bz2 rec00006lk.dvi.bz2 rec00011lk.dvi.bz2 rec00016lk.dvi.bz2 rec00002lk.dvi.bz2 rec00007lk.dvi.bz2 rec00012lk.dvi.bz2 rec00017lk.dvi.bz2 rec00003lk.dvi.bz2 rec00008lk.dvi.bz2 rec00013lk.dvi.bz2 rec00004lk.dvi.bz2 rec00009lk.dvi.bz2 rec00014lk.dvi.bz2 ole@enterprise:~/test> bzip2 -t rec* bzip2: rec00012lk.dvi.bz2: data integrity (CRC) error in data You can use the `bzip2recover' program to attempt to recover data from undamaged sections of corrupted files. ole@enterprise:~/test> rm rec00012lk.dvi.bz2 ole@enterprise:~/test> bunzip2 -c rec*.bz2 > lk.dvi