bunzip2

bzip2(1)                          wersja 1.0                          bzip2(1)



NAZWA
       bzip2, bunzip2 - sortujÄcy bloki kompresor/dekompresor plików, v1.0
       bzcat - dekompresuje pliki na standardowe wyjÅcie
       bzip2recover - odzyskuje dane ze zniszczonych archiwów bzip2

SKÅADNIA
       bzip2 [-cdfkqstvzVL123456789] [nazwy_plików...]
       bunzip2 [-fkvsVL] [nazwy_plików...]
       bzcat [-s] [nazwy_plików...]
       bzip2recover nazwa_pliku

OPIS
       bzip2 kompresuje pliki używajÄc algorytmu sortowania bloków Burrowsa-
       Wheelera i kodu Huffmana. Kompresja jest generalnie sporo lepsza od
       konwencjonalnych kompresorów opartych o metodÄ LZ77/LZ78, i jest
       porównywalna z osiÄgniÄciami statystycznych kompresorów z rodziny
       PPM.

       Opcje linii poleceÅ sÄ w wiÄkszoÅci bardzo podobne do tych z GNU gzip,
       ale nie sÄ identyczne.

       bzip2 oczekuje listy plików towarzyszÄcych parametrom linii poleceÅ.
       Każdy plik jest zastÄpowany przez swojÄ skompresowanÄ wersjÄ, z nazwÄ
       "oryginalny_plik.bz2". Każdy skompresowany plik ma ten sam czas
       modyfikacji, uprawnienia i, jeÅli to możliwe, wÅaÅciciela co oryginaÅ,
       po to, aby te ustawienia mogÅy zostaÄ odtworzone podczas dekompresji.
       Utrzymywanie nazwy plików nie jest do koÅca dokÅadne w tym sensie, że
       nie ma możliwoÅci przetrzymywania daty, uprawnieÅ, wÅaÅciciela i nazw
       plików na systemach, na których brakuje tych możliwoÅci lub majÄ
       ograniczenia co do dÅugoÅci nazwy, tak np. jak MS-DOS.

       bzip2 i bunzip2 standardowo nie nadpisujÄ istniejÄcych już plików.
       JeÅli chcesz aby to robiÅy, musisz użyÄ parametru -f.

       JeÅli nie podano żadnej nazwy pliku, bzip2 kompresuje ze standardowego
       wejÅcia na standardowe wyjÅcie. Odmiawia wówczas wypisywania
       skompresowanego wyjÅcie na terminal, gdyż byÅoby to caÅkiem
       niezrozumiaÅe i przez to bez wiÄkszego sensu.

       bunzip2 (lub bzip2-d) dekompresuje wszystkie podane pliki. Pliki,
       które nie byÅy utworzone przez bzip2 zostanÄ wykryte i zignorowane, a
       na ekranie pojawi siÄ komunikat ostrzegawczy.  bzip2 próbuje zgadnÄÄ
       nazwÄ dla dekompresowanego pliku w nastÄpujÄcy sposób:
              nazwa_pliku.bz2    staje siÄ   nazwa_pliku
              nazwa_pliku.bz     staje siÄ   nazwa_pliku
              nazwa_pliku.tbz2   staje siÄ   nazwa_pliku.tar
              nazwa_pliku.tbz    staje siÄ   nazwa_pliku.tar
              inna_nazwa     staje siÄ   inna_nazwa.out
       JeÅli plik nie ma jednego z nastÄpujÄcych rozpoznawalnych rozszerzeÅ,
       .bz2, .bz, .tbz2 lub .tbz, to bzip2 napisze, że nie może zgadnÄÄ
       nazwy pierwotnego pliku, i użyje oryginalnej nazwy z dodanym
       rozszerzeniem .out.

       Tak jak kompresja, nie posiadajÄca żadnych plików, powoduje kompresjÄ
       ze standardowego wejÅcia na standardowe wyjÅcie.

       bunzip2 poprawnie zdekompresuje plik, który jest poÅaczeniem dwóch
       lub wiÄcej skompresowanych plików. Rezultatem jest poÅÄczony
       odpowiedni nieskompresowany plik. ObsÅugiwane jest również
       sprawdzanie spójnoÅci (-t) poÅÄczonych skompresowanych plików.

       Możesz również kompresowaÄ lub dekompresowaÄ pliki na standardowe
       wyjÅcie używajÄc parametru -c. W ten wÅaÅnie sposób można
       przeprowadzaÄ kompresjÄ wielu plików równoczeÅnie.  PowstaÅe wyniki
       sÄ przesyÅane sekwencyjnie na standardowe wyjÅcie.  W ten sposób
       kompresja wielu plików generuje strumieÅ zawierajÄcy reprezentacje
       kilku skompresowanych plików. Taki strumieÅ może byÄ zdekompresowany
       poprawnie tylko przez bzip2 w wersji 0.9.0 lub późniejszej.
       WczeÅniejsze wersje bzip2 zatrzymajÄ siÄ po zdekmpresowaniu pierwszego
       pliku w strumieniu.

       bzcat (lub bzip2 -dc) dekompresuje wszystkie wybrane pliki na
       standardowe wyjÅcie.

       bzip2 czyta argumenty ze zmiennych Årodowiskowych BZIP2 i BZIP, w
       podanej kolejnoÅci, i przetwarza je przed jakimikolwiek argumentami
       przeczytanymi z linii poleceÅ. To dobra metoda na specyfikowanie
       standardowych ustawieÅ.

       Kompresja stosowana jest zawsze, nawet jeÅli skompresowany plik jest
       nieznaczniej wiÄkszy od pliku oryginalnego. Pliki mniejsze niż mniej
       wiÄcej sto bajtów stajÄ siÄ wiÄksze, ponieważ mechanizm kompresji ma
       staÅy nagÅówek wynoszÄcy okoÅo 50 bajtów. Przypadkowe dane (wÅÄczajÄc
       wyjÅcie wiÄkszoÅci kompresorów plików) dÄ kodowane na mniej wiÄcej
       8.05 bitu na bajt, dajÄc zysk okoÅo 0.5%.

       Jako samosprawdzenie dla twojej ochrony bzip2 używa 32-bitowego CRC
       aby upewniÄ siÄ, że zdekompresowana wersja pliku jest identyczna z
       oryginalnÄ. To strzeże przed stratami w skompresowanych danych i przed
       niewykrytymi bÅÄdami w bzip2 (na szczÄÅcie bardzo rzadkich). MożliwoÅÄ
       niewykrycia utraty danych jest mikroskopijna, mniej wiÄcej jedna szansa
       na cztery biliony dla każdego pliku. Uważaj jednak, gdyż sprawdzenie
       jest dokonywane przed dekompresjÄ, wiÄc dowiesz siÄ tylko tego, że coÅ
       jest nie w porzÄdku. Nie pomoże ci to odzyskaÄ oryginalnych
       nieskompresowanych danych. Możesz użyÄ bzip2recover aby spróbowaÄ
       odzyskaÄ dane z uszkodzonych plików.

       Zwracane wartoÅci: 0 dla normalnego wyjÅcia, 1 dla problemów
       technicznych (plik nie znaleziony, niewÅaÅciwy parametr, bÅÄd
       wyjÅcia/wyjÅcia itp.), 2 dla zasygnalizowania bÅÄdu skompresowanego
       pliku, 3 dla wewnÄtrznego bÅÄdu (np.  bug), który zmusiÅ bzip2 do
       przerwania.


