我正在尝试在 Raspberry Pi 上解压缩 Chrome 扩展 CRX 文件(我理解它们基本上是 ZIP 文件):
$ unzip -u -q cjpalhdlnbpafiamejdnhcphjbkeiagm.crx
warning [cjpalhdlnbpafiamejdnhcphjbkeiagm.crx]: 1322 extra bytes at beginning or within zipfile
(attempting to process anyway)
error: invalid zip file with overlapped components (possible zip bomb)
$ unzip -v
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
但这在 macOS 上是可行的:
$ unzip -u -q cjpalhdlnbpafiamejdnhcphjbkeiagm.crx
warning [cjpalhdlnbpafiamejdnhcphjbkeiagm.crx]: 1322 extra bytes at beginning or within zipfile
(attempting to process anyway)
$ unzip -v
UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler. Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
CRX 文件的 MD5 值相同。因此,看起来虽然程序的版本相同,但它们的工作方式不同。
还有其他方法可以在 Pi 上提取该文件吗?
我尝试安装p7zip
,但是也不起作用:
$ 7zr e cjpalhdlnbpafiamejdnhcphjbkeiagm.crx
7-Zip (a) [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,4 CPUs LE)
Scanning the drive for archives:
1 file, 3033491 bytes (2963 KiB)
Extracting archive: cjpalhdlnbpafiamejdnhcphjbkeiagm.crx
ERROR: cjpalhdlnbpafiamejdnhcphjbkeiagm.crx
Can not open the file as archive
为了测试,你可以下载扩展从这里使用uBlock Origin 的 URL。
答案1
unzip 和 p7zip 的这些版本似乎..非常过时了,我有点想知道 debian/raspian 和 mac 版本是否使用不同的标志或补丁完成。
无论如何 - 不要使用 p7zip。最近有一个适用于 Linux 的官方 7zip 版本 -您正在寻找控制台版本。
对于 Raspbian,下载arm
版本并解压:
wget https://www.7-zip.org/a/7z2201-linux-arm.tar.xz
mkdir 7z
mv 7z2201-linux-arm.tar.xz 7z
cd 7z
tar xvf 7z2201-linux-arm.tar.xz
sudo cp 7zz /usr/local/bin
然后您就可以7zz
在您的系统上全局使用。
提取的语法如下:
7zz e -aoa -ocjpalhdlnbpafiamejdnhcphjbkeiagm cjpalhdlnbpafiamejdnhcphjbkeiagm.crx
并且可以很好地解压文件。-aoa
允许覆盖输出文件,并-o
设置输出目录名称。
答案2
我发现在 Raspbian 和 Ubuntu 下可行的替代方法是7z
通过包提供的命令p7zip-full
:
sudo apt install p7zip-full
7z e -aoa -ocjpalhdlnbpafiamejdnhcphjbkeiagm cjpalhdlnbpafiamejdnhcphjbkeiagm.crx
这个版本也非常过时但至少它可以提取文件。
如果有人需要一个脚本来下载并提取适用于 macOS 和 Linux 的扩展,看这里。