Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Ubuntu dpkg 命令完全指南:.deb 套件查詢、安裝、移除與檔案列表

編輯:關於 Linux

dpkg 是 Debian/Ubuntu 系統的底層套件管理工具,直接操作 .deb 檔案。雖不自動解決相依性(需搭配 apt),但對單一檔案安裝、查詢套件內容、檢視安裝檔案清單極為實用。

dpkg 命令示意圖

核心操作速查表

指令等價長參數功能範例
dpkg -I--info顯示 .deb 套件詳細資訊(名稱、版本、架構、相依)dpkg -I linuxidc.deb
dpkg -c--contents列出 .deb 內含檔案結構dpkg -c linuxidc.deb
dpkg -i--install安裝 .deb 套件sudo dpkg -i linuxidc.deb
dpkg -l--list查詢已安裝套件資訊(支援萬用字元)dpkg -l linuxidc
dpkg -L--listfiles列出已安裝套件的所有檔案路徑dpkg -L linuxidc
dpkg -s--status顯示已安裝套件詳細狀態dpkg -s linuxidc
dpkg -r--remove移除套件(保留設定檔)sudo dpkg -r linuxidc
dpkg -P--purge徹底移除套件含設定檔sudo dpkg -P linuxidc
dpkg --configure -a修復未完成配置的套件sudo dpkg --configure -a

實戰場景範例

場景 1:離線安裝單一 .deb 檔

# 1. 檢視套件資訊
dpkg -I google-chrome-stable_current_amd64.deb

# 2. 安裝(若缺相依會報錯)
sudo dpkg -i google-chrome-stable_current_amd64.deb

# 3. 補裝相依
sudo apt-get install -f

場景 2:查詢已安裝套件檔案去向

# 列出 nginx 安裝的所有檔案
dpkg -L nginx | head -20

# 找尋特定檔案屬於哪個套件
dpkg -S /etc/nginx/nginx.conf

場景 3:套件狀態異常修復

# 列出狀態非 install 的套件
dpkg -l | grep -v ^ii

# 強制重新配置
sudo dpkg --configure -a
sudo apt-get install -f

重要限制與注意事項

⚠ dpkg 不會自動解決相依性!
安裝 .deb 時若缺少相依套件,dpkg 會報錯並停留在「半安裝」狀態。必須事先手動安裝相依,或事後執行 sudo apt-get install -f 讓 apt 修復。

dpkg vs apt 對照

操作dpkg (底層)apt/apt-get (高層)
安裝本地 .debdpkg -i pkg.debapt install ./pkg.deb (自動解決相依)
安裝倉庫套件不支援apt install pkg
查詢已安裝dpkg -l pkgapt list --installed pkg
列出檔案dpkg -L pkgdpkg -L pkg (同)
移除套件dpkg -r pkgapt remove pkg

進階技巧

  • 解壓 .deb 不安裝:dpkg-deb -x pkg.deb /target/dir(僅解壓檔案)、dpkg-deb -e pkg.deb /target/DEBIAN(解壓控制資訊)。
  • 重新打包:修改解壓後的檔案,用 dpkg-deb -b /source/dir pkg_new.deb 重新打包。
  • 鎖定版本防更新:echo "pkg hold" | dpkg --set-selections,解鎖用 install 替換 hold。

dpkg 是套件管理的基石,理解其操作能處理 apt 無法解決的邊緣情況(離線安裝、檔案追蹤、套件修復),是 Linux 系統管理的核心技能。

Copyright © Windows教程網 All Rights Reserved