[Application] Tip: 强制xz使用多线程

——来自Anthony Lee的hint,用她的话来说就是一个wrapper

如果是单独使用xz命令的话可以后面加option,–threads=num

但是xz命令只能用来压缩文件,如果要打包压缩文件夹的话,只能用tar命令

tar命令又不能直接给xz指定参数

所以我们提前强行指定好了w

我使用的是CentOS 7, 其他系统同理,都是重命名xz然后新建一个xz

把xz执行文件重命名成xz.exe

mv /usr/bin/xz /usr/bin/xz.exe

新建/编辑xz文件

vim /usr/bin/xz

键入内容:

#! /bin/bash

xz.exe --threads=0 "$@"

--threads=0就是尽可能多的使用CPU

当然也可以加其他的命令,比如说--extreme

#! /bin/bash

xz.exe --threads=0 --extreme "$@"

保存后给予其执行权限

chmod +x /usr/bin/xz

 

//注意在修改过后,解压xz文件将不可用,因为unxz是一个软连接到xz的,启动时会检查自身的argv0来决定自己的默认行为,然而。。。所以要用unxz时把它改回去吧

//后记:在Google xz compression multi process的时候遇到过一个答案,是提前export XZ_OPT="--threads=0",但是在我这里并不管用,大家可以试一下倒是=。=


by

Tags: