最近因为一些起因,要在不连外网的服务器下面操作 .tar.Z
格局的压缩文件。这个格局是基于 LZW 压缩的,而且相对来说很是古老,所以比拟新的零碎上的常用命令都曾经不反对这个格局了(比方 gzip
)。
想要操作这个格局,就须要借助 ncompress
这个包。如果联网,间接
sudo apt update
sudo apt install ncompress
就完事了。但问题是当初不能联网,所以就只能找到它的官网,而后手动装置了。
ncompress 的 GitHub 链接是:https://github.com/vapier/nco…
进入之后,不要下载 release 版,而是间接将整个仓库下载下来。
而后用 scp、sftp 之类的形式传到服务器上,解压缩之后进入其目录,并运行 build
文件(不须要运行 make
之类。这些性能全都集成在了 build
中):
cd ncompress-main
sudo sh build
进入之后就能看到其装置菜单。默认的装置门路在最下面的 1 中能够看到。留神,这个装置工具比拟蠢。如果装置门路对应的目录不存在,会间接失败。所以须要咱们手动创立这些目录:
sudo mkdir -p /usr/local/man/man1
sudo mkdir -p /usr/man/man1
而后就能够在 build
中执行 c
(compile)和 i
(install)来进行装置了。
装置好了之后,能够用 export
指令将当前目录增加到 PATH
中,从而在别处也可能调用指令(留神这里增加的是 compress
文件所在的目录,而不是它自身的门路,以及这里要写绝对路径):
export PATH=$PATH:/path/to/current/dir
想要再下次启动的时候也可能间接应用,能够将这段指令增加到 ~/.bashrc
中。
而后就能够测试成果了:
# 间接生成 .Z 文件
compress file
uncompress file.Z
# 生成 .tar.Z 文件
tar Zcvf output.tar.Z file_to_compress
tar Zxvf output.tar.Z
没有 sudo 权限
如果没有管理员权限,那么能够批改装置目录到本人的 home 下,比方:
~/local/man/man1
~/man/man1
别忘了本人去 mkdir
一下。而后再次运行 build,先选 1
,批改装置门路,而后再装置即可。
注:批改过的参数会保留在 build
文件同目录下的 compress.def
中。