Rar

如何使用 p7zip 打開 RAR 文件?

  • December 12, 2020

這是一個更具體的問題,即如何在 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 文件時,命令失敗並顯示消息“錯誤:無法打開文件作為存檔”,那麼如何解決

那麼如何使用p7zip打開RAR文件呢?

這是一個像新問題一樣編寫的自我回答問題,它是基於此元文章中的討論創建的。如果有多個答案,最準確和最完整的答案將在一段時間後(不是立即)被接受。

p7zip 是 7-Zip 的 Unix 命令行埠,支持多種格式。p7zip 僅支持 RAR 格式的解壓或解壓。使用者可以下載二進製文件和原始碼,也可以安裝 Linux 發行版和其他支持的系統提供的軟體包。

使用二進製文件和原始碼,p7zip 可在單個下載文件中獲得,該文件可以處理所有支持的格式,並且安裝是可選的。這意味著只要下載文件 (tar.bz2) 由 Linux 上的本機存檔管理器解壓縮,就可以執行命令行工具。

對於這些包,p7zip 將需要單獨的包來處理所有支持的格式,並且需要安裝。對於 Debian(和 Ubuntu),p7zip 在儲存庫中的三個不同軟體包中可用。確保首先啟用和更新主記憶體儲庫和非自由儲存庫(或 Ubuntu 的 Universe 和多元儲存庫)。

安裝所需的包“p7zip-rar”,該包將另外包含“p7zip-full”作為包依賴項之一;根本不需要另一個包“p7zip” 。

sudo apt-get install p7zip-rar

然後執行 7z 命令解壓 RAR 文件。

7z x filename.rar

簡短說明:p7zip提供7zr的命令只能處理 7z 檔案。p7zip-full提供7z了可以處理更多支持格式的命令,並且需要p7zip-rar7z來處理 RAR 檔案。

請注意以下案例:

  • 7zr7za命令將不起作用,只有7z命令適用於 RAR 格式。ArchWiki上的 p7zip 注意到 7z、7za 和 7zr 二進製文件之間的區別。
  • 7z可以與任何受支持的圖形文件歸檔器一起使用,包括file-rollerarkxarchiverengrampa。只需安裝支持的存檔管理器之一即可通過圖形界面使用 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 版本相對應。

TL;DR p7zip 可以打開 RAR 文件,前提是使用包 (p7zip-rar)、命令 (7z) 和較新的版本(16.02+ 支持 Rar5)來處理 RAR 格式。


回答者說明:這個自我回答——大約 18 個月後——將被接受並作為社區 wiki 製作。如果缺少任何資訊,任何聲譽最低的人都可以編輯以使此答案更完整。

引用自:https://unix.stackexchange.com/questions/522958