Installé avec le paquet bzip2
Voir aussi : bunzip2, xz, unxz, gzip, gunzip, zip, unzip, tar et cpio
Mais aussi : bzcat, bzless, bzmore, bzgrep, bzcmp, bzdiff et bzip2recover
Comparatif des formats xz, gzip et bzip2
On utilisera ici un fichier référence appelé sample.tar d’une taille de 100Mo.
Le tableau ci-dessous synthétise les résultats de compression, pour chaque format et chaque niveau de compression.
Le temps de compression affiché est en secondes et la taille du fichier résultant est en Mo (ou pourcentage du fichier original).
Format → | XZ | GZIP | BZIP2 | |||
Compression ↓ | Temps | Mo/% | Temps | Mo/% | Temps | Mo/% |
0 | 5.487 | 19 | – | – | – | – |
1 | 7.563 | 17 | 1.796 | 25 | 10.008 | 19 |
2 | 11.358 | 16 | 1.883 | 24 | 10.262 | 18 |
3 | 18.924 | 16 | 2.038 | 23 | 10.412 | 17 |
4 | 31.184 | 15 | 2.135 | 21 | 10.575 | 17 |
5 | 46.370 | 14 | 2.628 | 21 | 11.126 | 17 |
6 | 54.609 | 14 | 3.320 | 20 | 11.214 | 17 |
7 | 59.790 | 14 | 3.917 | 20 | 11.295 | 17 |
8 | 71.670 | 14 | 5.537 | 20 | 11.347 | 16 |
9 | 164.387 | 13 | 6.088 | 20 | 11.485 | 16 |
Le meilleur compromis selon moi, du point de vue du rapport temps/taille finale d’une part, et consommation de RAM et CPU (directement liés au niveau de compression utilisé) d’autre part, apparait en rouge pour chaque format, soit :
- XZ : niveau 1 (niveau par défaut : 6)
- GZIP : niveau 6 (niveau par défaut : 6)
- BZIP2 : niveau 9 (niveau par défaut : 9)
Afficher la version de bzip2
bzip2 --version
ou
apt-cache policy bzip2
Compresser une archive ou un fichier au format bzip2
bzip2 filename
Le fichier est alors compressé au format bz2 avec le niveau de compression 9 (niveau par défaut).
Toutefois, le fichier original n’est pas conservé.
Le fichier résultant sera nommé, par défaut, filename.bz2.
bzip2 -k filename
Le fichier est alors compressé au format bz2 avec le niveau de compression 9 (niveau par défaut).
Le fichier original est conservé (option -k pour keep).
Le fichier résultant sera nommé, par défaut, filename.bz2.
ex :
# du sample_3420.tar 3420 sample_3420.tar # bzip2 -k sample_3420.tar # du sample_3420.tar.bz2 720 sample_3420.tar.bz2
bzip2 -k9 filename
Le fichier est alors compressé au format bz2 avec le niveau de compression 9, c’est-à-dire le niveau maximal et niveau par défaut.
Le fichier original est conservé (option -k pour keep).
Le fichier résultant sera nommé, par défaut, filename.bz2.
bzip2 -c9 filename > outputfilename.bz2
Le fichier est alors compressé au format bz2 avec le niveau de compression 9 (meilleur compromis, niveau maximal et niveau par défaut).
Le fichier original est conservé (option -c pour spécifier un fichier de sortie).
Le fichier résultant sera outputfilename.bz2
ex :
# bzip2 -c9 sample.tar > result.tar.bz2
Le niveau peut être défini avec une valeur allant de 1 à 9 (cette dernière étant la valeur de compression maximale).
Plus le niveau de compression est élevé, plus la RAM et le CPU seront sollicités, d’une part, mais aussi le temps de compression augmentera, d’autre part.
Décompresser un fichier compressé au format bz2
bzip2 -d filename.bz2
Le fichier original est décompressé mais n’est pas conservé.
Le fichier résultant sera filename.
Equivaut à :
bunzip2 filename.bz2
bzip2 -dk filename.bz2
Le fichier original est décompressé et conservé (option -k pour keep).
Le fichier résultant sera filename.
Equivaut à :
bunzip2 -k filename.bz2
bzip2 -dc filename.bz2 > outputfilename
Le fichier original est décompressé et conservé (option -c pour spécifier un fichier de sortie).
Le fichier résultant sera outputfilename.
Equivaut à :
bunzip2 -c filename.bz2 > outputfilename
Mode verbeux
bzip2 -v [...]
Affichera le ratio et la vitesse de compression, et l’espace économisé.
ex :
# bzip2 -c9v sample.tar > result.tar.bz2
sample.tar: 4.781:1, 1.673 bits/byte, 79.08% saved, 140922880 in, 29477561 out.
Tester l’intégrité d’un fichier compressé au format bz2
bzip2 -t filename.bz2
ex :
# bzip2 -t test.tar.bz2
bzip2: test.tar.bz2: file ends unexpectedly
You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.
Afficher les caractéristiques d’un fichier compressé au format bz2
Cette option n'existe pas avec la commande bzip2, contrairement aux commandes xz et gzip
Voir la commande : 7z l filename.bz2
Concaténer des fichiers à un fichier bz2 existant
bzip2 -c filename1 > outputfilename.bz2
bzip2 -c filename2 >> outputfilename.bz2
Equivalent de :
bzip2 -c filename1 filename2 > outputfilename.bz2
Equivaut à :
cat filename1 filename2 | bzip2 > outputfilename.bz2
Utile pour ajouter des logs à un fichier de logs central.
ex :
# bzip2 -c logfile1.txt > fulllogs.bz2 # bzip2 -c logfile2.txt >> fulllogs.bz2
Améliorer le taux de compression d’un fichier gz existant
bzip2 -cd filename.bz2 | bzip2 -9 > newfilename.bz2
Afficher la progression d’une compression ou décompression
Compression : Progression non graphique
pv archive.tar | bzip2 -c9 > archive.tar.bz2
ex :
# pv sample.tar | bzip2 -c9 > sample.tar.bz2

Compression : Progression graphique
(pv -n archive.tar | bzip2 -c9 > archive.tar.bz2) 2>&1 | dialog --gauge "text" height width
ex :
# (pv -n sample.tar | bzip2 -c9 > sample.tar.bz2) 2>&1 | dialog --gauge "Progression..." 7 50

Décompression : Progression non graphique
pv archive.tar.bz2 | bzip2 -dc > archive.tar
ex :
# pv sample.tar.bz2 | bzip2 -dc > sample.tar

Décompression : Progression graphique
(pv -n archive.tar.bz2 | bzip2 -dc > archive.tar) 2>&1 | dialog --gauge "text" height width
ex :
# (pv -n sample.tar.bz2 | bzip2 -dc > sample.tar) 2>&1 | dialog --gauge "Progression..." 7 50
