Web Analytics
Privacy Policy Cookie Policy Terms and Conditions Bzip2 Howto: Menggunakan Bzip2 Bersama dengan Tar Next Previous Contents

4. Menggunakan Bzip2 Bersama dengan Tar

Daftar dibawah ini adalah tiga cara untuk menggunakan bzip2 bersama dengan tar.

4.1 Paling mudah untuk di set up:

Cara ini tidak menggunakan setup sama sekali. Untuk meng-un-tar bzip2 dengan tar archive, foo.tar.bz2 pada direktori aktif, lakukan

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

Cara ini bekerja dengan baik, tapi dapat menjadi PITA untuk mengetikkannya.

4.2 Mudah untuk men-setup, cukup mudah untuk digunakan, tidak membutuhkan hak istimewa root:

Terima kasih pada Leonard Jean-Marc atas tipnya. Terima kasih juga pada Alessandro Rubini untuk membedakan bash dengan csh-nya.

Di file .bashrc Anda, dapat ditambahkan baris seperti ini:

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

di file .tcshrc, atau .cshrc Anda, tambahkan baris seperti ini:

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

4.3 Juga mudah digunakan, tapi membutuhkan akses root.

Aplikasikan patch di bawah ini pada gnu tar 1.12 sebagai berikut:

cd tar-1.12/src; patch < /path/to/tar.diff
kompile, dan install, dan Anda siap untuk mulai menggunakannya. Pastikan bahwa keduanya tar dan bzip2 di dalam $PATH Anda dengan "which tar" and "which bzip2." Untuk menggunakan tar yang baru tersebut, lakukan
 tar xyf foo.tar.bz2
untuk men-decompress file tersebut.

Untuk membuat archive baru, seperti yang dicontohkan berikut ini:

 tar cyf foo.tar.bz2 file1 file2 file3...directory1 directory2...

Dan inilah patch-nya:

*** 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':


Next Previous Contents