  Bzip2 mini-KAKO
  David Fetter, dfetter@best.com
  verzija 1.92, 18. kolovoza 1998.

  Ovaj dokument govori o koritenju bzip2, novog programa za saimanje.
  Autorativni SGML nalazi se na  <http://www.best.com/~dfet
  ter/Bzip2-HOWTO/Bzip2-HOWTO.sgml>.
  ______________________________________________________________________

  Sadraj


  1. Uvod

     1.1 Popis promjena

  2. Nabavljanje bzip2

     2.1 Bzip2-HOWTO na vaem jeziku
     2.2 Nabavljanje ve kompajliranih izvrnih datoteka bzip2
     2.3 Nabavljanje izvornog koda bzip2

  3. Kompajliranje bzip2 za va stroj

  4. Koritenje samog bzip2

  5. Koritenje bzip2 uz tar

     5.1 Najlaki za namjetanje
     5.2 Lagan za namjetanje, relativno lagan za koritenje, bez potrebe za root privilegijama
     5.3 Isto tako lak za koritenje, ali zahtijeva root pristup

  6. Koritenje bzip2 uz less

  7. Koritenje bzip2 uz emacs

     7.1 Mijenjanje emacsa za sve
     7.2 Mijenjanje emacsa za jednu osobu

  8. Koritenje bzip2 uz wu-ftpd

  9. Koritenje bzip2 s grepom

  10. Koritenje bzip2 uz Netscape pod X-om.

  11. Koritenje bzip2 za ponovno saimanje drugih saetih datoteka

  12. Hrvatski prijevod



  ______________________________________________________________________

  1.  Uvod


  Bzip2 je zgodan novi algoritam za saimanje podataka. Openito,
  datoteke ini 30-40% manjim od veliine njihovih gzip-anih pandana.

  Ovaj dokument vodi vas kroz nekoliko uobiajenih primjena bzip2-a.

  Budue verzije dokumenta govorit e o dolazeem bzip2 libraryu kojeg
  autor bzip2, Julian Seward, Julian_Seward@muraroa.demon.co.uk, opisuje
  ovako:


  Radim na slijedeoj verziji bzip2, koja e koristiti isti
  .bz2 format datoteka; glavna novost je zlib-oliki library za
  itanje i pisanje podataka u tom formatu iz drugih programa.


  Budue verzije dokumenta moda e takoer sadravati saetak rasprava
  o tome da li bi (i kako) trebalo koristiti bzip2 u Linux kernelu.


  1.1.  Popis promjena



     verzija 1.92
        Osvjeio dio ``Nabavljanje ve kompajliranih izvrnih datoteka
        bzip2'' i dodao S.u.S.E.-ove.


     verzija 1.91
        Ispravio pravopisnu greku i razjasnio neke idiome ljuske u
        dijelu ``Koritenje bzip2 uz tar''. Za to hvala Alessandru
        Rubiniju.

        Sredio buzzit alat tako da se ne zagrcne na postojeoj bzip2
        arhivi.

        Dodao bgrep, zgrep-olik alat.


     verzija 1.9
        Razjasnio gcc 2.7.* problem. Hvala Ulriku Dickowu to me
        upozorio.

        Dodao elegantni nain rada s tarom Leonarda Jean-Marca.

        Dodao vedski prijevod Linusa kerlunda.

        Sredio wu-ftpd dio po prijedlogu Arnauda Launaya.

        Prijevode premjestio u poseban dio.


     verzija 1.8
        buzzit i tar.diff u SGML-u stavio tamo gdje spadaju. Sredio
        interpunkcije i izgled. Hvala Arnaudu Launayu na pomoi u
        ispravljanju mog primjerka. :-)

        Za sada ispustio xv projekt zbog nedostatnog zanimanja javnosti.

        Dodao teasers za budue verzije dokumenta.


     verzija 1.7
        Dodao alat buzzit. Sredio zakrpu za GNU tar.


     verzija 1.6
        Dodao TenThumbsov program za Netscape.

        Promijenio i lesspipe.sh prema njegovom prijedlogu. Sad bi
        trebao raditi bolje.


     verzija 1.5
        Dodao francuski prijevod Arnauda Launaya i njegovu datoteku za
        wu-ftpd.
     verzija 1.4
        Dodao japanski prijevod Tetsua Isajia.


     verzija 1.3
        Dodao .emacs Ulrika Dickowa za 19.30 i bolji.

        (Ispravio i jka-compr.el prema njegovu prijedlogu. Ups! Bzip2
        jo(?) nema "append" prekida.)


     verzija 1.2
        Promijenio zakrpu za emacs tako da automatski prepoznaje .bz2
        datoteke.


     verzija 1.1
        Dodao zakrpu za emacs.


     verzija 1.0
        Prva runda.


  2.  Nabavljanje bzip2


  WWW stranica bzip2 nalazi se na  <http://www.muraroa.demon.co.uk/>.
  Mirror u SAD je  <http://www.digistar.com/bzip2/index.html>. Moete ga
  nai i na Red Hatovom FTP serveru:
  <ftp://ftp.redhat.com/pub/contrib/>.


  2.1.  Bzip2-HOWTO na vaem jeziku


  Francuski itatelji mogu proitati francuski prijevod Arnauda Launaya.
  WWW verzija je na
  <http://www.freenix.fr/linux/HOWTO/mini/Bzip2.html>, a FTP-om ga
  moete dobiti s
  <ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO/mini/Bzip2.gz>. Arnauda
  moete kontaktirati elektronskom potom na zoro@mygale.org.

  Japanski itatelji mogu proitati japanski prijevod Tetsua Isajia na
  <http://jf.gee.kyoto-u.ac.jp/JF/JF.html>. Do Isajia moete doi preko
  njegove WWW stranice,  <http://www2s.biglobe.ne.jp/~kaien/>.

  vedski itatelji mogu proitati vedski prijevod Linusa kerlunda na
  <http://user.tninet.se/~uxm165t/linux_doc.html>. Linusova e-mail
  adresa je uxm165t@tninet.se.


  2.2.  Nabavljanje ve kompajliranih izvrnih datoteka bzip2


  Pogledajte WWW stranice bzip2.

  Debianova izvrna datoteka za Intel nalazi se na
  <ftp://ftp.debian.org/debian/dists/stable/main/binary-
  i386/utils/bzip2_0.1pl2-5.deb>.

  Red Hatova izvrna datoteka za Alphu nalazi se na
  <ftp://ftp.redhat.com/pub/redhat/redhat-5.1/alpha/RedHat/RPMS/bzip2-0.1pl2-1.alpha.rpm>.

  Red Hatova izvrna datoteka za Intel nalazi se na
  <ftp://ftp.redhat.com/pub/redhat/redhat-5.1/i386/RedHat/RPMS/bzip2-0.1pl2-1.i386.rpm>.
  Red Hatova izvrna datoteka za SPARC nalazi se na
  <ftp://ftp.redhat.com/pub/redhat/redhat-5.1/sparc/RedHat/RPMS/bzip2-0.1pl2-1.sparc.rpm>.

  Slackwareova izvrna datoteka za Intel nalazi se na
  <http://www.cdrom.com/pub/linux/slackware-3.5/slakware/a1/bzip2.tgz>.

  S.u.S.E.-ova izvrna datoteka za Intel nalazi se na
  <ftp://ftp.suse.com/pub/SuSE-Linux/5.2/suse/ap1/bzip.rpm>.

  Na istim mjestima moete ih nai na raznim mirrorima.


  2.3.  Nabavljanje izvornog koda bzip2


  Moe se nai na slubenim stranicama (pogledajte ``Nabavljanje
  bzip2''), a Red Hat ga dri na
  <ftp://ftp.redhat.com/pub/contrib/SRPMS/bzip2-0.1pl2-1.src.rpm>.


  3.  Kompajliranje bzip2 za va stroj


  Ako imate gcc 2.7.*, promijenite red

  ______________________________________________________________________
  CFLAGS = -O3 -fomit-frame-pointer -funroll-loops
  ______________________________________________________________________


  u

  ______________________________________________________________________
  CFLAGS = -O2 -fomit-frame-pointer
  ______________________________________________________________________


  To jest, -O3 zamijenite s -O2 i izostavite -funroll-loops.  Takoer
  moete dodati -m* prekidae (-m486, na primjer) koje koristite kod
  kompajliranja kernela.

  Najvanije je izbjei -funroll-loops jer e zbog toga mnogi gcc-i
  verzije 2.7 generirati pogrean kod, a svi gcc-i 2.7 generirati
  sporiji i vei kod. Za druge kompajlere (lcc, egcs, gcc 2.8.x) CFLAGS
  ne treba mijenjati.

  Nakon toga samo make i instalirajte ga prema README-u.


  4.  Koritenje samog bzip2


  RTFM (proitajte tu dobru man stranicu :).


  5.  Koritenje bzip2 uz tar


  Evo tri naina koritenja bzip2 uz tar, to jest:


  5.1.  Najlaki za namjetanje


  Ova metoda ne zahtijeva nikakvo petljanje. Za dearhiviranje bzip2-ane
  tar arhive, foo.tar.bz2, u trenutnom direktoriju, napiite
       /staza/do/bzip2 -cd foo.tar.bz2 | tar xf -




  To radi, ali toliko tipkati esto moe biti muno.


  5.2.  root privilegijama Lagan za namjetanje, relativno lagan za
  koritenje, bez potrebe za


  Hvala Leonardu Jean-Marcu, leonard@sct1.is.belgacom.be, to mi je ovo
  spomenuo. Takoer hvala Alessandru Rubiniju,
  rubini@morgana.systemy.it, za razlike izmeu basha i csha.

  U svoj .bashrc moete staviti ovakav red:

  ______________________________________________________________________
  alias btar='tar --use-compress-program /usr/local/bin/bzip2 '
  ______________________________________________________________________



  U .tcshrc ili .cshrc odgovarajui red izgleda ovako:

  ______________________________________________________________________
  alias btar 'tar --use-compress-program /usr/local/bin/bzip2'
  ______________________________________________________________________




  5.3.  Isto tako lak za koritenje, ali zahtijeva root pristup


  Slijedeu zakrpu ovako primjenite na GNU tar 1.12:


       cd tar-1.12/src; patch < /staza/do/tar.diff




  Zatim ga kompajlirajte, instalirajte i to je to. Provjerite da li su i
  tar i bzip2 u $PATH pomou which tar i which bzip2. Dearhivirati
  datoteke sada moete jednostavnim


       tar xyf foo.tar.bz2




  Stvaranje nove arhive je slino:


       tar cyf foo.tar.bz2 datoteka1 datoteka2... direktorij1 direktorij2...




  Evo zakrpe:



  ______________________________________________________________________
  *** 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'},
  ***************
  *** 372,377 ****
  --- 374,380 ----
                  PATTERN                at list/extract time, a globbing PATTERN\n\
      -o, --old-archive, --portability   write a V7 format archive\n\
          --posix                        write a POSIX conformant archive\n\
  +   -y, --bzip2, --bunzip2             filter the archive through bzip2\n\
      -z, --gzip, --ungzip               filter the archive through gzip\n\
      -Z, --compress, --uncompress       filter the archive through compress\n\
          --use-compress-program=PROG    filter through PROG (must accept -d)\n"),
  ***************
  *** 448,454 ****
       Y  per-block gzip compression */

    #define OPTION_STRING \
  !   "-01234567ABC:F:GK:L:MN:OPRST:UV:WX:Zb:cdf:g:hiklmoprstuvwxz"

    static void
    set_subcommand_option (enum subcommand subcommand)
  --- 451,457 ----
       Y  per-block gzip compression */

    #define OPTION_STRING \
  !   "-01234567ABC:F:GK:L:MN:OPRST:UV:WX:Zb:cdf:g:hiklmoprstuvwxyz"

    static void
    set_subcommand_option (enum subcommand subcommand)
  ***************
  *** 805,810 ****
  --- 808,817 ----
          case 'X':
          exclude_option = 1;
          add_exclude_file (optarg);
  +       break;
  +
  +       case 'y':
  +       set_use_compress_program_option ("bzip2");
          break;

          case 'z':
  ______________________________________________________________________




  6.  Koritenje bzip2 uz less


  Za dekompresiju bzip2-anih datoteka u letu, odnosno mogunost
  koritenja lessa bez bunzip2-avanja, moete napraviti lesspipe.sh
  (pogledajte man less) poput ovog:

  ______________________________________________________________________
  #!/bin/sh
  # Ovo je preprocesor za less. Koristi se kada je postavljena varijabla
  # okruja:  LESSOPEN="|lesspipe.sh %s"

    case "$1" in
    *.tar) tar tvvf $1 2>/dev/null ;; # Prikaz sadraja raznih tar datoteka
    *.tgz) tar tzvvf $1 2>/dev/null ;;
  # Ovo e raditi za nepromijenjenu verziju tara:
    *.tar.bz2) bzip2 -cd $1 $1 2>/dev/null | tar tzvvf - ;;
  # Ovo radi za zakrpanu verziju tara:
  # *.tar.bz2) tyvvf $1 2>/dev/null ;;
    *.tar.gz) tar tzvvf $1 2>/dev/null ;;
    *.tar.Z) tar tzvvf $1 2>/dev/null ;;
    *.tar.z) tar tzvvf $1 2>/dev/null ;;
    *.bz2) bzip2 -dc $1  2>/dev/null ;; # Ispravan pregled saetih datoteka
    *.Z) gzip -dc $1  2>/dev/null ;;
    *.z) gzip -dc $1  2>/dev/null ;;
    *.gz) gzip -dc $1  2>/dev/null ;;
    *.zip) unzip -l $1 2>/dev/null ;;
    *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) DATOTEKA=`file -L $1` ; # u groffu
      DATOTEKA=`echo $DATOTEKA | cut -d ' ' -f 2`
      if [ "$DATOTEKA" = "troff" ]; then
        groff -s -p -t -e -Tascii -mandoc $1
      fi ;;
    *) cat $1 2>/dev/null ;;
  #  *) DATOTEKA=`file -L $1` ; # Provjeravamo da li je binarna -- pregled preko strings
  #    DATOTEKA1=`echo $DATOTEKA | cut -d ' ' -f 2`
  #    DATOTEKA2=`echo $DATOTEKA | cut -d ' ' -f 3`
  #    if [ "$DATOTEKA1" = "Linux/i386" -o "$DATOTEKA2" = "Linux/i386" \
  #         -o "$DATOTEKA1" = "ELF" -o "$DATOTEKA2" = "ELF" ]; then
  #      strings $1
  #    fi ;;
    esac
  ______________________________________________________________________




  7.  Koritenje bzip2 uz emacs



  7.1.  Mijenjanje emacsa za sve


  Napisao sam slijedeu zakrpu jka-compr.el-u. Ona bzip2 dodaje auto-
  compression-modeu.

  Napomena: Ovo sam testirao samo na emacsu 20.2, ali ne vidim razloga
  zato slian pristup ne bi radio s drugim verzijama.

  Primjenite ju ovako:

  1. Otiite u direktorij emacs-20.2/lisp s izvornim kodom (gdje god ste
     ga otpakirali).

  2. Snimite ovu zakrpu u datoteku jka-compr.el.diff (u toj bi datoteci
     trebala biti samo ona ;).

  3. Napiite


       patch < jka-compr.el.diff


  4. Pokrenite emacs i napiite


        M-x byte-compile-file jka-compr.el




  5. Izaite iz emacsa.

  6. Svoj izvorni jka-compr.elc maknite na sigurnije mjesto za sluaj
     greke.

  7. Uivajte!


  ______________________________________________________________________
  --- jka-compr.el        Sat Jul 26 17:02:39 1997
  +++ jka-compr.el.new    Thu Feb  5 17:44:35 1998
  @@ -44,7 +44,7 @@
   ;; The variable, jka-compr-compression-info-list can be used to
   ;; customize jka-compr to work with other compression programs.
   ;; The default value of this variable allows jka-compr to work with
  -;; Unix compress and gzip.
  +;; Unix compress and gzip.  David Fetter added bzip2 support :)
   ;;
   ;; If you are concerned about the stderr output of gzip and other
   ;; compression/decompression programs showing up in your buffers, you
  @@ -121,7 +121,9 @@


   ;;; I have this defined so that .Z files are assumed to be in unix
  -;;; compress format; and .gz files, in gzip format.
  +;;; compress format; and .gz files, in gzip format, and .bz2 files,
  +;;; in the snappy new bzip2 format from http://www.muraroa.demon.co.uk.
  +;;; Keep up the good work, people!
   (defcustom jka-compr-compression-info-list
     ;;[regexp
     ;; compr-message  compr-prog  compr-args
  @@ -131,6 +133,10 @@
        "compressing"    "compress"     ("-c")
        "uncompressing"  "uncompress"   ("-c")
        nil t]
  +    ["\\.bz2\\'"
  +     "bzip2ing"        "bzip2"         ("")
  +     "bunzip2ing"      "bzip2"         ("-d")
  +     nil t]
       ["\\.tgz\\'"
        "zipping"        "gzip"         ("-c" "-q")
        "unzipping"      "gzip"         ("-c" "-q" "-d")
  ______________________________________________________________________




  7.2.  Mijenjanje emacsa za jednu osobu


  Za ovo hvala Ulriku Dickowu, ukd@kampsax.dk, sistemskom programeru iz
  Kampsax Technology.

  Ako elite automatski koristiti bzip2 kada niste root, samo dodajte
  ovo svojoj .emacs datoteci.



  ______________________________________________________________________
  ;; Automatska (de)kompresija kod uitavanja/snimanja datoteka (gzip(1) i
  ;;   slino)
  ;; Pokreemo ju u ugaenom stanju tako da se moe dodati podrka za
  ;; bzip2(1). Kod skupio Ulrik Dickow za ~/.emacs uz Emacs 19.34. Trebalo bi
  ;; raditi i s mnogim starijim i novijim Emacsima. Ipak, nema jamstva.
  ;;
  (if (fboundp 'auto-compression-mode) ; Emacs 19.30+
      (auto-compression-mode 0)
    (require 'jka-compr)
    (toggle-auto-compression 0))
  ;; Sad dodajmo bzip2 podrku i ponovo ukljuimo automatsku kompresiju
  (add-to-list 'jka-compr-compression-info-list
               ["\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'"
                "zipping"        "bzip2"         ()
                "unzipping"      "bzip2"         ("-d")
                nil t])
  (toggle-auto-compression 1 t)
  ______________________________________________________________________




  8.  Koritenje bzip2 uz wu-ftpd


  Hvala Arnaudu Launayu za ovo spaavanje bandwidtha. Slijedee treba
  staviti u /etc/ftpconversions za de/kompresiju u letu pomou bzip2.
  Provjerite da li su staze (/bin/compress na primjer) ispravne.


  ______________________________________________________________________
   :.Z:  :  :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS
   :   : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS
   :.gz: :  :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP
   :   : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP
   :.bz2: :  :/bin/bzip2 -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:BUNZIP2
   :   : :.bz2:/bin/bzip2 -9 -c %s:T_REG:O_COMPRESS:BZIP2
   :   : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR
   :   : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS
   :   : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP
   :   : :.tar.bz2:/bin/tar -c -I -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+BZIP2
  ______________________________________________________________________




  9.  Koritenje bzip2 s grepom


  Ovaj alat, kojeg sam nazvao bgrep, je malice promijenjen zgrep koji
  dolazi s Linuxom. Moete ga koristiti za grep kroz datoteke bez
  njihovog bunzip2-anja.













  ______________________________________________________________________
  #!/bin/sh

  # bgrep -- omota oko programa grep koji po potrebi dekomprimira datoteke
  PATH="/usr/bin:$PATH"; export PATH

  prog=`echo $0 | sed 's|.*/||'`
  case "$prog" in
          *egrep) grep=${EGREP-egrep}     ;;
          *fgrep) grep=${FGREP-fgrep}     ;;
          *)      grep=${GREP-grep}       ;;
  esac
  pat=""
  while test $# -ne 0; do
    case "$1" in
    -e | -f) opt="$opt $1"; shift; pat="$1"
             if test "$grep" = grep; then  # grep pati od greaka s -e na SVR4
               grep=egrep
             fi;;
    -*)      opt="$opt $1";;
     *)      if test -z "$pat"; then
               pat="$1"
             else
               break;
             fi;;
    esac
    shift
  done

  if test -z "$pat"; then
    echo "grep kroz bzip2 datoteke"
    echo "usage: $prog [grep_opcije] uzorak [datoteke]"
    exit 1
  fi

  list=0
  silent=0
  op=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'`
  case "$op" in
    *l*) list=1
  esac
  case "$op" in
    *h*) silent=1
  esac

  if test $# -eq 0; then
    bzip2 -cd | $grep $opt "$pat"
    exit $?
  fi

  res=0
  for i do
    if test $list -eq 1; then
      bzip2 -cdfq "$i" | $grep $opt "$pat" > /dev/null && echo $i
      r=$?
    elif test $# -eq 1 -o $silent -eq 1; then
      bzip2 -cd "$i" | $grep $opt "$pat"
      r=$?
    else
      bzip2 -cd "$i" | $grep $opt "$pat" | sed "s|^|${i}:|"
      r=$?
    fi
    test "$r" -ne 0 && res="$r"
  done
  exit $res
  ______________________________________________________________________
  10.  Koritenje bzip2 uz Netscape pod X-om.


  tenthumbs@cybernex.net kae:


       Shvatio sam i kako natjerati Netscape za Linux da koristi
       bzip2 za Content-Encoding ba kao to i koristi gzip. Doda
       jte ovo $HOME/.Xdefaults ili $HOME/.Xresources:



       Koristim opciju -s samo zato to vie volim sporiju dekom
       presiju nego manje RAM-a. Ako elite, moete ju izostaviti.



  ______________________________________________________________________
  Netscape*encodingFilters:      \
          x-compress :  : .Z     : uncompress -c  \n\
          compress   :  : .Z     : uncompress -c  \n\
          x-gzip     :  : .z,.gz : gzip -cdq      \n\
          gzip       :  : .z,.gz : gzip -cdq      \n\
          x-bzip2    :  : .bz2   : bzip2 -ds \n
  ______________________________________________________________________




  11.  Koritenje bzip2 za ponovno saimanje drugih saetih datoteka


  Ovaj perl program uzima datoteke saete u drugim formatima (.tar.gz,
  .tgz, .tar.Z i .Z za ovu iteraciju) i ponovno ih saima radi bolje
  kompresije. Izvorni kod ima dosta zgodne dokumentacije o tome to radi
  i kako to radi.






























  ______________________________________________________________________
  #!/usr/bin/perl -w

  #######################################################
  #                                                     #
  # Ovaj program uzima compress-ane i gzip-ane datoteke #
  # u trenutnom direktoriju i pretvara ih u bzip2       #
  # format. S nastavkom .tgz ponaa se razumno,         #
  # stvarajui .tar.bz2 datoteku.                       #
  #                                                     #
  #######################################################
  $broja = 0;
  $bajta_snimljeno = 0;
  $ukupno_datoteka = '/tmp/bzip2_ukupno_na_stroju';
  $bzip2_ukupno_na_stroju = 0;

  while(<*[Zz]>) {
      next if /^bzip2-0.1pl2.tar.gz$/;
      push @files, $_;
  }
  $ukupno = scalar(@files);

  foreach (@files) {
      if (/tgz$/) {
          ($novo=$_) =~ s/tgz$/tar.bz2/;
      } else {
          ($novo=$_) =~ s/\.g?z$/.bz2/i;
      }
      $izv_koliko = (stat $_)[7];
      ++$broja;
      print "Ponovo saimam $_ ($broja/$ukupno)...\n";
      if ((system "gzip -cd $_ |bzip2 >$novo") == 0) {
          $novo_koliko = (stat $novo)[7];
          $faktor = int(100*$novo_koliko/$izv_koliko+.5);
          $bajta_snimljeno += $izv_koliko-$novo_koliko;
          print "$novo zauzima oko $faktor% veliine $_. :",($faktor<100)?')':'(',"\n";
          unlink $_;
      } else {
          print "Arrgg! Neto se dogodilo s $_: $!\n";
      }
  }
  print ($bajta_snimljeno>=0)?"Dobili":"Izgubili",
        " ste $bajta_snimljeno bajta prostora na disku :",
         ($bajta_snimljeno>=0)?")":"(", "\n";

  unless (-e '/tmp/bzip2_ukupno_na_stroju') {
      system ('echo "0" >/tmp/bzip2_ukupno_na_stroju');
      system ('chmod', '0666', '/tmp/bzip2_ukupno_na_stroju');
  }


  chomp($bzip2_ukupno_na_stroju = `cat $ukupno_datoteka`);
  open UKUPNO, ">$ukupno_datoteka"
       or die "Ne mogu otvoriti datoteku s ukupnim rezultatem stroja: $!";
  $bzip2_ukupno_na_stroju += $bajta_snimljeno;
  print UKUPNO $bzip2_ukupno_na_stroju;
  close UKUPNO;

  print "Ukupni rezultat cijelog stroja je ",`cat $ukupno_datoteka`," bajta.\n";
  ______________________________________________________________________






  12.  Hrvatski prijevod


  Najnovija verzija ovog prijevoda moe se nai na
  <http://meta.mioc.hr/Bzip2.html>. Odrava ga Matej Vela,
  mvela@public.srce.hr, kao dio META projekta. Sve su primjedbe,
  prijedlozi i prilozi dobrodoli.



























































