如何使用p7zip打开RAR文件?

如何使用p7zip打开RAR文件?

这是一个更具体的问题如何在linux中打开rar文件(2015年问过)在撰写本文时,还没有关于 p7zip 打开 RAR 文件的详细答案。

p7zip 本质上是 Linux 上的 7-zip 存档管理器,但不包括图形界面。 p7zip 应该能够像 7-zip 一样打开 RAR 文件,但是某些最近下载的 RAR 文件无法使用 p7zip 打开。 RAR 文件本身肯定没有损坏。

该问题可能涵盖以下子问题(不带问号,以免与主要问题混淆),这些子问题与解释操作方法相关:

  • p7zip真的支持RAR格式吗
  • 要为 p7zip 安装哪个软件包以支持 RAR 格式,以及哪个存储库将提供该软件包
  • 7z、7za 或 7zr 中的哪个二进制文件可以打开 RAR 文件
  • p7zip可以通过图形界面打开RAR文件吗
  • 使用 p7zip 打开 RAR 文件时,命令失败,并显示消息“Error: Can not open file as archive”,那么如何解决

那么如何使用p7zip打开RAR文件呢?

这是一个自我回答像新问题一样编写的问题,是根据中的讨论创建的这个元帖子。如果有多个答案,最准确和最完整的答案将在一段时间后(不是立即)被接受。

答案1

p7zip 是 7-Zip 的 Unix 命令行端口,支持多种格式。 p7zip 仅支持 RAR 格式用于解包或提取。用户可以下载二进制文件和源代码或安装 Linux 发行版和其他支持的系统提供的软件包。

借助二进制文件和源代码,p7zip 可在单个下载文件中获取,该文件可以处理所有支持的格式,并且安装是可选的。这意味着只要 Linux 上的本机存档管理器提取下载文件 (tar.bz2),就可以运行命令行工具。

对于这些软件包,p7zip 将需要单独的软件包来处理所有支持的格式,并且需要安装。对于 Debian(和 Ubuntu),p7zip 在存储库中提供了三个不同的软件包。确保首先启用并更新主存储库和非自由存储库(或 Ubuntu 的 Universe 和 Multiverse 存储库)。

安装所需的包“p7zip-rar”,该包还将包含“p7zip-full”作为包依赖项之一;另一个包“p7zip”是不需要根本不。

sudo apt-get install p7zip-rar

然后运行7z命令解压RAR文件。

7z x filename.rar

简短说明:p7zip提供7zr只能处理 7z 档案的命令。p7zip-完整提供7z可以处理更多支持格式的命令p7zip-rar需要7z处理 RAR 档案。

请注意以下用例:

  • 7zr命令7za将不起作用,只有7z命令才能处理 RAR 格式。ArchWiki 上的 p7zip注意到 7z、7za 和 7zr 二进制文件之间的区别。
  • 7z可以与任何受支持的图形文件存档器一起使用,包括文件滚筒,方舟,xarchiver,恩格拉帕。只需安装受支持的存档管理器之一即可通过图形界面使用 p7zip,无需进一步配置。
  • 较新版本的 RAR 文件(尤其是 RAR 版本 5)应使用较新版本的 p7zip(至少 16.02)解压或提取,否则 p7zip 将返回错误并无法打开文件。

p7zip (9.20) 的示例输出无法测试打开 RAR 文件 (Rar5):

$ 7z t sample.rar 

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,1 CPU)

Processing archive: sample.rar

Error: Can not open file as archive

p7zip (16.02) 成功测试打开 RAR 文件 (Rar5) 的示例输出:

$ p7zip_16.02/bin/7z t sample.rar 

7-Zip [32] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,32 bits,1 CPU Intel(R) Celeron(R) M processor         1.60GHz (6D8),ASM)

Scanning the drive for archives:
1 file, 483579957 bytes (462 MiB)

Testing archive: sample.rar
--
Path = sample.rar
Type = Rar5
Physical Size = 483579957
Solid = -
Blocks = 5
Encrypted = -
Multivolume = -
Volumes = 1

Everything is Ok

Files: 5
Size:       498584235
Compressed: 483579957

p7zip (16.02) 的后一个输出包含Type = Rar5指示 RAR 版本 5 的行。该file命令可能包含类似但人类可读性较差的 RAR 版本信息。

$ file *.rar 
sample4.rar: RAR archive data, v1d, os: Unix
sample.rar:  RAR archive data, va6, flags: Archive volume, Commented, Locked, os: Unix

请注意,默认情况下,较旧的 RAR 文件 (Rar) 已包含在内v1d,而较新的 RAR 文件 (Rar5) 已包含va6在每个文件的描述中。截至此答复日期,尚无相关信息可确定文件描述是否对应于 RAR 版本。

长话短说p7zip 可以打开 RAR 文件,前提是使用包 (p7zip-rar)、命令 (7z) 和较新的版本(支持 Rar5 的 16.02+)来处理 RAR 格式。


回答者备注:这个自我回答——大约 18 个月后——将被接受并制作为社区 wiki。如果有任何缺失的信息,任何具有最低声誉的人都可以进行编辑以使此答案更加完整。

相关内容