Dpkg

解壓包含 MIPS 二進製文件的 .deb 文件

  • July 12, 2015

我正在嘗試在路由器上安裝 openssh 伺服器,並且需要 MIPS 編譯的二進製文件。我從這裡下載了一個,但在提取時遇到錯誤:

$ sudo dpkg --unpack openssh-server_6.0p1-4+deb7u2_mips.deb 
dpkg: error processing openssh-server_6.0p1-4+deb7u2_mips.deb (--unpack):
package architecture (mips) does not match system (amd64)
Errors were encountered while processing:
openssh-server_6.0p1-4+deb7u2_mips.deb

dpkg還提示我提供管理權限,這表明它正在嘗試安裝軟體包,而不是解壓縮它。我無法在路由器上提取/安裝 .deb 文件,因為它沒有dpkg或任何軟體包實用程序。我只能按原樣複製伺服器並發出許多命令來創建適當的目錄和鍵。

我錯過了什麼?

我找到了答案:

dpkg -x openssh-server_6.0p1-4+deb7u2_mips.deb openssh_mips_outdir

dpkg是操作已安裝軟體包數據庫的工具。操作.deb文件的工具是dpkg-deb.

dpkg-deb -x openssh-server_6.0p1-4+deb7u2_mips.deb openssh-server_mips

或者

dpkg-deb --fsys-tarfile openssh-server_6.0p1-4+deb7u2_mips.deb | gzip -9 >openssh-server_6.0p1-4+deb7u2_mips.tgz

如果您願意,您可以使用dpkg而不是dpkg-deb,因為它會傳遞dpkg-deb命令。但請確保您使用的是正確的選項;例如--unpack是一個dpkg正確的命令,這意味著執行包安裝的一個步驟(將包內容解包到 Debian 安裝中的步驟)。

或者,如果您沒有dpkg,您可以使用artar

ar p openssh-server_6.0p1-4+deb7u2_mips.deb data.tar.xz >openssh-server_6.0p1-4+deb7u2_mips.tar.xz

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