我有一个 20GB RAR 文件需要在 Debian Linux Google Cloud VM 上使用密码进行解压。
我第一次尝试sudo apt-get install unrar
,但给出了以下输出:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package unrar is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'unrar' has no installation candidate
我发现这很可能是因为我没有激活多元宇宙,所以我尝试了一下sudo add-apt-repository multiverse
。这不起作用:
Error: 'multiverse' invalid
我最终发现一个帖子说可以安装“unrar free”。我安装了它,然后运行unrar-free -x -p Filename.rar
。它当前正在检查存档中的每个文件并给出以下输出:
Extracting Folder_name/image/0/1.jpg Failed
Extracting Folder_name/image/0/10.jpg Failed
Extracting Folder_name/image/0/100.jpg Failed
Extracting Folder_name/image/0/1000.bmp Failed
显然 unrar-free 无法提取 RAR 3.0 格式的档案。我不知道如何判断该存档压缩在哪个 RAR 版本中。
我怎样才能解压这个 RAR 文件?
我不介意付一些钱,如果这意味着更快的提取速度 - 我有 140GB 的 RAR 文件需要处理。
答案1
您可以在 Debian 中使用 提取 RAR 档案,包括 RAR 5 档案,unar
该档案可在主存储库中找到。
为了能够安装该unrar
软件包,您需要启用非免费存储库(“自由中的自由”意义上的非自由):
sudo sed -i.bak 's/buster[^ ]* main$/& contrib non-free/g' /etc/apt/sources.list
sudo apt update
(该sed
命令添加contrib non-free
到包含“buster”的每一行的末尾;如果您使用的是不同的版本,请使用适当的代号。)
这将允许你运行
sudo apt install unrar
并用它来提取您的 RAR 档案。
答案2
只需使用 libarchive 的bsdtar
,就像所有(大多数)其他存档格式一样。
在 Debian 上,它曾经位于bsdtar
软件包中,现在位于libarchive-tools
(与 一起bsdcpio
)中bsdcat
。
bsdtar
的 CLI 是tar
-like (而bsdcpio
s 是cpio
-like 毫不奇怪),因此提取:
bsdtar xf file.rar
libarchive 从 3.4.0 版本开始支持 RAR 5.0 存档。
答案3
在 Debian 上,使用命令时
sudo apt-get install 解压缩
只需点击 TAB 就会显示可能的包名称,即 unrar-free
或者你可以输入
sudo apt install unrar-free
那应该做