Software-Installation

如何通過 dpkg -i 或 apt 安裝 deb 文件?

  • November 9, 2021

我有一個用於安裝的 deb 包。

我應該通過 apt 安裝dpkg -i my.deb還是通過 apt 安裝?

兩者都能很好地處理軟體依賴問題嗎?

如果通過 apt,我如何通過 apt 從 deb 安裝?

當你apt用來安裝一個包時,使用dpkg. 當您使用 apt 安裝軟體包時,它首先會創建所有依賴項的列表並從儲存庫下載它。

下載完成後,它會呼叫dpkg安裝所有這些文件,滿足所有依賴項。

因此,如果您有.deb文件,可以通過以下方式安裝它:

  1. 使用:
sudo dpkg -i /path/to/deb/file
sudo apt-get install -f
  1. 使用:
sudo apt install ./name.deb

或者

sudo apt install /path/to/package/name.deb

對於舊apt-get版本,您必須首先將 deb 文件移動到/var/cache/apt/archives/目錄。對於兩者,執行此命令後,它會自動下載其依賴項。

  1. 首先安裝gdebi然後使用它打開您的 .deb 文件(右鍵點擊->打開方式)。它將安裝您的 .deb 包及其所有依賴項。

注意:APT 維護包索引,它是文件和目錄/var/cache/apt/*.bin中定義的 repo 中可用包的數據庫 () 。如果包索引中不存在 deb 所需的依賴關係,所有這些方法都將無法滿足軟體依賴關係。/etc/apt/sources.list``/etc/apt/sources.list.d


為什麼使用sudo apt-get install -fafter sudo dpkg -i /path/to/deb/file (如方法1中所述)?

來自man apt-get

-f, --fix-broken
          Fix; attempt to correct a system with broken dependencies in place.

dpkg安裝一個包並且不滿足包依賴關係時,它會使包處於“未配置”狀態,並且該包被認為是損壞的。

sudo apt-get install -f命令嘗試通過安裝缺少的依賴項來修復這個損壞的包。

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