Bzip2和gzip只使用一个核心,尽管许多计算机有多个核心。但也有像lbzip2、pbzip2和pigz这样的程序,它们使用所有可用的内核,并承诺与bzip2和gzip兼容。
那么,默认情况下使用这些程序的最佳方法是什么,以便tar cfa file.tar.bz2 directory
使用lbzip2 2/pbzip2 2而不是bzip2?我当然不想破坏任何东西。
发布于 2011-09-22 21:08:58
您可以将bzip2、bunzip2和bzcat符号链接到lbzip2,并将gzip、gunzip、gzcat和zcat链接到pigz:
sudo apt-get install lbzip2 pigz
cd /usr/local/bin
ln -s /usr/bin/lbzip2 bzip2
ln -s /usr/bin/lbzip2 bunzip2
ln -s /usr/bin/lbzip2 bzcat
ln -s /usr/bin/pigz gzip
ln -s /usr/bin/pigz gunzip
ln -s /usr/bin/pigz gzcat
ln -s /usr/bin/pigz zcat
我选择lbzip2而不是pbzip2,因为/usr/pbzip2/doc/lbzip2 2/rEADME.gz看起来比/usr/share/doc/pbzip2 2/README.gz“更好”。此外,焦油手册谈lbzip2 2。
编辑:
pigz-2.1.6包含在精确的“穿山甲”中,它拒绝解压缩后缀未知的文件(例如initramfs-*..img)。这是固定在pigz-2.2.4,它的船与泉塔尔。因此,您可能希望等到全域,手动安装量子包,或者还没有链接gunzip/gzcat/zcat。
发布于 2011-09-27 07:45:45
这个符号链接的想法真的很好。
另一个可行的解决方案是别名tar
:
alias tar='tar --use-compress-program=pbzip2'
或分别
alias tar='tar --use-compress-program=pigz'
它创建了另一种默认。
发布于 2013-04-30 13:06:34
符号链接答案确实是不正确的。它将将整个系统的默认gzip (或bzip2)替换为pigz (或pbzip2)。虽然并行实现与单个流程版本非常相似,但命令行选项的细微差异可能会破坏依赖这些差异的核心系统进程。
--use-compress-program
选项是一个更好的选择。
第二个选项(很像别名)是设置GNU支持的TAR_OPTIONS环境变量:
export TAR_OPTIONS="--use-compress-program=pbzip2"
tar czf myfile.tar.bz2 mysubdir/
https://askubuntu.com/questions/62607
复制相似问题