Provided by: manpages-ro_4.27.0-1_all 

NUME
bzip2, bunzip2 - un program de comprimare a fișierelor cu sortare a blocurilor, v1.0.8
bzcat - decomprimă fișierele la ieșirea standard
bzip2recover - recuperează date din fișiere bzip2 deteriorate
SINOPSIS
bzip2 [ -cdfkqstvzVL123456789 ] [ nume-fișiere ... ]
bzip2 [ -h|--help ]
bunzip2 [ -fkvsVL ] [ nume-fișiere ... ]
bunzip2 [ -h|--help ]
bzcat [ -s ] [ nume-fișiere ... ]
bzcat [ -h|--help ]
bzip2recover nume-fișiere
DESCRIERE
bzip2 comprimă fișierele folosind algoritmul de comprimare a textului cu sortarea blocurilor
Burrows-Wheeler și codificarea Huffman. Comprimarea este, în general, considerabil mai bună decât cea
realizată de programele de comprimare mai convenționale bazate pe LZ77/LZ78 și se apropie de
performanțele familiei PPM de programe de comprimare statistice.
Opțiunile din linia de comandă sunt în mod deliberat foarte asemănătoare cu cele din GNU gzip, dar nu
sunt identice.
bzip2 așteaptă o listă de nume de fișiere care să însoțească opțiunile din linia de comandă. Fiecare
fișier este înlocuit de o versiune comprimată a sa, cu numele „nume_original.bz2”. Fiecare fișier
comprimat are aceeași dată de modificare, aceleași permisiuni și, dacă este posibil, același proprietar
ca și originalul corespunzător, astfel încât aceste proprietăți să poată fi restaurate corect în momentul
decomprimării. Gestionarea numelor de fișiere este superficială, în sensul că nu există niciun mecanism
de păstrare a numelor de fișiere originale, a permisiunilor, a proprietăților sau a datelor în sistemele
de fișiere care nu au aceste concepte sau care au restricții serioase privind lungimea numelor de
fișiere, cum ar fi MS-DOS.
bzip2 și bunzip2 nu vor suprascrie în mod implicit fișierele existente. Dacă doriți ca acest lucru să se
întâmple, specificați opțiunea „-f”.
Dacă nu se specifică niciun nume de fișier, bzip2 comprimă de la intrarea standard la ieșirea standard.
În acest caz, bzip2 va refuza să scrie ieșirea comprimată pe un terminal, deoarece acest lucru ar fi
complet incomprehensibil și, prin urmare, inutil.
bunzip2 (sau bzip2 -d) decomprimă toate fișierele specificate. Fișierele care nu au fost create de bzip2
vor fi detectate și ignorate, iar un avertisment va fi emis. bzip2 încearcă să ghicească numele de fișier
pentru fișierul decomprimat din cel al fișierului comprimat, după cum urmează:
nume-fișier.bz2 devine nume-fișier
nume-fișier.bz devine nume-fișier
nume-fișier.tbz2 devine nume-fișier.tar
nume-fișier.tbz devine nume-fișier.tar
un_alt-nume-fișier devine un_alt-nume-fișier.out
Dacă fișierul nu se termină cu una dintre terminațiile recunoscute, .bz2, .bz, .tbz2 sau .tbz, bzip2 se
plânge că nu poate ghici numele fișierului original și folosește numele original cu .out atașat.
Ca și în cazul comprimării, dacă nu se furnizează niciun nume de fișier, se produce decomprimarea de la
intrarea standard la ieșirea standard.
bunzip2 va decomprima corect un fișier care este concatenarea a două sau mai multe fișiere comprimate.
Rezultatul este concatenarea fișierelor necomprimate corespunzătoare. De asemenea, este acceptată
testarea integrității (-t) fișierelor comprimate concatenate.
De asemenea, puteți comprima sau decomprima fișierele la ieșirea standard prin utilizarea opțiunii „-c”.
Mai multe fișiere pot fi comprimate și decomprimate astfel. Ieșirile rezultate sunt introduse secvențial
la ieșirea standard (stdout). Comprimarea mai multor fișiere în acest mod generează un flux care conține
mai multe reprezentări de fișiere comprimate. Un astfel de flux poate fi decomprimat corect numai de
bzip2 versiunea 0.9.0 sau o versiune ulterioară. Versiunile anterioare ale bzip2 se vor opri după
decomprimarea primului fișier din flux.
bzcat (sau «bzip2 -dc») decomprimă toate fișierele specificate la ieșirea standard.
bzip2 va citi argumentele din variabilele de mediu BZIP2 și BZIP, în această ordine și le va procesa
înaintea oricăror argumente citite din linia de comandă. Acest lucru oferă o modalitate convenabilă de a
furniza argumente implicite.
Comprimarea este întotdeauna efectuată, chiar dacă fișierul comprimat este puțin mai mare decât
originalul. Fișierele cu mai puțin de o sută de octeți au tendința de a deveni mai mari, deoarece
mecanismul de comprimare are un cost suplimentar constant de aproximativ 50 de octeți. Datele aleatorii
(inclusiv ieșirea celor mai multor programe de comprimare a fișierelor) sunt codificate la aproximativ
8,05 biți pe octet, ceea ce oferă o expansiune de aproximativ 0,5%.
Ca o autoverificare pentru protecția dumneavoastră, bzip2 utilizează CRC-uri pe 32 de biți pentru a se
asigura că versiunea decomprimată a unui fișier este identică cu originalul. Acest lucru protejează
împotriva corupției datelor comprimate și împotriva unor erori nedetectate în bzip2 (sperăm că foarte
puțin probabil). Șansele ca o corupție a datelor să nu fie detectată sunt microscopice, aproximativ o
șansă la patru miliarde pentru fiecare fișier procesat. Rețineți, totuși, că verificarea are loc la
decomprimare, deci vă poate spune doar că ceva nu este în regulă. Nu vă poate ajuta să recuperați datele
originale necomprimate. Puteți utiliza bzip2recover pentru a încerca să recuperați datele din fișierele
deteriorate.
Valori de returnare: 0 pentru o ieșire normală, 1 pentru probleme de mediu (fișier nedescoperit, opțiuni
nevalide, erori de In/Ieș, etc.), 2 pentru a indica un fișier comprimat corupt, 3 pentru o eroare de
consistență internă (de exemplu, o eroare de programare) care a făcut ca bzip2 să intre în panică.
OPȚIUNI
-c --stdout
Comprimă sau decomprimă la ieșirea standard.
-d --decompress
Decomprimare forțată. bzip2, bunzip2 și bzcat sunt de fapt același program, iar decizia cu
privire la acțiunile care trebuie întreprinse se ia în funcție de numele folosit. Această opțiune
anulează acest mecanism și forțează bzip2 să decomprime.
-z --compress
Opțiunea complementară a lui „-d”: forțează comprimarea, indiferent de numele invocării.
-t --test
Verifică integritatea fișierului (fișierelor) specificat(e), dar nu le decomprimă. Acest lucru
efectuează o decomprimare de probă și afișează rezultatul.
-f --force
Forțează suprascrierea fișierelor de ieșire. În mod normal, bzip2 nu va suprascrie fișierele de
ieșire existente. De asemenea, forțează bzip2 să elimine legăturile dure către fișiere, ceea ce
altfel nu ar face.
«bzip2» refuză în mod normal să decomprime fișierele care nu au octeții de antet magic corecți. Cu
toate acestea, dacă este forțat (-f), va trece astfel de fișiere nemodificate. Acesta este modul
în care se comportă GNU gzip.
-k --keep
Păstrează (nu șterge) fișierele de intrare în timpul comprimării sau decomprimării.
-s --small
Reduce utilizarea memoriei, pentru comprimare, decomprimare și testare. Fișierele sunt
decomprimate și testate utilizând un algoritm modificat care necesită doar 2,5 octeți pentru
fiecare octet de bloc. Acest lucru înseamnă că orice fișier poate fi decomprimat în 2300ko de
memorie, deși la o viteză de aproximativ jumătate din cea normală.
În timpul comprimării, „-s” selectează o dimensiune a blocului de 200ko, ceea ce limitează
utilizarea memoriei la aproximativ aceeași cifră, în detrimentul ratei de comprimare. Pe scurt,
dacă mașina dvs. are puțină memorie (8 megaocteți sau mai puțin), utilizați „-s” pentru orice.
Consultați secțiunea GESTIONAREA MEMORIEI de mai jos.
-q --quiet
Suprimă mesajele de avertizare neesențiale. Mesajele referitoare la erori de In/Ieș și alte
evenimente critice nu vor fi suprimate.
-v --verbose
Modul descriptiv -- afișează raportul de comprimare pentru fiecare fișier procesat. Mai multe
opțiuni „-v” măresc nivelul de detaliere, generând o mulțime de informații care prezintă interes
în primul rând în scopuri de diagnosticare.
-h --help
Imprimă un mesaj de ajutor și iese.
-L --license -V --version
Afișează versiunea software, termenii și condițiile de licență.
-1 (sau --fast) to -9 (sau --best)
Stabilește dimensiunea blocului la 100ko, 200ko ... 900ko la comprimare. Nu are niciun efect la
decomprimare. Consultați GESTIONAREA MEMORIEI mai jos. Opțiunile alias „--fast” și „--best” sunt
în primul rând pentru compatibilitatea cu GNU gzip. În special, „--fast” nu face ca lucrurile să
fie semnificativ mai rapide. Iar „--best” selectează pur și simplu comportamentul implicit.
-- Tratează toate argumentele ulterioare ca nume de fișiere, chiar dacă acestea încep cu o liniuță.
Acest lucru se face pentru a putea trata fișiere cu nume care încep cu o liniuță, de exemplu:
bzip2 -- -numelefișierului-meu.
--repetitive-fast --repetitive-best
Aceste opțiuni sunt redundante în versiunile 0.9.5 și superioare. În versiunile anterioare,
acestea ofereau un control aproximativ asupra comportamentului algoritmului de sortare, ceea ce
era uneori util. Versiunile 0.9.5 și ulterioare dispun de un algoritm îmbunătățit care face ca
aceste opțiuni să devină irelevante.
GESTIONAREA MEMORIEI
bzip2 comprimă fișierele mari în blocuri. Dimensiunea blocului afectează atât raportul de comprimare
obținut, cât și cantitatea de memorie necesară pentru comprimare și decomprimare. Fanioanele de la -1 la
-9 specifică dimensiunea blocului ca fiind de la 100.000 de octeți la 900.000 de octeți (valoarea
implicită), respectiv. În momentul decomprimării, dimensiunea blocului utilizat pentru comprimare este
citită din antetul fișierului comprimat, iar bunzip2 își alocă apoi suficientă memorie pentru a
decomprima fișierul. Deoarece dimensiunile blocurilor sunt stocate în fișierele comprimate, rezultă că
fanioanele de la -1 la -9 sunt irelevante pentru decomprimare și, prin urmare, ignorate în timpul
decomprimării.
Cerințele de comprimare și decomprimare, în octeți, pot fi estimate astfel:
Comprimare: 400ko + ( 8 x dimensiunea blocului )
Descomprimare: 100ko + ( 4 x dimensiunea blocului ), sau
100ko + ( 2,5 x dimensiunea blocului )
Dimensiunile mai mari ale blocurilor dau randamente marginale care scad rapid. Cea mai mare parte a
comprimării provine din primele două sau trei sute de k de dimensiune a blocului, un fapt de care merită
să se țină cont atunci când se utilizează bzip2 pe mașini mici. De asemenea, este important de apreciat
faptul că necesarul de memorie pentru decomprimare este stabilit în momentul comprimării prin alegerea
dimensiunii blocului.
Pentru fișierele comprimate cu dimensiunea implicită a blocurilor de 900ko, bunzip2 va avea nevoie de
aproximativ 3700 kocteți pentru a le decomprima. Pentru a permite decomprimarea oricărui fișier pe o
mașină de 4 megaocteți, bunzip2 are o opțiune care permite decomprimarea folosind aproximativ jumătate
din această cantitate de memorie, adică aproximativ 2300 kocteți. Viteza de decomprimare este, de
asemenea, înjumătățită, așa că ar trebui să folosiți această opțiune numai atunci când este necesar.
Opțiunea relevantă este „-s”.
În general, încercați să utilizați cea mai mare dimensiune a blocului pe care o permit constrângerile de
memorie, deoarece astfel se maximizează comprimarea obținută. Viteza de comprimare și decomprimare nu
este practic afectată de dimensiunea blocului.
Un alt aspect important se aplică fișierelor care încap într-un singur bloc -- ceea ce înseamnă că
majoritatea fișierelor pe care le veți întâlni utilizează o dimensiune mare a blocului. Cantitatea de
memorie reală atinsă este proporțională cu dimensiunea fișierului, deoarece fișierul este mai mic decât
un bloc. De exemplu, comprimarea unui fișier cu o lungime de 20 000 de octeți cu fanionul „-9” va face ca
programul la comprimare să aloce aproximativ 7600ko de memorie, dar va atinge doar 400ko + 20000 * 8 =
560ko din aceasta. În mod similar, la decomprimare va aloca 3700ko, dar va atinge doar 100ko + 20000 * 4
= 180ko.
Iată un tabel care rezumă utilizarea maximă a memoriei pentru diferite dimensiuni ale blocurilor. De
asemenea, este înregistrată dimensiunea totală comprimată pentru 14 fișiere din Corpusul de comprimare a
textului din Calgary, care totalizează 3 141 622 de octeți. Această coloană oferă o idee despre modul în
care variază comprimarea în funcție de dimensiunea blocului. Aceste cifre tind să subestimeze avantajul
dimensiunilor mai mari ale blocurilor pentru fișierele mari, deoarece Corpusul este dominat de fișiere
mai mici.
Utilizare Utilizare Utilizare Corpus
Fanion comprimare decomprimare -s decomprimare Dim.
-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
RECUPERAREA DATELOR DIN FIȘIERE DETERIORATE
bzip2 comprimă fișierele în blocuri, de obicei cu o lungime de 900kocteți. Fiecare bloc este tratat
independent. Dacă o eroare de suport de date sau de transmisie cauzează deteriorarea unui fișier .bz2 cu
mai multe blocuri, este posibil să se recupereze datele din blocurile nedeteriorate din fișier.
Reprezentarea comprimată a fiecărui bloc este delimitată de un model pe 48 de biți, ceea ce face posibilă
găsirea limitelor blocurilor cu o certitudine rezonabilă. De asemenea, fiecare bloc poartă propriul CRC
pe 32 de biți, astfel încât blocurile deteriorate pot fi distinse de cele nedeteriorate.
bzip2recover este un program simplu al cărui scop este de a căuta blocuri în fișierele .bz2 și de a scrie
fiecare bloc în propriul său fișier .bz2. Puteți utiliza apoi bzip2 -t pentru a testa integritatea
fișierelor rezultate și pentru a le decomprima pe cele care nu sunt deteriorate.
bzip2recover primește un singur argument, numele fișierului deteriorat, și scrie un număr de fișiere
„rec00001fișier.bz2”, „rec00002fișier.bz2”, etc., care conțin blocurile extrase. Numele fișierelor de
ieșire sunt concepute astfel încât utilizarea caracterelor joker în procesarea ulterioară -- de exemplu,
«bzip2 -dc rec*file.bz2 > date_recuperate» -- să proceseze fișierele în ordinea corectă.
bzip2recover ar trebui să fie cel mai util în cazul fișierelor .bz2 de mari dimensiuni, deoarece acestea
vor conține multe blocuri. În mod evident, este inutil să îl utilizați pentru fișierele deteriorate cu un
singur bloc, deoarece un bloc deteriorat nu poate fi recuperat. Dacă doriți să reduceți la minimum orice
pierdere potențială de date din cauza erorilor de suport de date sau de transmisie, puteți lua în
considerare comprimarea cu o dimensiune mai mică a blocurilor.
NOTE PRIVIND PERFORMANTA
Faza de sortare a comprimării reunește șirurile similare din fișier. Din acest motiv, fișierele care
conțin șiruri foarte lungi de simboluri repetate, cum ar fi „aabaabaabaabaab ...” (care se repetă de
câteva sute de ori) pot fi comprimate mai lent decât în mod normal. În această privință, versiunile 0.9.5
și versiunile ulterioare se descurcă mult mai bine decât versiunile anterioare. Raportul dintre timpul de
compresie în cel mai rău caz și cel mediu este de aproximativ 10:1. Pentru versiunile anterioare, această
cifră era mai degrabă de 100:1. Dacă doriți, puteți utiliza opțiunea „-vvvv” pentru a monitoriza
progresul în detaliu.
Viteza de decomprimare nu este afectată de aceste fenomene.
bzip2 alocă, de obicei, mai mulți megaocteți de memorie în care să opereze și apoi încarcă peste tot
într-un mod destul de aleatoriu. Acest lucru înseamnă că performanța, atât pentru comprimare, cât și
pentru decomprimare, este determinată în mare măsură de viteza cu care mașina dumneavoastră poate să
deservească ratările de cache. Din această cauză, s-a observat că mici modificări ale codului pentru a
reduce rata de ratare a memoriei au adus îmbunătățiri disproporționat de mari ale performanței. Îmi
imaginez că bzip2 va avea cele mai bune performanțe pe mașinile cu memorii cache foarte mari.
AVERTISMENTE
Mesajele de eroare de In/Ieș nu sunt atât de utile pe cât ar putea fi. bzip2 se străduiește să detecteze
erorile de In/Ieș și să iasă curat, dar detaliile despre care este problema par uneori destul de
înșelătoare.
Această pagină de manual se referă la versiunea 1.0.8 a bzip2. Datele comprimate create de această
versiune sunt în întregime compatibile cu versiunile publice anterioare, versiunile 0.1pl2, 0.9.0, 0.9.5,
1.0.0, 1.0.1, 1.0.1, 1.0.2 și mai sus, dar cu următoarea excepție: 0.9.0 și versiunile ulterioare pot
decomprima corect mai multe fișiere comprimate concatenate. 0.1pl2 nu poate face acest lucru; se va opri
după ce a decomprimat doar primul fișier din flux.
Versiunile bzip2recover anterioare versiunii 1.0.2 foloseau numere întregi pe 32 de biți pentru a
reprezenta poziții de biți în fișierele comprimate, astfel încât nu puteau gestiona fișiere comprimate cu
o lungime mai mare de 512 megaocteți. Versiunile 1.0.2 și versiunile ulterioare utilizează numere întregi
pe 64 de biți pe unele platforme care le acceptă (obiective suportate de GNU și Windows). Pentru a
stabili dacă «bzip2recover» a fost construit sau nu cu o astfel de limitare, rulați-l fără argumente. În
orice caz, vă puteți construi o versiune nelimitată dacă o puteți recompila cu fanionul MaybeUInt64
definit ca fiind un întreg fără semn pe 64 de biți.
AUTOR
Julian Seward, jseward@acm.org.
https://sourceware.org/bzip2/
Ideile încorporate în bzip2 se datorează (cel puțin) următoarelor persoane: Michael Burrows și David
Wheeler (pentru transformarea de sortare a blocurilor), David Wheeler (din nou, pentru codificatorul
Huffman), Peter Fenwick (pentru modelul de codificare structurată din bzip, original și pentru
numeroasele îmbunătățiri), precum și Alistair Moffat, Radford Neal și Ian Witten (pentru codificatorul
aritmetic din bzip). Le sunt foarte îndatorat pentru ajutorul, sprijinul și sfaturile lor. Consultați
manualul din distribuția sursei pentru indicatoare către sursele de documentație. Christian von Roques
m-a încurajat să caut algoritmi de sortare mai rapizi, astfel încât să accelerez comprimarea. Bela Lubkin
m-a încurajat să îmbunătățesc performanța de comprimare în cel mai rău caz. Donna Robinson a „XMLizat”
documentația. Scripturile bz* sunt derivate din cele ale GNU gzip. Mulți oameni au trimis plasturi
(corecții și îmbunătățiri), au ajutat cu probleme de portabilitate, au împrumutat mașini, au dat sfaturi
și au fost, în general, de ajutor.
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
bzip2(1)