OPCJE
       -c --stdout
              Kompresuje lub dekompresuje na standardowe wyjÅcie.

       -d --decompress
              Wymusza dekompresjÄ.  bzip2, bunzip2 i bzcat sÄ tak naprawdÄ
              tymi samymi programami i decyzja jakie akcje bÄdÄ wykonane jest
              wykonywana na podstawie nazwy jaka zostaÅa użyta. Ten parametr
              ma wyższy priorytet i wymusza na bzip2 dekompresjÄ.

       -z --compress
              Podobne do -d: wymusza kompresjÄ, bez wzglÄdu na sposób
              wywoÅania.

       -t --test
              Sprawdza integralnoÅÄ wybranego pliku(ów), ale nie dekompresuje
              ich. Wymusza to próbnÄ dekompresjÄ i mówi, jaki jest rezultat.

       -f --force
              Wymusza zastÄpowanie plików wyjÅciowych. Normalnie, bzip2 nie
              zastÄpuje istniejÄcych plików wyjÅciowych. Wymusza również na
              bzip2 Åamanie dowiÄzaÅ twardych, czego normalnie nie robi.

       -k --keep
              Zatrzymaj (nie kasuj) pliki wejÅciowe przy kompresji lub
              dekompresji.

       -s --small
              Zredukuj użycie pamiÄci na kompresjÄ, dekompresjÄ i testowanie.
              Pliki sÄ dekompresowane i testowane przy użyciu zmodyfikowanego
              algorytmu, który potrzebuje tylko 2.5 bajtu na blok bajtów.
              Oznacza to, że każdy plik może byÄ zdekompresowany przy
              użyciu okoÅo 2300k pamiÄci, jednak tracÄc okoÅo poÅowÄ
              normalnej szybkoÅci.

              Podczas kompresji, -s wybiera bloki wielkoÅci 200k, których
              limity pamiÄci wynoszÄ mniej wiÄcej tyle samo, w zamian za
              jakoÅÄ kompresji. W skrócie, jeÅli twój komputer ma maÅo
              pamiÄci (8 megabajtów lub mniej), używaj opcji -s do
              wszystkiego. Zobacz zarzÄdzanie pamiÄciÄ poniżej.

       -q --quiet
              WyÅÄcza wszystkie nieistotne komunikaty ostrzegawcze.  Nie sÄ
              eliminowane komunikaty dotyczÄce bÅÄdów wejÅcia/wyjÅcia i
              innych zdarzeÅ krytycznych.

       -v --verbose
              Tryb gadatliwy -- pokazuje stopieŠkompresji dla każdego pliku.
              NastÄpne -v zwiÄkszajÄ stopieÅ gadatliwoÅci, powodujÄc
              wyÅwietlanie dużej iloÅci informacji, przydatnych gÅównie przy
              diagnostyce.

       -L --license -V --version
              WyÅwietla wersjÄ programu i warunki licencji.

       -1 to -9
              Ustawia wielkoÅÄ bloku na 100 k, 200 k .. 900 k przy kompresji.
              Nie ma żadnego znaczenia przy dekompresji. Zobacz zarzÄdzanie
              pamiÄciÄ poniżej.

       --     Traktuje wszystkie nastÄpujÄce po nim argumenty jako nazwy
              plików, nawet jeÅli zaczynajÄ siÄ one od myÅlnika. Możesz wiÄc
              kompresowaÄ i dekompresowaÄ pliki, których nazwa zaczyna siÄ od
              myÅlnika, na przykÅad: bzip2 -- -mój_plik.

       --repetitive-fast --repetitive-best
              Te parametry nie majÄ znaczenia w wersjach 0.9.5 i wyższych.
              UmożliwiaÅy one pewnÄ infantylnÄ kontrolÄ nad zachowaniem
              algorytmu sortujÄcego we wczeÅniejszych wersjach, co byÅo
              czasami użyteczne. Wersje 0.9.5 i wyższe majÄ usprawniony
              algorytm, który powoduje bezużytecznoÅÄ tej funkcji.


