  Bzip2 mini-HOWTO
  David Fetter, david@fetter.org <mailto:david@fetter.org>
  v2.00, 22 August 1999

  ÀÌ ¹®¼­´Â »õ·Î¿î ¾ÐÃà ÇÁ·Î±×·¥ bzip2¸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö ÀÌ¾ß±âÇÑ´Ù.
  ÇöÀçÀÇ »çÀÌÆ® <Bzip2-HOWTO.sgml>¿¡ sgmlÀÇ ·ÎÄÃÄ«ÇÇ°¡ ÀÖ°í, ±×¸®°í
  "±ÇÀ§°¡ ÀÖ´Â" sgmlÀº <http://fetter.org/Bzip2-HOWTO/>¿¡ ÀÖ´Ù.
  ______________________________________________________________________

  Â÷·Ê


  1. ¼Ò°³

     1.1 (BF
        1.1.1 v2.00
        1.1.2 v1.92
        1.1.3 v1.91
        1.1.4 v1.9
        1.1.5 v1.8
        1.1.6 v1.7
        1.1.7 v1.6
        1.1.8 v1.5
        1.1.9 v1.4
        1.1.10 v1.3
        1.1.11 v1.2
        1.1.12 v1.1
        1.1.13 v1.0

  2. Bzip2 ¾ò±â

     2.1 ´ç½ÅÀÇ ¾ð¾îÀÇ bzip2-HOWTO
     2.2 ÄÄÆÄÀÏµÇÁö ¾ÊÀº bzip2 ¹ÙÀÌ³Ê¸® ¾ò±â
     2.3 Bzip2 ¼Ò½º ¾ò±â
     2.4 ´ç½ÅÀÇ ÄÄÇ»ÅÍ·Î bzip2 ÄÄÆÄÀÏÇÏ±â

  3. Bzip2¸¦ ±× °ÍÀ¸·Î »ç¿ëÇÏ±â

  4. Bzip2¸¦ tar°ú °°ÀÌ ¾²±â

     4.1 ¼³Ä¡ÇÏ´Â °ÍÀº °¡Àå ½±´Ù:
     4.2 ¼³Ä¡ÇÏ´Â °Í°ú ÀûÀýÇÏ°Ô ¾²´Â°ÍÀº ½±°í, rootÀÇ Æ¯±ÇÀÌ ÇÊ¿äÇÏÁö ¾Ê´Ù:
     4.3 ¾²´Â°Í ¶ÇÇÑ ½±´Ù, ±×·¯³ª ·çÆ®ÀÇ Á¢±ÙÀÌ ÇÊ¿ä¾ø´Ù.

  5. Bzip2¸¦ less¿Í °°ÀÌ ¾²±â

  6. Bzip2¸¦ emacs¿Í °°ÀÌ ¾²±â

     6.1 ¸ðµÎ¸¦ À§ÇØ emacs¸¦ ¹Ù²Ù±â:
     6.2 ÇÑ »ç¶÷À» À§ÇØ emacs¸¦ ¹Ù²Ù±â:

  7. Bzip2¸¦ wu-ftpd¿Í °°ÀÌ ¾²±â

  8. Bzip2¸¦ grep¿Í °°ÀÌ ¾²±â

  9. Bzip2¸¦ XÀÇ Netscape¿Í °°ÀÌ ¾²±â.

  10. Bzip2·Î ´Ù¸¥ ¾ÐÃà Çü½ÄÀ¸·Î ´Ù½Ã ¾ÐÃàÇÏ±â

  ______________________________________________________________________

  1.  ¼Ò°³

  Bzip2´Â ÀÚ·á¸¦ ¾ÐÃàÇÏ±â À§ÇÑ ÁÁÀº »õ·Î¿î ¾Ë°í¸®ÁòÀÌ´Ù. ÀÏ¹ÝÀûÀ¸·Î gzip
  ÀÇ Å©±âÀÇ 60-70%·Î ÆÄÀÏÀ» ¸¸µç´Ù.


  ÀÌ ¹®¼­´Â ´ç½ÅÀ» bzip2¸¦ ÅëÇÏ¿© ÀÏ¹Ý ¾ÖÇÃ¸®ÄÉÀÌ¼ÇÀ» ÀÌ¿ëÇÏ°Ô ¸¸µé °ÍÀÌ
  ´Ù.


  ±× ¹®¼­ÀÇ ¹Ì·¡ÀÇ ¹öÀüÀº libbzip2ÀÇ ¾ÖÇÃ¸®ÄÉÀÌ¼Ç, bzip2¸¦ ¸¸µç Julian 
  Seward <mailto:Julian_Seward@muraroa.demon.co.uk> °¡ Ä£ÀýÈ÷ ¾´ bzip2 
  C ¶óÀÌºê·¯¸®°¡ ÀÖÀ» °ÍÀÌ´Ù. Bzip2 ¸Þ´º¾ó <http://www.bzip2.org/bzip2
  /docs/manual_toc.html>¿¡¼­ Ã£À» ¼ö ÀÖ´Â ¶óÀÌºê·¯¸®¿¡ °üÇÑ ³·Àº ¼öÁØÀÇ
  Á¤º¸°¡ Ãß°¡µÇ¾ú´Ù.


  ±× ¹®¼­ÀÇ ¹Ì·¡ÀÇ ¹öÀüµéÀº ¾Æ¸¶ ¶ÇÇÑ bzip2¸¦ ¸®´ª½º Ä¿³Î¿¡¼­ ½á¾ßÇÏ´ÂÁö
  (±×¸®°í ¾î¶»°Ô)¿¡ °üÇÑ ÇØ¼³¿¡ ´ëÇÑ ¿ä¾àÀ» Æ÷ÇÔÇÒ °ÍÀÌ´Ù.


  1.1.  °³Á¤ÆÇ ¿ª»ç

  1.1.1.  v2.00

  ``Bzip2¸¦ less¿Í °°ÀÌ »ç¿ëÇÏ±â'' ºÎ¹®ÀÌ º¯°æµÇ¾ú´Ù ±×·¡¼­ .tar.bzip2 
  ÆÄÀÏÀ» ½ÇÁ¦·Î ÀÐÀ»¼ö ÀÖ´Ù. Á¤Á¤ÇÑ °Í¿¡ ´ëÇØ Nicola Fabiano <mailto:mc8
  644@mclink.it> ¿¡°Ô °¨»çÇÑ´Ù.

  buzzit À¯Æ¿¸®Æ¼°¡ °»½ÅµÇ¾ú´Ù.

  tar Á¤º¸°¡ °»½ÅµÇ¾ú´Ù.


  1.1.2.  v1.92

  ``Bzip2 ¹ÙÀÌ³Ê¸® ¾ò±â'' ºÎ¹®ÀÌ º¯°æµÇ¾ú°í, S.u.S.E.ÀÇ Ãß°¡ÇÑ °ÍÀ» Æ÷ÇÔ
  ÇÑ´Ù.


  1.1.3.  v1.91

  ¿ÀÅ¸°¡ ±³Á¤µÇ¾ú°í ``Bzip2¸¦ tar°ú °°ÀÌ ¾²´Â ºÎ¹®''ÀÇ ¼Ð Ç¥ÇöÇü½ÄÀÇ ÀÏ
  ºÎ¸¦ ±ú²ýÇÏ°Ô Çß´Ù.  ÀÌ °Íµé¿¡ ´ëÇØ Alessandro Rubini¿¡°Ô °¨»çÇÑ´Ù.


  ÃÖÃÊÀÇ bzip2 µ¥ÀÌÅÍ¸¦ Áþ¹âÁö ¾Ê±â À§ÇØ buzzit ÅøÀ» °»½ÅÇß´Ù.


  Zgrep°°Àº ÅøÀÎ bgrep°¡ Ãß°¡µÇ¾ú´Ù.


  1.1.4.  v1.9

  Gcc 2.7.* ¹®Á¦¸¦ ±ú²ýÇÏ°Ô Çß´Ù. ÀÌ°ÍÀ» ÁöÀûÇÑ Ulrik Dickow¿¡°Ô °¨»çÇÑ
  ´Ù.



  Leonard Jean-MarcÀÇ ÈÇ¸¢ÇÑ tar°ú °°ÀÌ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ Ãß°¡µÇ¾ú´Ù.


  Linux AkerlundÀÇ ½º¿þµ§ ¹ø¿ªÀÌ Ãß°¡µÇ¾ú´Ù.

  Arnaud LaunayÀÇ Á¦¾ÈÀ¸·Î wu-ftpd ºÎ¹®À» °íÃÆ´Ù.


 ¹ø¿ªµéÀÌ ±×µé ÀÚ½ÅÀÇ ºÎ¹®À¸·Î ¿Å°ÜÁ³´Ù.


  1.1.5.  v1.8

  Buzzit°ú ±×°ÍµéÀÌ ¼ÓÇÑ°÷ÀÇ sgmlÀÇ tar.diff¸¦ ³Ö¾ú´Ù. ±¸µÎÁ¡°ú Çü½ÄÀ»
  ¼öÁ¤Çß´Ù.  Arnaud Launay¿¡°Ô ³ªÀÇ º¹»ç¸¦ Á¤Á¤ÇÑ ±×ÀÇ µµ¿ò¿¡ ´ëÇØ °¨»ç
  ÇÑ´Ù. :-)


  ´ëÁßÀÇ °ü½ÉÀÇ ºÎÁ·À¸·Î »õ·Î¿î Àû´çÇÑ xv ÇÁ·ÎÁ§Æ®¸¦ Çß´Ù.


  ±× ¹®¼­ÀÇ ¹Ì·¡ÀÇ ¹öÀüÀ» À§ÇÑ ¹®Á¦¸¦ Ãß°¡Çß´Ù.


  1.1.6.  v1.7

  Buzzit À¯Æ¿¸®Æ¼°¡ Ãß°¡µÇ¾ú´Ù.  Gnu tar¿¡ ´ëÇÑ ÆÐÄ¡¸¦ °íÃÆ´Ù.


  1.1.7.  v1.6

  Added TenThumbs' Netscape enabler.


  ¶ÇÇÑ ±×ÀÇ Á¦¾ÈÀ¸·Î lesspipe.sh¸¦ º¯°æÇß´Ù.  Áö±Ýº¸´Ù ÈÇ¸¢ÇÏ°Ô ÀÛµ¿ÇÒ
  °ÍÀÌ´Ù.


  1.1.8.  v1.5

  Arnaud LaunayÀÇ ÇÁ¶û½º¾î ¹ø¿ª, ±×¸®°í ±×ÀÇ wu-ftpd ÆÄÀÏÀÌ Ãß°¡µÇ¾ú´Ù.


  1.1.9.  v1.4

  Tetsu IsajiÀÇ ÀÏº» ¹ø¿ªÀÌ Ãß°¡µÇ¾ú´Ù.


  1.1.10.  v1.3

  Ulrik DickowÀÇ 19.30¿Í ´õ ³ôÀº ¼öÁØÀÇ .emacs°¡ Ãß°¡µÇ¾ú´Ù.


  (¶ÇÇÑ ±×ÀÇ Á¦¾ÈÀ¸·Î emacsÀÇ jka-compr.elÆÐÄ¡°¡ Á¤Á¤µÇ¾ú´Ù. ÀÌ·±!
  Bzip2ÀÇ ±â°¡ ¾ÆÁ÷(?) ¾ø±º.)


  1.1.11.  v1.2

  EmacsÀÇ ÆÐÄ¡°¡ º¯°æµÇ¾î¼­ ÀÚµ¿ÀûÀ¸·Î .bz2 ÆÄÀÏµéÀ» ÀÎ½ÄÇÑ´Ù.


  1.1.12.  v1.1

  EmacsÀÇ ÆÐÄ¡°¡ Ãß°¡µÇ¾ú´Ù.


  1.1.13.  v1.0

  ¶ó¿îµå 1.

  2.  Bzip2 ¾ò±â

  Bzip2ÀÇ È¨ÆäÀÌÁö´Â ¿µ±¹ È¨ »çÀÌÆ® <http://www.bzip2.org/>.
  ¹Ì±¹ ¹Ì·¯»çÀÌÆ® <http://www.digistar.com/bzip2/index.html>.


  2.1.  ´ç½ÅÀÇ ¾ð¾îÀÇ bzip2-HOWTO

  ÇÁ¶û½ºÀÎµéÀº ¾Æ¸¶ Arnaud LaunayÀÇ ÇÁ¶û½º ¹®¼­¸¦ Âü°íÇÏ±â¸¦ ¹Ù¶ö °ÍÀÌ´Ù.
  À¥ ¹öÀü <http://www.freenix.fr/linux/HOWTO/mini/Bzip2.html>, ±×¸®°í
  ftp <ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO/mini/Bzip2.gz>
  Arnaud¿Í ÀüÀÚ¸ÞÀÏ·Î ¿¬¶ôÇÒ ¼ö ÀÖ´Ù. ¸ÞÀÏ ÁÖ¼Ò´Â <mailto:zoro@mygale.org>


  ÀÏº»ÀÎµéÀº ¾Æ¸¶ Tetsu IsajiÀÇ ÀÏº» ¹®¼­¸¦ ÂüÁ¶ÇÏ±â¸¦ ¹Ù¶ö °ÍÀÌ´Ù.
  <http://jf.gee.kyoto-u.ac.jp/JF/JF.html>.  Isaji¿Í È¨ÆäÀÌÁö <http://ww
  w2s.biglobe.ne.jp/~kaien/>¿¡¼­ ¿¬¶ôÇÒ¼ö ÀÖ°í, È¤Àº ÀüÀÚ¸ÞÀÏ·Î ÇÒ¼öÀÖ´Ù.
  <mailto:isaji@mxu.meshnet.or.jp>


  ½º¿þµ§ÀÎµéÀº ¾Æ¸¶ Linus AkerlundÀÇ ½º¿þµ§ ¹®¼­¸¦ ÂüÁ¶ÇÏ±â¸¦ ¹Ù¶ö °ÍÀÌ
  ´Ù <http://user.tninet.se/~uxm165t/linux_doc.html>.  Linus¿Í ÀüÀÚ¸ÞÀÏ
  ·Î ¿¬¶ôÇÒ¼ö ÀÖ´Ù. <mailto:uxm165t@tninet.se>


  2.2.  ÄÄÆÄÀÏµÇÁö ¾ÊÀº bzip2 ¹ÙÀÌ³Ê¸® ¾ò±â

  È¨ »çÀÌÆ®¸¦ ºÁ¶ó.


  2.3.  bzip2 ¼Ò½º ¾ò±â

  ±×°ÍµéÀº °ø½ÄÀûÀÎ »çÀÌÆ®·ÎºÎÅÍ ¿Ô´Ù (``Bzip2 ¾ò±â''¸¦ ºÁ¶ó.


  2.4.  ´ç½ÅÀÇ ÄÄÇ»ÅÍ·Î bzip2 ÄÄÆÄÀÏÇÏ±â

  ¸¸¾à ´ç½ÅÀÌ gcc 2.7.*À» °¡Áö°í ÀÖÀ¸¸é, ÀÐÀº ¶óÀÎÀ» ¹Ù²ã¶ó


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

  À¸·Î


       CFLAGS = -O2 -fomit-frame-pointer

  -O3 °ú -O2¸¦ ¹Ù²Ù°í -funroll-loops¸¦ ³Ö´Â´Ù. Ä¿³Î ÄÄÆÄÀÏÇÒ¶§ ´ç½ÅÀº ¾Æ
  ¸¶ ¾î¶°ÇÑ -m* ÇÃ·¡±×¸¦(¿¹¸¦µé¾î, -m486) Ãß°¡ÇÏ±æ ¿øÇÒ °ÍÀÌ´Ù.

  -funroll-loops¸¦ ÇÇÇÏ´Â °ÍÀº Á¦ÀÏ Áß¿äÇÑ ºÎºÐÀÌ°í, gcc 2.7ÀÇ Àß¸øµÈ ÄÚ
  µå¸¦ »ý¼ºÇÏ´Â ¸¹Àº ¿øÀÎÀÌ µÇ°í, gcc 2.7ÀÇ ÄÚµå°¡ ´õ ´À¸®°í ´õ Ä¿Áö±â
  ¶§¹®ÀÌ´Ù.  ´Ù¸¥ ÄÄÆÄÀÏ·¯µé (lcc, egcs, gcc 2.8.x)À» À§ÇØ µðÆúÆ® CFLAGS
  °¡ ÁÁ´Ù.

  ±× ÈÄ, README´ë·Î ¹Ù·Î ±×°ÍÀ» ¸¸µé°í ¼³Ä¡ÇØ¶ó.


  3.  Bzip2¸¦ ±× °ÍÀ¸·Î »ç¿ëÇÏ±â

  ÁÁÀº ¸Þ´º¾ó ÆäÀÌÁö¸¦ ÀÐ¾îºÁ¶ó :)


  4.  Bzip2¸¦ tar°ú °°ÀÌ ¾²±â.

  ¹Ù²Ù¾î ¸»ÇÏ¸é bzip2¸¦ tar°ú °°ÀÌ ¾²´Â ¼¼°¡Áö ¹æ¹ýÀÌ ¹Ø¿¡ ¸®½ºÆ® µÈ´Ù.

  4.1.  ¼³Ä¡ÇÏ´Â°ÍÀº °¡Àå ½±´Ù:

  ÀÌ ¹æ¹ýÀº ÀüÇô ¼³Ä¡°¡ ÇÊ¿äÇÏÁö ¾Ê´Ù.  To un-tar the bzip2'd tar
  archive, foo.tar.bz2 in the current directory, do


       /path/to/bzip2 -cd foo.tar.bz2 | tar xf -

  ¶Ç´Â


       tar --use-compress-prog=bzip2 xf foo.tar.bz2

  ÀÌ ÀÏ, ±×·¯³ª but can be a PITA to type often.


  4.2.  ¼³Ä¡ÇÏ´Â °ÍÀº ½±°í, ÀûÀýÇÏ°Ô »ç¿ëÇÏ´Â°ÍÀº ½±°í, rootÀÇ Æ¯±ÇÀÌ ÇÊ¿äÇÏÁö ¾Ê´Ù:

  ÆÁ¿¡ ´ëÇØ Leonard Jean-Marc <mailto:leonard@sct1.is.belgacom.be>¿¡°Ô
  °¨»çÇÑ´Ù.  csh¿Í bash ±¸º°ÀÌ »ý±â´Â °Í¿¡ ´ëÇØ Alessandro Rubini
  <mailto:rubini@morgana.systemy.it> ¿¡°Ô ¿ª½Ã °¨»çÇÑ´Ù.


  ´ç½ÅÀÇ .bashrc, ÀÌ°Í°ú °°Àº ¶óÀÎÀ» ³Ö¾î¶ó:


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

  ´ç½ÅÀÇ .tcshrc, ¶Ç´Â .cshrc, ÀÌ°Í°ú À¯»çÇÏ°Ô º¸ÀÌ´Â ¶óÀÎ:


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

  4.3.  ¾²´Â°Í ¶ÇÇÑ ½±´Ù, ±×·¯³ª ·çÆ®ÀÇ Á¢±ÙÀÌ ÇÊ¿ä¾ø´Ù.

  ´ç½ÅÀÇ tarÀ» GNUÀÇ °¡Àå »õ·Î¿î ¹öÀüÀ¸·Î °»½ÅÇØ¶ó, ÇöÀç´Â 1.13.10ÀÌ´Ù.
  ±×°ÍÀº GNUÀÇ ftp »çÀÌÆ® <ftp://alpha.gnu.org/gnu/tar/>¿¡¼­ Ã£À» ¼ö ÀÖ´Ù ¶ÇÇÑ
  ¾î¶² ¹Ì·¯.
  5.  Bzip2¸¦ less¿Í °°ÀÌ ¾²±â

  To uncompress bzip2'd files on the fly, i.e. to be able to use "less"
  on them without first bunzip2'ing them, you can make a lesspipe.sh
  (man less) like this:

  #!/bin/sh
  # This is a preprocessor for 'less'.  It is used when this environment
  # variable is set:   LESSOPEN="|lesspipe.sh %s"

    case "$1" in
    *.tar) tar tvvf $1 2>/dev/null ;; # View contents of various tar'd files
    *.tgz) tar tzvvf $1 2>/dev/null ;;
  # This one work for the unmodified version of tar:
    *.tar.bz2) bzip2 -cd $1 $1 2>/dev/null | tar tvvf - ;;
  #This one works with the patched version of tar:
  # *.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 ;; # View compressed files correctly
    *.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) FILE=`file -L $1` ; # groff src
      FILE=`echo $FILE | cut -d ' ' -f 2`
      if [ "$FILE" = "troff" ]; then
        groff -s -p -t -e -Tascii -mandoc $1
      fi ;;
    *) cat $1 2>/dev/null ;;
  #  *) FILE=`file -L $1` ; # Check to see if binary, if so -- view with 'strings'
  #    FILE1=`echo $FILE | cut -d ' ' -f 2`
  #    FILE2=`echo $FILE | cut -d ' ' -f 3`
  #    if [ "$FILE1" = "Linux/i386" -o "$FILE2" = "Linux/i386" \
  #         -o "$FILE1" = "ELF" -o "$FILE2" = "ELF" ]; then
  #      strings $1
  #    fi ;;
    esac

  6.  Bzip2¸¦ emacs¿Í °°ÀÌ ¾²±â

  6.1.  ¸ðµÎ¸¦ À§ÇØ emacs¸¦ ¹Ù²Ù±â:

  ³ª´Â ÀÚµ¿¾ÐÃà¸ðµå¸¦ Ãß°¡ÇÑ jka-compr.elÆÐÄ¡¿¡ µû¶ó ½è´Ù.

  ºÎÀÎ¼­: ³ª´Â emacs-20.0¿¡¼­¸¸ Å×½ºÆ®¸¦ ÇØºÃ´Ù, ±×·¯³ª ´Ù¸¥ ¹öÀü¿¡ ºñ½Á
  ÇÏ°Ô Á¢±ÙÇÏÁö ¸øÇÑ´Ù°í ¹ÏÀ» ÀÌÀ¯°¡ ¾ø´Ù.

  ÀÌ °ÍÀ» ½á¶ó,

  1. emacs-20.2/lisp ¼Ò½º µð·ºÅä¸®¿¡ °¡¶ó (wherever you untarred it)

  2. jka-compr.el.diffºÎ¸¥ ÆÄÀÏÀÇ ¾Æ·¡¿¡ ÆÐÄ¡¸¦ ³õ¾Æ¶ó  (±× °ÍÀº Àú ÆÄÀÏ
  ¿¡ ´Üµ¶À¸·Î ÀÖ¾î¾ßÇÑ´Ù ;).

  3. ÇØ¶ó

   patch < jka-compr.el.diff

  4. emacs¸¦ ½ÃÀÛÇØ¶ó, ±×¸®°í ÇØ¶ó


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

  5. emacs¸¦ Á¾·áÇØ¶ó.

  6. ´ç½ÅÀÇ ÃÖÃÊÀÇ jka-compr.elc¸¦ ¹ö±×ÀÇ ÄÉÀÌ½º¾ÈÀÇ ¾ÈÀüÇÑ °÷À¸·Î ¿Å°Ü¶ó.

  7. »õ·Î¿î jka-compr.elc¿Í ±× °ÍÀ» ¹Ù²ã¶ó.

  8. Áñ°Ü¶ó!


     --- 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")

  6.2.  ÇÑ »ç¶÷À» À§ÇØ emacs¸¦ ¹Ù²Ù±â:

  Thanks for this one go to Ulrik Dickow, ukd@kampsax.dk
  <mailto:ukdATkampsax.dk>, Kampsax Technology¿¡ ÀÖ´Â ½Ã½ºÅÛ ÇÁ·Î±×·¡¸Ó:

  ´ç½ÅÀÌ ½Ã½ºÅÛ°ü¸®ÀÚ°¡ ¾Æ´Ò¶§ ±×°ÍÀ» ¸¸µé¸é bzip2¸¦ ÀÚµ¿ÀûÀ¸·Î ¾µ ¼ö ÀÖ´Ù.
  ,  ´ç½ÅÀÇ .emacs ÆÄÀÏ´ÙÀ½¿¡ Áö±Ý Ãß°¡ÇØ¶ó.
  ;; Automatic (un)compression on loading/saving files (gzip(1) and similar)
  ;; We start it in the off state, so that bzip2(1) support can be added.
  ;; Code thrown together by Ulrik Dickow for ~/.emacs with Emacs 19.34.
  ;; Should work with many older and newer Emacsen too.  No warranty though.
  ;;
  (if (fboundp 'auto-compression-mode) ; Emacs 19.30+
      (auto-compression-mode 0)
    (require 'jka-compr)
    (toggle-auto-compression 0))
  ;; Now add bzip2 support and turn auto compression back on.
  (add-to-list 'jka-compr-compression-info-list
               ["\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'"
                "zipping"        "bzip2"         ()
                "unzipping"      "bzip2"         ("-d")
                nil t])
  (toggle-auto-compression 1 t)

  7.  Bzip2¸¦ wu-ftpd¿Í °°ÀÌ ¾²±â

  Arnaud Launay¿¡°Ô ÀÌ bandwidth ¼¼ÀÌ¹ö¿¡ ´ëÇØ °¨»çÇÑ´Ù. The following
  should go in /etc/ftpconversions to do on-the-fly compressions and
  decompressions with bzip2. Make sure that the paths (like
  /bin/compress) are right.


   :.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 -y -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+BZIP2

  8.  Bzip2¸¦ grep¿Í °°ÀÌ ¾²±â

  The following utility, which I call bgrep, is a slight modification of
  the zgrep which comes with Linux.  You can use it to grep through
  files without bunzip2'ing them first.

  #!/bin/sh

  # bgrep -- a wrapper around a grep program that decompresses files as needed
  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 is buggy with -e on 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 through bzip2 files"
    echo "usage: $prog [grep_options] pattern [files]"
    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


  9.  Bzip2¸¦ XÀÇ Netscape¿Í °°ÀÌ ¾²±â.

  tenthumbs@cybernex.net says:


       I also found a way to get Linux Netscape to use bzip2 for Content-
       Encoding just as it uses gzip. Add this to $HOME/.Xdefaults or
       $HOME/.Xresources

       I use the -s option because I would rather trade some decompressing
       speed for RAM usage. You can leave the option out if you want to.

  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

  10.  Bzip2·Î ´Ù¸¥ ¾ÐÃà Çü½ÄÀ¸·Î ´Ù½Ã ¾ÐÃàÇÏ±â

  The following perl program takes files compressed in other formats
  (.tar.gz, .tgz. .tar.Z, and .Z for this iteration) and repacks them
  for better compression.  The perl source has all kinds of neat
  documentation on what it does and how it does what it does.  This
  latest version takes files as input on the command line.  Without
  command line arguments, it tries to repack every file in the current
  working directory.

  #!/usr/bin/perl -w

  #######################################################
  #                                                     #
  # This program takes compressed and gzipped programs  #
  # in the current directory and turns them into bzip2  #
  # format.  It handles the .tgz extension in a         #
  # reasonable way, producing a .tar.bz2 file.          #
  #                                                     #
  #######################################################
  $counter = 0;
  $saved_bytes = 0;
  $totals_file = '/tmp/machine_bzip2_total';
  $machine_bzip2_total = 0;

  @raw = (defined @ARGV)?@ARGV:<*>;

  foreach(@raw) {
      next if /^bzip/;
      next unless /\.(tgz|gz|Z)$/;
      push @files, $_;
  }
  $total = scalar(@files);

  foreach (@files) {
      if (/tgz$/) {
          ($new=$_) =~ s/tgz$/tar.bz2/;
      } else {
          ($new=$_) =~ s/\.g?z$/.bz2/i;
      }
      $orig_size = (stat $_)[7];
      ++$counter;
      print "Repacking $_ ($counter/$total)...\n";
      if ((system "gzip -cd $_ |bzip2 >$new") == 0) {
          $new_size = (stat $new)[7];
          $factor = int(100*$new_size/$orig_size+.5);
          $saved_bytes += $orig_size-$new_size;
          print "$new is about $factor% of the size of $_. :",($factor<100)?')':'(',"\n";
          unlink $_;
      } else {
          print "Arrgghh!  Something happened to $_: $!\n";
      }
  }
  print "You've "
      , ($saved_bytes>=0)?"saved ":"lost "
      , abs($saved_bytes)
      , " bytes of storage space :"
      , ($saved_bytes>=0)?")":"("
      , "\n"
      ;

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


  chomp($machine_bzip2_total = `cat $totals_file`);
  open TOTAL, ">$totals_file"
       or die "Can't open system-wide total: $!";
  $machine_bzip2_total += $saved_bytes;
  print TOTAL $machine_bzip2_total;
  close TOTAL;

  print "That's a machine-wide total of ",`cat $totals_file`," bytes saved.\n";

