📄 bzip2-4.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>Bzip2 Howto: 配合 tar来使用 bzip2</TITLE>
<LINK HREF="Bzip2-5.html" REL=next>
<LINK HREF="Bzip2-3.html" REL=previous>
<LINK HREF="Bzip2.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="Bzip2-5.html">Next</A>
<A HREF="Bzip2-3.html">Previous</A>
<A HREF="Bzip2.html#toc4">Contents</A>
<HR>
<H2><A NAME="bzip2-with-tar"></A> <A NAME="s4">4. 配合 tar来使用 bzip2</A></H2>
<P>下面有三种配合 tar 使用 bzip2 的方法,也就是
<H2><A NAME="ss4.1">4.1 容易设立:</A>
</H2>
<P>这个方法跟本就不必做设定。执行解开bzip2'd 的 tar包裹,
在现行目录底下有个 foo.tar.bz2,执行
<BLOCKQUOTE><CODE>
<PRE>
/path/to/bzip2 -cd foo.tar.bz2 | tar xf -
</PRE>
</CODE></BLOCKQUOTE>
<P>成功了,但可能有常需输入的小缺点。
<P>
<H2><A NAME="ss4.2">4.2 容易设立,容易使用,不需要 root 的特权:</A>
</H2>
<P> 感谢
<A HREF="mailto:leonard@sct1.is.belgacom.be">Leonard Jean-Marc</A> 贡献这个小技巧。也谢谢
<A HREF="mailto:rubini@morgana.systemy.it">Alessandro Rubini</A> 从 csh□分类
出 bash 的。
<P>
<P>在你的 .bashrc□,你可以加入像下面这行:
<BLOCKQUOTE><CODE>
<PRE>
alias btar='tar --use-compress-program /usr/local/bin/bzip2 '
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>在你的 .tcshrc 或 .cshrc□,可用下面这行相同的:
<BLOCKQUOTE><CODE>
<PRE>
alias btar 'tar --use-compress-program /usr/local/bin/bzip2'
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="ss4.3">4.3 同样是容易使用,但需要 root 来存取。</A>
</H2>
<P>用下面来方法来修补 gnu tar 1.12:
<BLOCKQUOTE><CODE>
<PRE>
cd tar-1.12/src; patch < /path/to/tar.diff
</PRE>
</CODE></BLOCKQUOTE>
编译、安装它,你已准备就绪了。用"which tar" 和 "which bzip2"来确认这两个
tar 和 bzip2 有在你的 $PATH □。要使用新的 tar,只需
<BLOCKQUOTE><CODE>
<PRE>
tar xyf foo.tar.bz2
</PRE>
</CODE></BLOCKQUOTE>
来压缩档案。
<P>要制作新的压缩档,同样地:
<BLOCKQUOTE><CODE>
<PRE>
tar cyf foo.tar.bz2 档名1 档名2 档名3...目录1 目录2...
</PRE>
</CODE></BLOCKQUOTE>
<P>下面是修补的地方:
<PRE>
*** 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':
</PRE>
<P>
<HR>
<A HREF="Bzip2-5.html">Next</A>
<A HREF="Bzip2-3.html">Previous</A>
<A HREF="Bzip2.html#toc4">Contents</A>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -