最近因为一些原因,要在不连外网的服务器上面操作 .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
中。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。