Här kommer tre sätt att använda bzip2 med tar:
Denna metod kräver ingen konfigurering alls. För att packa upp det bzip2-ade tar-arkivet foo.tar.bz i den aktuella katalogen, skriv
/path/to/bzip2 -cd foo.tar.bz2 | tar xf -
Detta fungerar, men det kan vara jobbigt att behöva göra det ofta.
Tack till Leonard Jean-Marc för tipset.
Lägg in en rad som denna i din .bashrc (eller .tcshrc eller .cshrc):
alias btar='tar --use-compress-program /usr/local/bin/bzip2 '
Also easy to use, but needs root access.
Lägg till patchen nedan till gnu tar 1.12 enligt följande metod:
cd tar-1.12/src; patch < /sökväg/till/tar.diff
Kompilera och installera det och sedan är det bara att köra. Se efter
så att både tar och bzip2 finns i din $PATH genom "which tar" och
"which bzip2". För att använda det nya tar, skriv bara
tar xyf foo.tar.bz2
för att packa upp filen.
Att skapa ett nytt arkiv går till på ett liknande sätt:
tar cyf foo.tar.bz2 fil1 fil2 fil3...katalog1 katalog2...
Här är patchen:
*** 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, _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':