ZARZÄDZANIE PAMIÄCIÄ
       bzip2 kompresuje duże pliki w blokach. Rozmiar bloku ma wpÅyw zarówno
       na stopieÅ osiÄganej kompresji, jak również na iloÅÄ pamiÄci
       potrzebnej do kompresji i dekompresji. Parametry od -1 do -9 wybierajÄ
       rozmiar bloku odpowiednio od 100,000 bajtów aż do 900,000 bajtów
       (standardowo). W czasie dekompresji, rozmiar bloku użytego do
       kompresji jest odczytywany z nagÅówku pliku skompresowanego i bunzip2
       sam zajmuje odpowiedniÄ do dekompresji iloÅÄ pamiÄci. Ponieważ rozmiar
       bloków jest przetrzymywany w pliku skompresowanym, parametry od -1 do
       -9 nie majÄ przy dekompresji żadnego znaczenia.

       Wymagania kompresji i dekompresji w bajtach, mogÄ byÄ wyliczone przez:

              Kompresja :   400k + ( 8 x rozmiar bloku )

              Dekompresja :  100k + ( 4 x rozmiar bloku ) lub
                             100k + ( 2.5 x rozmiar bloku )

       WiÄksze bloki dajÄ duże zmniejszenie zwrotów marginalnych. WiÄkszoÅÄ
       kompresji pochodzi z pierwszych stu lub dwustu kilobajtów rozmiaru
       bloku.  Warto o tym pamiÄtaÄ używajÄc bzip2 na wolnych komputerach.
       Warto również podkreÅliÄ, że rozmiar pamiÄci potrzebnej do
       dekompresji jest wybierany poprzez ustawienie odpowiedniej wielkoÅci
       bloku przy kompresji.

       Dla plików skompresowanych standardowym blokiem wielkoÅci 900k,
       bunzip2 bÄdzie wymagaÅ okoÅo 3700 kilobajtów do dekompresji. Aby
       umożliwiÄ dekompresjÄ na komputerze wyposażonym jedynie w 4 megabajty
       pamiÄci, bunzip2 ma opcjÄ, która może zmniejszyÄ wymagania prawie do
       poÅowy, tzn. okoÅo 2300 kilobajtów. PrÄdkoÅÄ dekompresji jest
       również bardzo zmiejszona, wiÄc używaj tej opcji tylko wtedy, kiedy
       jest to konieczne. Tym parametrem jest -s.

       Generalnie, próbuj i używaj najwiÄkszych rozmiarów bloków, jeÅli
       iloÅÄ pamiÄci ci na to pozwala. PrÄdkoÅÄ kompresji i dekompresji w
       zasadzie nie zależy od wielkoÅci użytego bloku.

       Inna ważna rzecz dotyczy plików, które mieszczÄ siÄ w pojedyÅczym
       bloku -- oznacza to wiÄkszoÅÄ plików na które siÄ natkniesz używajÄc
       dużych bloków.  Rozmiar realny pamiÄci zabieranej jest proporcjonalny
       do wielkoÅci pliku, jeÅli plik jest mniejszy niż blok. Na przykÅad,
       kompresja pliku o wielkoÅci 20,000 bajtów z parametrem -9 wymusi na
       kompresorze odnalezienie 7600 k pamiÄci, ale zajÄcie tylko 400k + 20000
       * 8 = 560 kilobajtów z tego. Podobnie, dekompresor odnajdzie 3700k,
       ale zajmie tylko 100k + 20000 * 4 = 180 kilobajtów.

       Tu jest tabela, która podsumowuje maksymalne użycie pamiÄci dla
       różnych rozmiarów bloków. Podano też caÅkowity rozmiar
       skompresowanych 14 plików tekstowych (Calgary Text Compressione
       Corpus) zajmujÄcych razem 3,141,622 bajtów. Ta kolumna daje pewne
       pojÄcie o tym, jaki wpÅyw na kompresjÄ ma wielkoÅÄ bloków. Ta tabela
       uzmysÅawia również przewagÄ użycia wiÄkszych bloków dla wiÄkszych
       plików, ponieważ "Corpus" jest zdominowany przez mniejsze pliki.
                    Użycie       Użycie        Użycie         Corpus
          Parametr kompresji   dekompresji   dekompresji -s    Size

            -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

ODZYSKIWANIE DANYCH ZE ZNISZCZONYCH PLIKÃW BZIP2
       bzip2 kompresuje pliki w blokach, zazwyczaj 900 kilbajtowych. Każdy
       blok jest trzymany osobno. JeÅli bÅÄdy transmisji lub noÅnika uszkodzÄ
       plik wieloblokowy .bz2, możliwe jest odtworzenie danych zawartych w
       niezniszczonych blokach pliku.

       Każdy blok jest reprezentowany przez 48-bitowy wzorzec, który
       umożliwia znajdowanie przyporzÄdkowaÅ bloków z rozsÄdnÄ pewnoÅciÄ.
       Każdy blok ma również swój 32-bitowy CRC, wiÄc bloki uszkodzone
       mogÄ byÄ Åatwo odseparowane od poprawnych.

       bzip2recover jest oddzielnym programem, którego zadaniem jest
       poszukiwanie bloków w plikach .bz2 i zapisywanie ich do wÅasnego pliku
       .bz2. Możesz potem użyÄ bzip2 -t aby sprawdziÄ spójnoÅÄ wyjÅciowego
       pliku i zdekompresowaÄ te, które nie sÄ uszkodzone.

       bzip2recover pobiera pojedynczy argument, nazwÄ uszkodzonego pliku, i
       tworzy pewnÄ liczbÄ plików "rec0001plik.bz2", "rec0002plik.bz2", itd.,
       przetrzymujÄce odzyskane bloki. WyjÅciowe nazwy plików sÄ tak
       tworzone, aby Åatwo byÅo potem używaÄ ich razem za pomocÄ gwiazdek --
       na przykÅad, "bzip2 -dc rec*plik.bz2 > odzyskany_plik" -- wylistuje
       pliki we wÅaÅciwej kolejnoÅci.

       bzip2recover powinien byÄ używany najczÄÅciej z dużymi plikami .bz2,
       jako iż one zawierajÄ najczÄÅciej dużo bloków. Jest czystym
       bezsensem używaÄ go na uszkodzonym jedno-blokowym pliku, ponieważ
       uszkodzony blok nie może byÄ odzyskany. JeÅli chcesz zminimalizowaÄ
       jakiekolwiek możliwe straty danych poprzez noÅnik lub transmisjÄ,
       powinieneÅ zastanowiÄ siÄ nad użyciem mniejszych bloków.


OPISY WYNIKÃW
       Etap sortujÄcy kompresji ÅÄczy razem podobne ciÄgi znaków w pliku.
       Przez to, pliki zawierajÄce bardzo dÅugie ciÄgi powtarzajÄcych siÄ
       symboli, jak "aabaabaabaab ..." (powtórzone kilkaset razy) mogÄ byÄ
       kompresowane wolniej niż normalnie. Wersje 0.9.5 i wyższe zachowujÄ
       siÄ dużo lepiej w tej sytuacji niż wersje poprzednie. Różnica
       stopnia kompresji pomiÄdzy najgorszym i najlepszym przypadkiem
       kompresji wynosi okoÅo 10:1. Dla wczeÅniejszych wersji byÅo to nawet
       okoÅo 100:1. JeÅli chcesz, możesz użyÄ parametru -vvvv aby
       monitorowaÄ postÄpy bardzo szczegóÅowo.

       PrÄdkoÅÄ dekompresji nie jest zmieniana przez to zjawisko.

       bzip2 zazwyczaj rezerwuje kilka megabajtów pamiÄci do dziaÅania a
       potem wykorzystuje jÄ w sposób zupeÅnie przypadkowy.  Oznacza to, że
       zarówno prÄdkoÅÄ kompresji jak i dekompresji jest w dużej czÄÅci
       zależna od prÄdkoÅci, z jakÄ twój komputer może naprawiaÄ braki
       bufora podrÄcznego. Z tego powodu, wprowadzone zostaÅy maÅe zmiany kody
       aby zmniejszyÄ straty, które daÅy nieproporcjonalnie duży wzrost
       osiÄgniÄÄ.  MyÅlÄ, że bzip2 bÄdzie dziaÅaÅ najlepiej na komputerach z
       dużymi buforami podrÄcznymi.


ZAKAMARKI
       WiadomoÅci o bÅÄdach wejÅcia/wyjÅcia nie sÄ aż tak pomocne, jak
       mogÅyby byÄ.  bzip2 stara siÄ wykryÄ bÅÄd wejÅcia/wyjÅcia i wyjÅÄ
       "czysto", ale szczegóÅy tego, jaki to problem mogÄ byÄ czasami bardzo
       mylÄce.

       Ta strona podrÄcznika odnosi siÄ do wersji 1.0 programu bzip2.
       Skompresowane pliki utworzone przez tÄ wersjÄ sÄ kompatybilne zarówno
       z w przód jak i wstecznie z poprzednimi publicznymi wydaniami,
       wersjami 0.1pl2, 0.9.0 i 0.9.5 ale z maÅymi wyjÄtkami: 0.9.0 i wyższe
       potrafiÄ poprawnie dekompresowaÄ wiele skompresowanych plików
       zÅÄczonych w jeden.  0.1pl2 nie potrafi tego; zatrzyma siÄ już po
       dekompresji pierwszego pliku w strumieniu.

       bzip2recover używa 32-bitowych liczb do reprezentacji pozycji bitu w
       skompresowanym pliku, wiÄc nie może przetwarzaÄ skompresowanych
       plików dÅuższych niż 512 megabajtów. Można to Åatwo naprawiÄ.


AUTOR
       Julian Seward, jseward@acm.org.

       http://www.muraroa.demon.co.uk http://sourceware.cygnus.com/bzip2

       Idee zawarte w bzip2 sÄ podzielone (przynajmniej) pomiÄdzy nastepujÄcy
       ludzi: Michael Burrows i David Wheeler (transformacja sortujÄcÄ bloki),
       David Wheeler (znów, koder Huffmana), Peter Fenwick (struktura
       kodowania modelu w oryginalnym bzip2, i wiele udoskonaleÅ), i Alistair
       Moffar, Radford Neal i Ian Witten (arytmetyczny koder w oryginalnym
       bzip2). Jestem im bardzo wdziÄczny za ich pomoc, wsparcie i porady.
       Zobacz stronÄ manuala w źródÅowej dystrybucji po wskaźniki do
       źródeÅ dokumentacji. Christian von Roques zachÄciÅ mnie do wymyÅlenia
       szybszego algorytmu sortujÄcego, po to żeby przyspieszyÄ kompresjÄ.
       Bela Lubkin zachÄciÅa mnie do polepszenia najgorszych wyników
       kompresji. Wiele ludzi przysÅaÅo Åatki, pomogÅo w różnych problemach,
       pożyczyÅo komputerów, daÅo rady i byÅo ogólnie pomocnych.



                                                                      bzip2(1)