Linux下7z压缩解压软件区别

最近需要在 Ubuntu下用 7z 来压缩点东西,发现 Ubuntu 默认没有安装 7z 可执行程序,So 自己 apt 一个。

搜索发现 7z 有三个安装包,分别是:p7zip,p7zip-full,p7zip-rar。

三个安装包的区别是:

  • p7zip:包含 7zr(最小的7zip归档工具),仅仅只能处理原生的 7z 格式。

  • p7zip-full:包含7z,支持 7z、LZMA2、XZ、ZIP、CAB、GZIP、BZIP2、ARJ、TAR、CPIO、RPM、ISO 和 DEB 格式。

  • p7zip-rar:提供了对 RAR 格式的支持。

再次搜索发现,p7zip 应该是 7z 官方维护支持的版本,只不过是由独立的开发人员来维护,在 7z 官方主页可以找到以下链接:

Download p7zip for Linux (Posix) (x86 binaries and source code):

Download p7zip
p7zip at SourceForge

p7zip is the command line version of 7-Zip for Linux / Unix, made by an independent developer.

往下看可以发现非官方包的链接,由非官方人员维护的 p7zip-full :

Some unofficial p7zip packages for Linux and other systems:

p7zip-rar 和 p7zip-full 一样,都是在 Debian 软件源里,链接在此

如果只是需要压缩解压 7z 格式的文件,选择第一个安装就好了。

如果是有多种压缩解压格式需求,需要选择安装第二个。

如果有 RAR 格式压缩解压的需求,需要安装第三个。

1
2
3
sudo apt install p7zip
sudo apt install p7zip-full
sudo apt install p7zip-rar

不同的可执行文件

三个包都安装好以后发现一个问题,有好几种 7z 的可执行文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
root@JD:/home/ubuntu# find / -name 7z*
/usr/bin/7zr
/usr/bin/7za
/usr/bin/7z
/usr/lib/p7zip/7z.so
/usr/lib/p7zip/7zr
/usr/lib/p7zip/7zCon.sfx
/usr/lib/p7zip/7za
/usr/lib/p7zip/7z
/usr/share/doc/xz-utils/extra/7z2lzma
/usr/share/doc/xz-utils/extra/7z2lzma/7z2lzma.bash
/usr/share/doc/p7zip/DOCS/7zFormat.txt.gz
/usr/share/doc/p7zip/DOCS/7zC.txt.gz
/usr/share/doc/p7zip-full/DOCS/7zFormat.txt.gz
/usr/share/doc/p7zip-full/DOCS/7zC.txt.gz
/usr/share/man/man1/7za.1.gz
/usr/share/man/man1/7z.1.gz
/usr/share/man/man1/7zr.1.gz
root@JD:/home/ubuntu#

通过上述内容可知一共三种可执行文件:7z,7za,7zr。

通过搜索发现这三个文件是有区别的:

  • 7z 使用插件处理格式文件。
  • 7za 是独立可执行的。 7za 可以不需要其它任何插件的处理较少格式而不像 7z。
  • 7zr 是独立可执行的。 7zr 可以不需要其它任何插件的处理较少格式而不像 7z。 7zr是一个轻量级的 7za 只用来解压7z 格式的文件。

参考链接:

https://zhuanlan.zhihu.com/p/65791205

https://wiki.archlinux.org/index.php/P7zip_(简体中文)

本文章首发于个人博客 LLLibra146’s blog
本文作者:LLLibra146
版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!
本文链接https://blog.d77.xyz/archives/4744f068.html