Linux

如何使用 dpkg -i 安裝包和依賴項,其中依賴項都在同一個文件夾中

  • January 19, 2022

在(Ubuntu)Debian 上,我如何使用dpkg -i在沒有網際網路的電腦上安裝軟體包。我將所有包和依賴項都放在一個文件夾中。我不需要網際網路來下載任何東西。

例如,如果 chrome 及其所有依賴項都在一個文件夾中,則該命令dpkg -i *.deb希望在依賴項之前安裝 chrome 並吐出依賴項錯誤,即使文件與 chrome 位於同一目錄中也是如此。

為了讓它工作,我必須將所有依賴項移出文件夾並移到一個單獨的文件夾中,以便dpkg -i *.deb首先在依賴項上執行,然後再回到帶有 chrome 的文件夾並再次為 chrome 包執行相同的命令.

在過去的 Ubuntu 版本中,我所要做的就是對同一目錄中的所有文件使用以下命令: dpkg -i --force-all *.deb 如果它們一起位於同一文件夾中,它將安裝軟體包及其所有依賴項。

如果我有一個包含包的文件夾,並且它的依賴項一起在一個文件夾中,我如何在不使用 apt-get 連接到 Internet 的情況下安裝包?

我正在寫 Ubuntu 特定的答案,它也應該適用於 Debian(從未使用過 Debian)。

因此,如果您有一個.deb包含所有依賴項的文件,

  • 首先將這些依賴項移動到/var/cache/apt/archives/ 目錄。
  • 現在執行sudo dpkg -i <your_deb_file>. 執行此命令後,您的.deb文件將安裝一半(未配置),並且將顯示有關未滿足依賴項的錯誤。
  • 現在執行sudo apt-get install -f. 它將選擇所有依賴項表單 /var/cache/apt/archives/並安裝它們並配置以前未配置的包。

您可以參考此答案以獲得更好的理解。

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