Bzip2 Howto David Fetter dfetter@best.com <mailto:dfetter@best.com> v1.92 18 sierpnia 1998 Wersja polska: Krzysztof P. Jasiutowicz kpjas@priv.onet.pl v0.99, 28 sierpnia 1998 Ten tekst wyjaśnia jak używać programu do kompresji bzip2. Lokalna wersja tego tekstu w sgml-u jest dostępna tu tu <Bzip2-HOWTO.sgml>, a "autor-ytatywna" pod tym adresem tu <http://www.best.com/~dfet ter/Bzip2-HOWTO/Bzip2-HOWTO.sgml>. Dokument ten został napisany w standardzie ISO-8859-2. ______________________________________________________________________ Table of Contents: 1. Wstęp 1.1. Revision History 1.1.1. v1.92 1.1.2. v1.91 1.1.3. v1.9 1.1.4. v1.8 1.1.5. v1.7 1.1.6. v1.6 1.1.7. v1.5 1.1.8. v1.4 1.1.9. v1.3 1.1.10. v1.2 1.1.11. v1.1 1.1.12. v1.0 2. Jak zdobyć bzip2 2.1. Bzip2-HOWTO w twoim języku 2.2. Jak zdobyć prekompilowane binaria bzip2-a 2.3. Jak zdobyć źródła bzip2-a 2.4. Kompilacja bzip2-a dla twojej maszyny 3. Używanie bzip2 4. Używanie bzip2 z tar-em 4.1. Najłatwiejsza do zrobienia: 4.2. Łatwa do zrobienia, dość łatwa w użyciu, nie trzba mieć uprawnień root-a: 4.3. Też łatwa do zrobienia, ale wymaga dostępu jako root. 5. Używanie bzip2 z less-em 6. Używanie bzip2 z emacs-em 6.1. Zmaina emacs-a dla wszystkich: 6.2. Zmiana emacs-a dla pojedyńczego użytkownika: 7. Używanie bzip2-a z wu-ftpd 8. Użycie bzip2 z grep-em 9. Używanie bzip2-a z Netscape-m pod X-ami. 10. Użycie bzip2-a do rekompresji plików skompresowanych w innych formatach ______________________________________________________________________ 1. Wstęęp Bzip2 to superowy nowy algorytm kompresji danych. Ogólnie rzecz biorąc tworzy pliki, które są 60-70% mniejsze od takich samych plików spakowanych gzip-em. Ten dokument opisze kilka typowych zastosowań bzip2-a. Przyszłe wersje tego dokumentu będą dotyczyły planowanej bzip2 library którą autor bzip2-a, Julian Seward <mailto:Julian_Seward@muraroa.demon.co.uk> opisuje następująco: Pracuję nad następną wersją bzip2-a, która będzie używać tego samego formatu pliku .bz2; główną nowością będzie biblioteka podobna do zlib służąca do odczytywania i zapisu danych w tym formacie z poziomu programu. Przyszłe wersje tego dokumentu mogą także zawierać podsumowanie dyskusji nad tym czy (i jak) bzip2 powinno być zastosowane w jądrze Linux-a. 1.1. Revision History 1.1.1. v1.992 Zaktualizowałem rozdział ``Pobieranie binariów bzip2'', dodałem S.u.S.E. 1.1.2. v1.991 Poprawiłem błąd w pisowni i poprawiłem kilka idiomów shell-a w ``rozdziale o używaniu bzip2-a z tar-em''. Podziękowania dla Alessandro Rubini za nie. Poprawiłem aby narzędzie buzzit nie to stomp oryginalnego archiwum bzip2-a. Dodałem bgrep, narzędzie podobne do zgrep-a. 1.1.3. v1.99 Poprawiłem problem z gcc 2.7.*. Podziękowanie dla Ulrika Dickow-a za wskazanie go. Dodałem elegancki sposób Leonard-a Jean-Marc-a posługiwania się tar- em. Dodałem szwedzkie tłumaczenie Linus-a Ăkerlund-a. Poprawiłem rozdział o wu-ftpd np. sugestii Arnaud Launay-a. Przeniosłem tłumaczenia ich odpowiednich rozdziałów. 1.1.4. v1.88 Wstawiłem buzzit i tar.diff do sgml-a tam gdzie ich miejsceg. Poprawiłem interpunkcję i formatowanie. Podziękowania dla Arnaud Launay za jego pomoc w poprawianiu mojej własnej wersji. :-) Porzuciłem xv project na razie z powodu braku większego zainteresowania. Wspomniałem o tipsach w przyszłych wersjach tego dokumentu. 1.1.5. v1.7 Dodałem aplikację buzzit. Poprawiłem patch do nałożenia na gnu tar. 1.1.6. v1.6 Dodałem tip TenThumbs-a dot. Netscape. Także zmieniłem lesspipe.sh dzięki jego sugestii. Powinien teraz lepiej działać. 1.1.7. v1.5 Dodałem francuskie tłumaczenie Arnaud Launay-a, i jego plik wu-ftpd. 1.1.88. v1.4 Dodałem japońskie tłumaczenie Tetsu Isaji-ego. 1.1.99. v1.3 Dodałem plik Ulrik Dickow-a .emacs do emacs-a 19.30 lub wyższej wersji. (także poprawiłem patch jka-compr.el do emacs-a dzięki jego sugestii. Ojej! Bzip2 nie ma jeszcze(?) flagi "append".) 1.1.10. v1.2 Zmienilem patch do emacs-a aby automagicznie rozpoznawał pliki .bz2. 1.1.11. v1.1 Dodałem patch dla emacs-a. 1.1.12. v1.0 Runda 1. 2. Jak zdobyćć bzip2 Home page Bzip2-a znajduje się na Home site w Wielkiej Brytanii <http://www.muraroa.demon.co.uk/>. Mirror site w U.S.A jest tu <http://www.digistar.com/bzip2/index.html>. Można też znaleźć go na site-cie FTP Red Hat-a tu <ftp://ftp.redhat.com/pub/contrib>. 2.1. Bzip2-HOWTO w twoim jęęzyku Osoby posługujące się językiem francuskim mogą skierować się do francuskich dokumentów Arnaud Launay-a. Wersja WWW jest tu <http://www.freenix.fr/linux/HOWTO/mini/Bzip2.html>, a ftp można użyć tu <ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO/mini/Bzip2.gz> Z Arnaud można skontaktować się pocztą elektroniczną pod tym adresem <mailto:zoro@mygale.org> Osoby posługujące się językiem japońskim mogą skierować się do japońskich dokumentów Tetsu Isaji tu <http://jf.gee.kyoto- u.ac.jp/JF/JF.html>. Z Isaji można skotaktować się na jego stronie WWW <http://www2s.biglobe.ne.jp/~kaien/>, lub pocztą elektroniczną pod tym adresem. <mailto:isaji@mxu.meshnet.or.jp> Osoby posługujące się językiem szwedzkim mogą skierować się do szwedzkich Linus-a Ăkerlund-a tu <http://user.tninet.se/~uxm165t/linux_doc.html>. Z Linus-em można się skontaktować pocztą elektroniczną pod tym adresem. <mailto:uxm165t@tninet.se> 2.2. Jak zdobyćć prekompilowane binaria bzip2-a Zobacz Home site-y. Binarium Debian Intel jest tu <ftp://ftp.debian.org/debian/dists/stable/main/binary- i386/utils/bzip2_0.1pl2-5.deb>. Binarium alpha Red Hat-a jest tu <ftp://ftp.redhat.com/pub/redhat/redhat-5.1/alpha/RedHat/RPMS/bzip2-0.1pl2-1.alpha.rpm>. Binarium Intel Red Hat-a jest tu <ftp://ftp.redhat.com/pub/redhat/redhat-5.1/i386/RedHat/RPMS/bzip2-0.1pl2-1.i386.rpm>. Binarium SPARC Red Hat-a jest tu <ftp://ftp.redhat.com/pub/redhat/redhat-5.1/sparc/RedHat/RPMS/bzip2-0.1pl2-1.sparc.rpm>. Binarium Intel Slackware jest tu <ftp://www.cdrom.com/pub/linux/slackware-3.5/slakware/a1/bzip2.tgz>. Binarium Intel S.u.S.E jest tu <ftp://ftp.suse.com/pub/SuSE- Linux/5.2/suse/ap1/bzip.rpm>. Wyżej wymienione są także dostępne w analogicznuch miejscach różnych lustrzanych site-ów. 2.3. Jak zdobyćć źźróódłła bzip2-a Znajdują się na oficjalnych site-ach (zobacz w ``Jak zdobyć Bzip2'' gdzie, albo Red Hat ma je tu <ftp://ftp.redhat.com/pub/contrib/SRPMS/bzip2-0.1pl2-1.src.rpm>). 2.4. Kompilacja bzip2-a dla twojej maszyny Jeśśli masz gcc 2.7.**, zmień linijkę która brzmi CFLAGS = -O3 -fomit-frame-pointer -funroll-loops na CFLAGS = -O2 -fomit-frame-pointer to jest, zamień -O3 na -O2 i pomiń -funroll-loops. You may also wish to add any -m* flags (like -m486, for example) you use when compiling kernels. Usunięcie -funroll-loops jest najistotniejszą częścią, ponieważ może to spowodować wiele gcc 2.7-ów będzie generowało nieprawidłowy kod, a wszystkie gcc 2.7-y będą większy i wolniejszy kod wynikowy. Dla innych kompilatorów (lcc, egcs, gcc 2.8.x) standartowe CFLAGS są w porządku. Potem, po prostu make i zainstaluj wg README. 3. Użżywanie bzip2 Przeczytaj Wspanaiałą Stronę Podręcznika Systemowego :) 4. Użżywanie bzip2 z tar-em Poniżej są opisane trzy metody używania bzip2 z tar-em, a mianowicie 4.1. Najłłatwiejsza do zrobienia: Ta metoda nie wyamga wcale żadnych zmian. Aby od-tar-ować bzip2-owane archiwum tar-owe, foo.tar.bz2 w aktualnym katalogu, wykonaj /path/to/bzip2 -cd foo.tar.bz2 | tar xf - To działa, ale może być wnerwiające jeśli wypisuje się to zbyt często. 4.2. ŁŁatwa do zrobienia, dośśćć łłatwa w użżyciu, nie trzba miećć uprawnieńń root-a: Dzięki dla Leonard Jean-Marc <mailto:leonard@sct1.is.belgacom.be> za ten tip. Dzięki także dla Alessandro Rubini <mailto:rubini@morgana.systemy.it> za wprawadzenie różnic specyficznych dla csh. W swoim .bashrc, możesz wstawić taką linijkę : alias btar='tar --use-compress-program /usr/local/bin/bzip2 ' W .tcshrc, lub .cshrc, analogiczna linijka wygląda tak: alias btar 'tar --use-compress-program /usr/local/bin/bzip2' 4.3. Teżż łłatwa do zrobienia, ale wymaga dostęępu jako root. Nałóż poniższy patch na gnu tar 1.12 w następujący sposób: cd tar-1.12/src; patch < /path/to/tar.diff skompiluj go, i zainstaluj go, i wszystko już gotowe do działania. Upewnij się ze zarówno tar jak i bzip2 są w twojej $PATH poprzez "which tar" i "which bzip2." Aby użyć nowego tar-a, po prostu zrób tar xyf foo.tar.bz2 aby zdekompresować plik. Aby utworzyć nowe archiwum, podobnie zrób: tar cyf foo.tar.bz2 file1 file2 file3...directory1 directory2... A oto patch: *** tar.c Thu Jun 11 00:09:23 1998 --- tar.c.new Thu Jun 11 00:14:24 1998 *************** *** 196,201 **** --- 196,203 ---- {"block-number", no_argument, NULL, 'R'}, {"block-size", required_argument, NULL, OBSOLETE_BLOCKING_FACTOR}, {"blocking-factor", required_argument, NULL, 'b'}, + {"bzip2", required_argument, NULL, 'y'}, + {"bunzip2", required_argument, NULL, 'y'}, {"catenate", no_argument, NULL, 'A'}, {"checkpoint", no_argument, &checkpoint_option, 1}, {"compare", no_argument, NULL, 'd'}, *************** ...
Porozmawiajmy.TV