Man page - bunzip2(1)
Packages contains this manual
Available languages:
en fr es pl ko cs tr ja uk ru ro zh_TW zh_CN deManual
bzip2
NOMSYNOPSIS
DESCRIPTION
OPTIONS
GESTION DE LA MĂMOIRE
RĂCUPĂRATION DE DONNĂES DE FICHIERS ENDOMMAGĂS
NOTES SUR LES PERFORMANCES
AVERTISSEMENTS
AUTEUR
TRADUCTION
NOM
bzip2, bunzip2 -
compresseur de fichiers par tri de blocs, v1.0.8
bzcat - décompresse les fichiers sur la sortie
standard
bzip2recover - récupÚre des données de
fichiers bzip2 endommagés
SYNOPSIS
bzip2
[
-cdfkqstvzVL123456789
] [
noms_fichiers ...
]
bzip2
[
-h|--help
]
bunzip2
[
-fkvsVL
] [
noms_fichiers ...
]
bunzip2
[
-h|--help
]
bzcat
[
-s
] [
noms_fichiers ...
]
bzcat
[
-h|--help
]
bzip2recover
nom_fichier
DESCRIPTION
bzip2 compresse des fichiers en utilisant lâalgorithme de compression de texte par tri de blocs de Burrows-Wheeler et le codage dâHuffman. La compression est gĂ©nĂ©ralement nettement meilleure que celle atteinte par des compresseurs plus conventionnels basĂ©s sur LZ77/LZ78 et approche les performances de la famille des compresseurs statistiques PPM.
Les options de ligne de commandes sont délibérément trÚs similaires à celles de GNU gzip , mais elles ne sont pas identiques.
bzip2 attend une liste de noms de fichiers pour accompagner les options de ligne de commandes. Chaque fichier est remplacĂ© par une version compressĂ©e de lui-mĂȘme, avec le nom « nom_original.bz2 ». Chaque fichier compressĂ© a la mĂȘme date de modification, les mĂȘmes permissions et, quand câest possible, les mĂȘmes propriĂ©tĂ©s que celles du fichier original, de sorte que ces caractĂ©ristiques peuvent ĂȘtre correctement restaurĂ©es au moment de la dĂ©compression. Le traitement du nom du fichier est naĂŻf dans le sens quâil nây a pas de mĂ©canisme pour prĂ©server les noms, permissions, propriĂ©tĂ©s et dates des fichiers situĂ©s dans des systĂšmes de fichiers oĂč ces concepts font dĂ©faut, ou qui souffrent de restrictions strictes sur la longueur des noms de fichiers, comme MS-DOS.
bzip2 et bunzip2 , par dĂ©faut, nâĂ©craseront pas les fichiers existants. Si vous voulez que cela se produise, utilisez lâoption -f .
Si aucun nom de fichier nâest indiquĂ©, bzip2 compresse de lâentrĂ©e standard vers la sortie standard. Dans ce cas, bzip2 nâĂ©crira pas la sortie compressĂ©e sur un terminal, puisque cela serait incomprĂ©hensible et donc inutile.
bunzip2 (ou bzip2 -d) dĂ©compresse tous les fichiers spĂ©cifiĂ©s. Les fichiers qui nâont pas Ă©tĂ© créés par bzip2 seront dĂ©tectĂ©s et ignorĂ©s et un avertissement sera Ă©mis. bzip2 tente de deviner le nom du fichier pour le fichier dĂ©compressĂ© Ă partir de celui du fichier compressĂ© de la maniĂšre suivante :
nom_fichier.bz2
devient nom_fichier
nom_fichier.bz devient nom_fichier
nom_fichier.tbz2 devient nom_fichier.tar
nom_fichier.tbz devient nom_fichier.tar
autre_nom devient autre_nom.out
Si le nom du fichier ne se termine pas par une des terminaisons reconnues, .bz2 , .bz , .tbz2 ou .tbz , bzip2 signale quâil ne peut pas deviner le nom du fichier original et utilise le nom dâorigine en lui ajoutant .out .
Comme pour la compression, si aucun nom de fichier nâest fourni, la commande dĂ©compresse de lâentrĂ©e standard vers la sortie standard.
bunzip2 dĂ©compressera correctement un fichier qui est la concatĂ©nation de deux fichiers compressĂ©s ou plus. Le rĂ©sultat est la concatĂ©nation des fichiers non compressĂ©s correspondants. Le test dâintĂ©gritĂ© (-t) des fichiers compressĂ©s concatĂ©nĂ©s est aussi prise en charge.
Il est Ă©galement possible de compresser ou dĂ©compresser vers la sortie standard en fournissant lâoption -c . Plusieurs fichiers peuvent ĂȘtre compressĂ©s ou dĂ©compressĂ©s ainsi. Les sorties rĂ©sultantes sont envoyĂ©es de façon sĂ©quentielle Ă la sortie standard. La compression de plusieurs fichiers de cette maniĂšre gĂ©nĂšre un flux contenant la reprĂ©sentation des divers fichiers compressĂ©s. Un flux de ce type ne peut ĂȘtre dĂ©compressĂ© correctement que par bzip2 version 0.9.0 ou ultĂ©rieure. Les versions antĂ©rieures de bzip2 sâarrĂȘtent aprĂšs la dĂ©compression du premier fichier du flux.
bzcat (ou bzip2 -dc) décompresse tous les fichiers spécifiés vers la sortie standard.
bzip2 lira les arguments Ă partir des variables dâenvironnement BZIP2 et BZIP , dans cet ordre, et les traitera avant tout argument lu Ă partir de la ligne de commande. Cela offre une façon pratique de fournir des arguments par dĂ©faut.
La compression est toujours effectuĂ©e, mĂȘme si le fichier compressĂ© est lĂ©gĂšrement plus grand que le fichier original. Les fichiers de moins dâune centaine dâoctets ont tendance Ă sâagrandir dans la mesure oĂč le mĂ©canisme de compression comporte une surcharge constante de lâordre de 50 octets. Des donnĂ©es alĂ©atoires (y compris la sortie de la plupart des compresseurs de fichiers) sont codĂ©es Ă environ 8,05 bits par octet, aboutissant Ă une expansion autour de 0,5 %.
En tant que vĂ©rification interne, bzip2 utilise des CRC 32 bits pour sâassurer que la version dĂ©compressĂ©e dâun fichier est identique au fichier dâorigine. Ceci permet une protection contre la corruption des donnĂ©es compressĂ©es et contre des bogues non dĂ©tectĂ©s de bzip2 (heureusement trĂšs improbable). La probabilitĂ© quâune corruption de donnĂ©es passe inaperçue est infime, environ une chance sur 4 milliards pour chaque fichier compressĂ©. Soyez conscients, toutefois, que la vĂ©rification se produit pendant la dĂ©compression, et quâelle ne peut donc vous informer que lorsque quelque chose sâest mal passĂ©. Cela ne peut pas vous aider Ă rĂ©cupĂ©rer les donnĂ©es non compressĂ©es dâorigine. Vous pouvez utiliser bzip2recover pour essayer de rĂ©cupĂ©rer des donnĂ©es de fichiers endommagĂ©s.
Valeurs de retour : 0 pour une sortie normale, 1 pour des problĂšmes dâenvironnement (fichier non trouvĂ©, options invalides, erreurs dâentrĂ©e/sortie, etc.), 2 pour indiquer un fichier compressĂ© corrompu, 3 pour une erreur de consistance interne (un bogue, par exemple) qui a fait paniquer bzip2 .
OPTIONS
-c --stdout
Compresser ou décompresser vers la sortie standard.
-d --decompress
Forcer la dĂ©compression. bzip2 , bunzip2 et bzcat constituent en fait le mĂȘme programme, et la dĂ©cision quant aux actions Ă entreprendre est dĂ©terminĂ©e sur la base du nom utilisĂ©. Cette option annule ce mĂ©canisme et force bzip2 Ă dĂ©compresser.
-z --compress
Le complĂ©ment de -d : force la compression, quel que soit le nom dâinvocation.
-t --test
VĂ©rifier lâintĂ©gritĂ© des fichiers spĂ©cifiĂ©s, mais ne pas les dĂ©compresser. Cela rĂ©alise rĂ©ellement une dĂ©compression dâessai et jette le rĂ©sultat.
-f --force
Forcer lâĂ©crasement des fichiers en sortie. Normalement, bzip2 nâĂ©crasera pas les fichiers de sortie prĂ©existants. Lâoption force Ă©galement bzip2 Ă briser les liens physiques (hard links) de fichiers, ce quâil ne ferait pas autrement.
Normalement, bzip2 refuse de dĂ©compresser des fichiers qui ne possĂšdent pas les octets magiques dâen-tĂȘte corrects. NĂ©anmoins, sâil est forcĂ© ( -f ), nĂ©anmoins, il passe ces fichiers sans les modifier. Câest ainsi que GNU gzip se comporte.
-k --keep
conserver (ne pas supprimer) les fichiers dâentrĂ©e durant la compression ou la dĂ©compression.
-s --small
RĂ©duire lâutilisation de la mĂ©moire pour la compression, la dĂ©compression et la vĂ©rification. Les fichiers sont dĂ©compressĂ©s et testĂ©s en utilisant un algorithme modifiĂ© qui requiert uniquement 2,5 octets par bloc dâun octet. Cela signifie que tout fichier peut ĂȘtre dĂ©compressĂ© dans 2 300 Ko de mĂ©moire, mĂȘme sâil le sera Ă une vitesse deux fois plus lente que la vitesse normale.
Durant la compression, -s sĂ©lectionne une taille de bloc de 200 Ko, ce qui limite lâutilisation de mĂ©moire Ă environ le mĂȘme nombre, aux dĂ©pens du coefficient de compression. Bref, si votre machine possĂšde peu de mĂ©moire vive (8 Mo ou moins), utilisez -s pour tout ce que vous faites. Voir GESTION DE LA MĂMOIRE plus bas.
-q --quiet
Supprimer les messages dâavertissement non essentiels. Les messages se rattachant aux erreurs dâE/S et Ă dâautres Ă©vĂ©nements critiques ne sont pas supprimĂ©s.
-v --verbose
Mode bavard â montre le coefficient de compression pour chaque fichier traitĂ©. Des -v supplĂ©mentaires augmentent le niveau de dĂ©tail, en affichant des tas dâinformations qui sont principalement utiles Ă des fins de diagnostic.
-h --help
Afficher un message dâaide puis quitter.
-L --license -V --version
Afficher la version du logiciel, les termes de sa licence et les conditions dâutilisation.
-1 (ou --fast) Ă -9 (ou --best)
Fixer la taille de bloc Ă 100, 200, ... 900 ko pendant la compression. Cette option nâa aucun effet sur la dĂ©compression. Voir GESTION DE LA MĂMOIRE ci-dessous. Les alias --fast et --best existent principalement pour la compatibilitĂ© avec GNU gzip . En particulier, --fast ne rend pas les traitements significativement plus rapides. Et --best sĂ©lectionne simplement le comportement par dĂ©faut.
|
-- |
Traite tous les arguments suivants comme des noms de fichier, mĂȘme sâils dĂ©butent par un tiret. Il est ainsi possible de traiter des fichiers dont le nom dĂ©bute par un tiret, par exemple « bzip2 -- -mon_fichier ». |
--repetitive-fast --repetitive-best
Ces options sont redondantes dans les versions 0.9.5 et ultĂ©rieures. Elles fournissent un contrĂŽle assez grossier sur le comportement de lâalgorithme de tri dans les versions antĂ©rieures, ce qui Ă©tait parfois utile. Les versions 0.9.5 et ultĂ©rieures disposent dâun algorithme amĂ©liorĂ© qui rend lâusage de ces options inutile.
GESTION DE LA MĂMOIRE
bzip2 compresse des fichiers importants par blocs. La taille de bloc affecte Ă la fois le coefficient de compression atteint et la quantitĂ© de mĂ©moire nĂ©cessaire pour la compression et la dĂ©compression. Les options -1 Ă -9 prĂ©cisent la taille de bloc utilisĂ©e, de 100 000 octets Ă 900 000 octets (par dĂ©faut) respectivement. Au moment de la dĂ©compression, la taille de bloc utilisĂ©e pour la compression est lue Ă partir de lâen-tĂȘte du fichier compressĂ©, et bunzip2 sâalloue ensuite juste assez de mĂ©moire pour dĂ©compresser le fichier. Puisque les tailles de blocs sont conservĂ©es dans les fichiers compressĂ©s, il sâensuit que les options -1 Ă -9 ne sont pas pertinentes et quâelles sont donc ignorĂ©es durant la dĂ©compression.
Les besoins en mĂ©moire de la compression et de la dĂ©compression, en octets, peuvent ĂȘtre estimĂ©s Ă :
Compression : 400Â k + ( 8 x taille de bloc )
Décompression
: 100Â k + ( 4 x taille de bloc ), ou
100Â k + ( 2.5 x taille de bloc )
Des largeurs de blocs plus importantes voient les bĂ©nĂ©fices marginaux retirĂ©s diminuer rapidement. Lâessentiel de la compression provient des deux ou trois cents premiers ko de la taille de bloc, un fait Ă retenir quand on utilise bzip2 sur de petites machines. Il est Ă©galement important de savoir que les exigences mĂ©moire de la dĂ©compression sont fixĂ©es au moment de la compression par le choix dâune taille de bloc.
Pour les fichiers compressĂ©s avec la taille de bloc par dĂ©faut de 900 Ko, bunzip2 aura besoin dâenviron 3 700 Ko pour la dĂ©compression. Pour permettre la dĂ©compression de tout fichier sur une machine avec 4 Mo de RAM, bunzip2 possĂšde une option pour dĂ©compresser en nâutilisant que la moitiĂ© environ de ces 3 700 Ko, Ă savoir Ă peu prĂšs 2 300 Ko. Malheureusement, la vitesse de dĂ©compression est Ă©galement rĂ©duite de moitiĂ©, et donc vous ne devriez utiliser cette option ( -s ) quâen cas de nĂ©cessitĂ© absolue.
En gĂ©nĂ©ral, essayez dâutiliser la taille de bloc mĂ©moire la plus grande permise, puisque cela maximise la qualitĂ© de la compression atteinte. Les vitesses de compression et de dĂ©compression ne sont en fait pas affectĂ©es par la taille de bloc.
Un autres aspect significatif sâapplique aux fichiers qui peuvent tenir dans un seul bloc â câest-Ă -dire la plupart des fichiers que vous rencontrez en utilisant une grande taille de bloc. La quantitĂ© rĂ©elle de mĂ©moire utilisĂ©e est proportionnelle Ă la taille du fichier, puisque le fichier est plus petit quâun bloc. Par exemple, compresser un fichier de 20 000 octets avec lâoption -9 forcera le compresseur Ă allouer environ 7 600 Ko de mĂ©moire, mais nâen utilisera rĂ©ellement que 400 Ko + 20 000 * 8 = 560 Ko. De mĂȘme, le dĂ©compresseur allouera 3 700 Ko mais nâutilisera que 100 Ko + 20 000 * 4 = 180 Ko.
Voici une table qui rĂ©sume lâutilisation maximale de la mĂ©moire pour diffĂ©rentes tailles de blocs, ainsi que la taille compressĂ©e totale de 14 fichiers du Calgary Text Compression Corpus totalisant 3 141 622 octets. Cette table donne un certain aperçu sur lâĂ©volution de la compression avec la taille de bloc. Ces chiffres tendent Ă minimiser lâavantage des tailles de blocs plus importantes pour les fichiers plus imposants, car le Corpus est dominĂ© par des petits fichiers.
Usage Usage
Usage Taille du
Option compr. décompr. décompr. -s Corpus
-1 1200k 500k
350k 914704
-2 2000k 900k 600k 877703
-3 2800k 1300k 850k 860338
-4 3600k 1700k 1100k 846899
-5 4400k 2100k 1350k 845160
-6 5200k 2500k 1600k 838626
-7 6100k 2900k 1850k 834096
-8 6800k 3300k 2100k 828642
-9 7600k 3700k 2350k 828642
RĂCUPĂRATION DE DONNĂES DE FICHIERS ENDOMMAGĂS
bzip2 compresse les fichiers en blocs dâune longueur dâhabituellement 900 Ko. Chaque bloc est traitĂ© indĂ©pendamment des autres. Si un dĂ©faut du support physique ou une erreur de transmission provoque lâendommagement dâun fichier .bz1 multi-blocs, il peut ĂȘtre possible de rĂ©cupĂ©rer des donnĂ©es Ă partir des blocs non endommagĂ©s du fichier.
La reprĂ©sentation compressĂ©e de chaque bloc est dĂ©limitĂ©e par un motif de 48 bits, ce qui permet de trouver les limites des blocs avec une probabilitĂ© raisonnable. Chaque bloc comporte Ă©galement son propre CRC 32 bits, de sorte que les blocs corrompus peuvent ĂȘtre distinguĂ©s des autres.
bzip2recover est un programme simple dont le but est de rechercher les blocs dans les fichiers .bz2 , et dâĂ©crire chaque bloc dĂ©tectĂ© dans son propre fichier .bz2 . Vous pouvez alors utiliser bzip2 -t pour tester lâintĂ©gritĂ© des fichiers rĂ©sultants et dĂ©compresser ceux qui ne sont pas endommagĂ©s.
bzip2recover prend un seul argument, le nom du fichier endommagĂ©, et Ă©crit un certain nombre de fichiers « rec0001file.bz2 », « rec0002file.bz2 », etc, contenant les blocs extraits. Les noms de fichiers en sortie sont conçus de sorte que lâutilisation de jokers (wildcards) dans des traitements ultĂ©rieurs â par exemple, « bzip2 -dc rec*file.bz2 > donnĂ©es_rĂ©cupĂ©rĂ©es » â liste les fichiers dans le bon ordre.
bzip2recover devrait ĂȘtre utilisĂ© principalement pour traiter les grands fichiers .bz2 , puisque ceux-ci contiennent de nombreux blocs. Il est clairement inutile dâessayer de lâutiliser sur des fichiers endommagĂ©s dâun seul bloc, car un seul bloc endommagĂ© ne peut pas ĂȘtre rĂ©cupĂ©rĂ©. Si vous voulez minimiser toute perte potentielle de donnĂ©es Ă cause dâerreurs de transmission, vous devriez envisager dâutiliser une taille de bloc plus restreinte.
NOTES SUR LES PERFORMANCES
La phase de tri de la compression rĂ©unit les chaĂźnes de caractĂšres similaires prĂ©sentes dans le fichier. Ă cause de cela, les fichiers contenant de trĂšs longues suites de symboles rĂ©pĂ©tĂ©s, comme « aabaabaabaab ... » (rĂ©pĂ©tĂ©s plusieurs centaines de fois) peuvent ĂȘtre compressĂ©s plus lentement que dâhabitude. Les versions 0.9.5 et ultĂ©rieures se conduisent nettement mieux que les versions prĂ©cĂ©dentes de ce point de vue. Le rapport entre le temps de compression dans le pire des cas et dans le cas moyen est de lâordre de 10 pour 1. Pour les versions antĂ©rieures, ce rapport Ă©tait de 100 pour 1. Vous pouvez utiliser lâoption -vvvv pour voir la progression dans les dĂ©tails, si vous le souhaitez.
La vitesse de dĂ©compression nâest pas affectĂ©e par ces phĂ©nomĂšnes.
bzip2 alloue dâhabitude plusieurs Mo de mĂ©moire pour ses besoins, et ensuite charge le tout dâune maniĂšre assez alĂ©atoire. Cela signifie que les performances, Ă la fois pour la compression et la dĂ©compression, sont largement dĂ©terminĂ©es par la vitesse Ă laquelle votre machine peut traiter les dĂ©fauts de cache. Ă cause de cela, de petites modifications du code pour rĂ©duire le taux dâĂ©chec en cache ont donnĂ© des amĂ©liorations de performances disproportionnĂ©es. bzip2 aura sans doute de meilleur performances sur des machines avec de trĂšs grands caches.
AVERTISSEMENTS
Les messages dâerreurs dâE/S ne sont pas dâune grande utilitĂ©. bzip2 essaie vraiment de dĂ©tecter les erreurs dâE/S et de sâarrĂȘter proprement, mais les dĂ©tails du problĂšme rencontrĂ© peuvent parfois induire en erreur.
Cette page de manuel concerne la version 1.0.8 de bzip2 . Les donnĂ©es compressĂ©es créées par cette version sont entiĂšrement compatibles de façon descendante et ascendante avec les versions antĂ©rieures 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, 1.0.2 et ultĂ©rieures, Ă lâexception que les versions 0.9.0 et ultĂ©rieures peuvent correctement dĂ©compresser de multiples fichiers compressĂ©s et concatĂ©nĂ©s. La version 0.1pl2 ne sait pas le faire; elle sâarrĂȘtera aprĂšs la dĂ©compression du premier fichier du flux.
Les versions bzip2recover antérieures à  1.0.2 utilisait des entiers de 32 bits pour représenter les positions des bits dans les fichiers compressés ; de ce fait, elles ne pouvaient traiter de fichiers compressés de plus de 512 Mo de long. Les versions 1.0.2 et ultérieures utilisent des entiers de 64 bits sur certaines plateformes qui les prennent en charge (cibles gérées par GNU et Windows). Pour savoir si bzip2recover a été construit avec ou sans cette limitation, exécutez-le sans argument. Dans tous les cas, vous pouvez reconstruire une version non limitée si vous pouvez le recompiler avec MaybeUInt64 défini comme un entier 64 bits non signé.
AUTEUR
Julian Seward, jseward@acm.org.
https://sourceware.org/bzip2/
Les idĂ©es intĂ©grĂ©es Ă bzip2 sont dues (entre autres) aux personnes suivantes : Michael Burrows et David Wheeler (pour la transformation de tri de blocs), David Wheeler (Ă nouveau, pour le codeur Huffman), Peter Fenwick (pour le modĂšle de codage structurĂ© du bzip original et pour de nombreux raffinements), et Alistair Moffat, Radford Neal et Ian Witten (pour le codeur arithmĂ©tique du bzip original). Je suis trĂšs reconnaissant Ă ces personnes pour leur aide, leur soutien et leurs conseils. Voyez le manuel dans la distribution source pour obtenir des liens vers les sources de documentation. Christian von Roques mâencouragea Ă chercher des algorithmes de tri plus rapides, pour accĂ©lĂ©rer la compression. Bela Lubkin mâencouragea Ă amĂ©liorer la performance de la compression dans le pire des cas. Beaucoup de personnes mâont envoyĂ© des correctifs, aidĂ© pour des problĂšmes de portabilitĂ©, prĂȘtĂ© des machines, donnĂ© des conseils et ont Ă©tĂ© gĂ©nĂ©ralement utiles.
TRADUCTION
La traduction française de cette page de manuel a été créée par Frédéric Delanoy <delanoy_f@yahoo.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>
Cette traduction est une documentation libre ; veuillez vous reporter Ă la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il nây a aucune RESPONSABILITĂ LĂGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .