Provided by:
manpages-pl_20060617-3_all 
NAZWA
bzip2, bunzip2 - sortujcy bloki kompresor/dekompresor plikow, v1.0
bzcat - dekompresuje pliki na standardowe wyjcie
bzip2recover - odzyskuje dane ze zniszczonych archiwow bzip2
SK/LADNIA
bzip2 [-cdfkqstvzVL123456789] [nazwy_plik'ow...]
bunzip2 [-fkvsVL] [nazwy_plik'ow...]
bzcat [-s] [nazwy_plik'ow...]
bzip2recover nazwa_pliku
OPIS
bzip2 kompresuje pliki uywajc algorytmu sortowania blokow Burrowsa-
Wheelera i kodu Huffmana. Kompresja jest generalnie sporo lepsza od
konwencjonalnych kompresorow opartych o metod LZ77/LZ78, i jest
porownywalna z osigniciami statystycznych kompresorow z rodziny PPM.
Opcje linii polece s w wikszoci bardzo podobne do tych z GNU gzip, ale
nie s identyczne.
bzip2 oczekuje listy plikow towarzyszcych parametrom linii polece. Kady
plik jest zastpowany przez swoj skompresowan wersj, z nazw
"oryginalny_plik.bz2". Kady skompresowany plik ma ten sam czas
modyfikacji, uprawnienia i, jeli to moliwe, wlaciciela co oryginal, po
to, aby te ustawienia mogly zosta odtworzone podczas dekompresji.
Utrzymywanie nazwy plikow nie jest do koca dokladne w tym sensie, e nie
ma moliwoci przetrzymywania daty, uprawnie, wlaciciela i nazw plikow na
systemach, na ktorych brakuje tych moliwoci lub maj ograniczenia co do
dlugoci nazwy, tak np. jak MS-DOS.
bzip2 i bunzip2 standardowo nie nadpisuj istniejcych ju plikow. Jeli
chcesz aby to robily, musisz uy parametru -f.
Jeli nie podano adnej nazwy pliku, bzip2 kompresuje ze standardowego
wejcia na standardowe wyjcie. Odmiawia wowczas wypisywania
skompresowanego wyjcie na terminal, gdy byloby to calkiem niezrozumiale
i przez to bez wikszego sensu.
bunzip2 (lub bzip2-d) dekompresuje wszystkie podane pliki. Pliki, ktore
nie byly utworzone przez bzip2 zostan wykryte i zignorowane, a na
ekranie pojawi si komunikat ostrzegawczy. bzip2 probuje zgadn nazw dla
dekompresowanego pliku w nastpujcy sposob:
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
Jeli plik nie ma jednego z nastpujcych rozpoznawalnych rozszerze, .bz2,
.bz, .tbz2 lub .tbz, to bzip2 napisze, e nie moe zgadn nazwy
pierwotnego pliku, i uyje oryginalnej nazwy z dodanym rozszerzeniem
.out.
Tak jak kompresja, nie posiadajca adnych plikow, powoduje kompresj ze
standardowego wejcia na standardowe wyjcie.
bunzip2 poprawnie zdekompresuje plik, ktory jest polaczeniem dwoch lub
wicej skompresowanych plikow. Rezultatem jest polczony odpowiedni
nieskompresowany plik. Obslugiwane jest rownie sprawdzanie spojnoci
(-t) polczonych skompresowanych plikow.
Moesz rownie kompresowa lub dekompresowa pliki na standardowe wyjcie
uywajc parametru -c. W ten wlanie sposob mona przeprowadza kompresj
wielu plikow rownoczenie. Powstale wyniki s przesylane sekwencyjnie na
standardowe wyjcie. W ten sposob kompresja wielu plikow generuje
strumie zawierajcy reprezentacje kilku skompresowanych plikow. Taki
strumie moe by zdekompresowany poprawnie tylko przez bzip2 w wersji
0.9.0 lub poniejszej. Wczeniejsze wersje bzip2 zatrzymaj si po
zdekmpresowaniu pierwszego pliku w strumieniu.
bzcat (lub bzip2 -dc) dekompresuje wszystkie wybrane pliki na
standardowe wyjcie.
bzip2 czyta argumenty ze zmiennych rodowiskowych BZIP2 i BZIP, w
podanej kolejnoci, i przetwarza je przed jakimikolwiek argumentami
przeczytanymi z linii polece. To dobra metoda na specyfikowanie
standardowych ustawie.
Kompresja stosowana jest zawsze, nawet jeli skompresowany plik jest
nieznaczniej wikszy od pliku oryginalnego. Pliki mniejsze ni mniej
wicej sto bajtow staj si wiksze, poniewa mechanizm kompresji ma staly
naglowek wynoszcy okolo 50 bajtow. Przypadkowe dane (wlczajc wyjcie
wikszoci kompresorow plikow) d kodowane na mniej wicej 8.05 bitu na
bajt, dajc zysk okolo 0.5%.
Jako samosprawdzenie dla twojej ochrony bzip2 uywa 32-bitowego CRC aby
upewni si, e zdekompresowana wersja pliku jest identyczna z oryginaln.
To strzee przed stratami w skompresowanych danych i przed niewykrytymi
bldami w bzip2 (na szczcie bardzo rzadkich). Moliwo niewykrycia utraty
danych jest mikroskopijna, mniej wicej jedna szansa na cztery biliony
dla kadego pliku. Uwaaj jednak, gdy sprawdzenie jest dokonywane przed
dekompresj, wic dowiesz si tylko tego, e co jest nie w porzdku. Nie
pomoe ci to odzyska oryginalnych nieskompresowanych danych. Moesz uy
bzip2recover aby sprobowa odzyska dane z uszkodzonych plikow.
Zwracane wartoci: 0 dla normalnego wyjcia, 1 dla problemow technicznych
(plik nie znaleziony, niewlaciwy parametr, bld wyjcia/wyjcia itp.), 2
dla zasygnalizowania bldu skompresowanego pliku, 3 dla wewntrznego bldu
(np. bug), ktory zmusil bzip2 do przerwania.
OPCJE
-c --stdout
Kompresuje lub dekompresuje na standardowe wyjcie.
-d --decompress
Wymusza dekompresj. bzip2, bunzip2 i bzcat s tak naprawd tymi
samymi programami i decyzja jakie akcje bd wykonane jest
wykonywana na podstawie nazwy jaka zostala uyta. Ten parametr ma
wyszy priorytet i wymusza na bzip2 dekompresj.
-z --compress
Podobne do -d: wymusza kompresj, bez wzgldu na sposob wywolania.
-t --test
Sprawdza integralno wybranego pliku(ow), ale nie dekompresuje
ich. Wymusza to probn dekompresj i mowi, jaki jest rezultat.
-f --force
Wymusza zastpowanie plikow wyjciowych. Normalnie, bzip2 nie
zastpuje istniejcych plikow wyjciowych. Wymusza rownie na bzip2
lamanie dowiza twardych, czego normalnie nie robi.
-k --keep
Zatrzymaj (nie kasuj) pliki wejciowe przy kompresji lub
dekompresji.
-s --small
Zredukuj uycie pamici na kompresj, dekompresj i testowanie.
Pliki s dekompresowane i testowane przy uyciu zmodyfikowanego
algorytmu, ktory potrzebuje tylko 2.5 bajtu na blok bajtow.
Oznacza to, e kady plik moe by zdekompresowany przy uyciu okolo
2300k pamici, jednak tracc okolo polow normalnej szybkoci.
Podczas kompresji, -s wybiera bloki wielkoci 200k, ktorych
limity pamici wynosz mniej wicej tyle samo, w zamian za jako
kompresji. W skrocie, jeli twoj komputer ma malo pamici (8
megabajtow lub mniej), uywaj opcji -s do wszystkiego. Zobacz
zarzdzanie pamici poniej.
-q --quiet
Wylcza wszystkie nieistotne komunikaty ostrzegawcze. Nie s
eliminowane komunikaty dotyczce bldow wejcia/wyjcia i innych
zdarze krytycznych.
-v --verbose
Tryb gadatliwy -- pokazuje stopie kompresji dla kadego pliku.
Nastpne -v zwikszaj stopie gadatliwoci, powodujc wywietlanie
duej iloci informacji, przydatnych glownie przy diagnostyce.
-L --license -V --version
Wywietla 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 zarzdzanie
pamici poniej.
-- Traktuje wszystkie nastpujce po nim argumenty jako nazwy plikow,
nawet jeli zaczynaj si one od mylnika. Moesz wic kompresowa i
dekompresowa pliki, ktorych nazwa zaczyna si od mylnika, na
przyklad: bzip2 -- -moj_plik.
--repetitive-fast --repetitive-best
Te parametry nie maj znaczenia w wersjach 0.9.5 i wyszych.
Umoliwialy one pewn infantyln kontrol nad zachowaniem algorytmu
sortujcego we wczeniejszych wersjach, co bylo czasami uyteczne.
Wersje 0.9.5 i wysze maj usprawniony algorytm, ktory powoduje
bezuyteczno tej funkcji.
ZARZDZANIE PAMICI
bzip2 kompresuje due pliki w blokach. Rozmiar bloku ma wplyw zarowno na
stopie osiganej kompresji, jak rownie na ilo pamici potrzebnej do
kompresji i dekompresji. Parametry od -1 do -9 wybieraj rozmiar bloku
odpowiednio od 100,000 bajtow a do 900,000 bajtow (standardowo). W
czasie dekompresji, rozmiar bloku uytego do kompresji jest odczytywany
z naglowku pliku skompresowanego i bunzip2 sam zajmuje odpowiedni do
dekompresji ilo pamici. Poniewa rozmiar blokow 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 )
Wiksze bloki daj due zmniejszenie zwrotow marginalnych. Wikszo
kompresji pochodzi z pierwszych stu lub dwustu kilobajtow rozmiaru
bloku. Warto o tym pamita uywajc bzip2 na wolnych komputerach. Warto
rownie podkreli, e rozmiar pamici potrzebnej do dekompresji jest
wybierany poprzez ustawienie odpowiedniej wielkoci bloku przy
kompresji.
Dla plikow skompresowanych standardowym blokiem wielkoci 900k, bunzip2
bdzie wymagal okolo 3700 kilobajtow do dekompresji. Aby umoliwi
dekompresj na komputerze wyposaonym jedynie w 4 megabajty pamici,
bunzip2 ma opcj, ktora moe zmniejszy wymagania prawie do polowy, tzn.
okolo 2300 kilobajtow. Prdko dekompresji jest rownie bardzo zmiejszona,
wic uywaj tej opcji tylko wtedy, kiedy jest to konieczne. Tym
parametrem jest -s.
Generalnie, probuj i uywaj najwikszych rozmiarow blokow, jeli ilo
pamici ci na to pozwala. Prdko kompresji i dekompresji w zasadzie nie
zaley od wielkoci uytego bloku.
Inna wana rzecz dotyczy plikow, ktore mieszcz si w pojedyczym bloku --
oznacza to wikszo plikow na ktore si natkniesz uywajc duych blokow.
Rozmiar realny pamici zabieranej jest proporcjonalny do wielkoci pliku,
jeli plik jest mniejszy ni blok. Na przyklad, kompresja pliku o
wielkoci 20,000 bajtow z parametrem -9 wymusi na kompresorze
odnalezienie 7600 k pamici, ale zajcie tylko 400k + 20000 * 8 = 560
kilobajtow z tego. Podobnie, dekompresor odnajdzie 3700k, ale zajmie
tylko 100k + 20000 * 4 = 180 kilobajtow.
Tu jest tabela, ktora podsumowuje maksymalne uycie pamici dla ronych
rozmiarow blokow. Podano te calkowity rozmiar skompresowanych 14 plikow
tekstowych (Calgary Text Compressione Corpus) zajmujcych razem
3,141,622 bajtow. Ta kolumna daje pewne pojcie o tym, jaki wplyw na
kompresj ma wielko blokow. Ta tabela uzmyslawia rownie przewag uycia
wikszych blokow dla wikszych plikow, poniewa "Corpus" jest zdominowany
przez mniejsze pliki.
Uycie Uycie Uycie 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'OW BZIP2
bzip2 kompresuje pliki w blokach, zazwyczaj 900 kilbajtowych. Kady blok
jest trzymany osobno. Jeli bldy transmisji lub nonika uszkodz plik
wieloblokowy .bz2, moliwe jest odtworzenie danych zawartych w
niezniszczonych blokach pliku.
Kady blok jest reprezentowany przez 48-bitowy wzorzec, ktory umoliwia
znajdowanie przyporzdkowa blokow z rozsdn pewnoci. Kady blok ma rownie
swoj 32-bitowy CRC, wic bloki uszkodzone mog by latwo odseparowane od
poprawnych.
bzip2recover jest oddzielnym programem, ktorego zadaniem jest
poszukiwanie blokow w plikach .bz2 i zapisywanie ich do wlasnego pliku
.bz2. Moesz potem uy bzip2 -t aby sprawdzi spojno wyjciowego pliku i
zdekompresowa te, ktore nie s uszkodzone.
bzip2recover pobiera pojedynczy argument, nazw uszkodzonego pliku, i
tworzy pewn liczb plikow "rec0001plik.bz2", "rec0002plik.bz2", itd.,
przetrzymujce odzyskane bloki. Wyjciowe nazwy plikow s tak tworzone,
aby latwo bylo potem uywa ich razem za pomoc gwiazdek -- na przyklad,
"bzip2 -dc rec*plik.bz2 > odzyskany_plik" -- wylistuje pliki we
wlaciwej kolejnoci.
bzip2recover powinien by uywany najczciej z duymi plikami .bz2, jako i
one zawieraj najczciej duo blokow. Jest czystym bezsensem uywa go na
uszkodzonym jedno-blokowym pliku, poniewa uszkodzony blok nie moe by
odzyskany. Jeli chcesz zminimalizowa jakiekolwiek moliwe straty danych
poprzez nonik lub transmisj, powiniene zastanowi si nad uyciem
mniejszych blokow.
OPISY WYNIK'OW
Etap sortujcy kompresji lczy razem podobne cigi znakow w pliku. Przez
to, pliki zawierajce bardzo dlugie cigi powtarzajcych si symboli, jak
"aabaabaabaab ..." (powtorzone kilkaset razy) mog by kompresowane
wolniej ni normalnie. Wersje 0.9.5 i wysze zachowuj si duo lepiej w tej
sytuacji ni wersje poprzednie. Ronica stopnia kompresji pomidzy
najgorszym i najlepszym przypadkiem kompresji wynosi okolo 10:1. Dla
wczeniejszych wersji bylo to nawet okolo 100:1. Jeli chcesz, moesz uy
parametru -vvvv aby monitorowa postpy bardzo szczegolowo.
Prdko dekompresji nie jest zmieniana przez to zjawisko.
bzip2 zazwyczaj rezerwuje kilka megabajtow pamici do dzialania a potem
wykorzystuje j w sposob zupelnie przypadkowy. Oznacza to, e zarowno
prdko kompresji jak i dekompresji jest w duej czci zalena od prdkoci, z
jak twoj komputer moe naprawia braki bufora podrcznego. Z tego powodu,
wprowadzone zostaly male zmiany kody aby zmniejszy straty, ktore daly
nieproporcjonalnie duy wzrost osigni. Myl, e bzip2 bdzie dzialal
najlepiej na komputerach z duymi buforami podrcznymi.
ZAKAMARKI
Wiadomoci o bldach wejcia/wyjcia nie s a tak pomocne, jak moglyby by.
bzip2 stara si wykry bld wejcia/wyjcia i wyj "czysto", ale szczegoly
tego, jaki to problem mog by czasami bardzo mylce.
Ta strona podrcznika odnosi si do wersji 1.0 programu bzip2.
Skompresowane pliki utworzone przez t wersj s kompatybilne zarowno z w
przod jak i wstecznie z poprzednimi publicznymi wydaniami, wersjami
0.1pl2, 0.9.0 i 0.9.5 ale z malymi wyjtkami: 0.9.0 i wysze potrafi
poprawnie dekompresowa wiele skompresowanych plikow zlczonych w jeden.
0.1pl2 nie potrafi tego; zatrzyma si ju po dekompresji pierwszego pliku
w strumieniu.
bzip2recover uywa 32-bitowych liczb do reprezentacji pozycji bitu w
skompresowanym pliku, wic nie moe przetwarza skompresowanych plikow
dluszych ni 512 megabajtow. Mona to latwo 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) pomidzy nastepujcy
ludzi: Michael Burrows i David Wheeler (transformacja sortujc bloki),
David Wheeler (znow, 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 wdziczny za ich pomoc, wsparcie i porady.
Zobacz stron manuala w rodlowej dystrybucji po wskaniki do rodel
dokumentacji. Christian von Roques zachcil mnie do wymylenia szybszego
algorytmu sortujcego, po to eby przyspieszy kompresj. Bela Lubkin
zachcila mnie do polepszenia najgorszych wynikow kompresji. Wiele ludzi
przyslalo latki, pomoglo w ronych problemach, poyczylo komputerow, dalo
rady i bylo ogolnie pomocnych.
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.
bzip2(1)