APT (Advanced Packaging Tool) 是 Debian/Ubuntu 系統的核心套件管理器,掌握其指令能大幅提升系統維護效率。本文整理分類常用指令、參數解析、實用技巧與避坑指南。
/etc/apt/sources.list 及 /etc/apt/sources.list.d/*.list。/var/cache/apt/archives/ 儲存下載的 .deb。/var/lib/apt/lists/ 儲存解析後的套件清單。search/show 外,大多指令需 sudo。| 指令 | 用途 | 範例 |
|---|---|---|
apt search 關鍵字 | 搜尋套件名/描述 (輸出精簡) | apt search nginx |
apt show 套件名 | 顯示詳細資訊 (版本、依賴、大小、描述) | apt show docker.io |
apt list --installed | 列出已安裝套件 | apt list --installed | grep python |
apt list --upgradable | 列出可升級套件 | |
apt-cache policy 套件名 | 顯示各來源版本優先級 (偵錯用) |
| 指令 | 用途 |
|---|---|
apt install 套件名 | 安裝 (自動解決依賴) |
apt install 套件名=版本號 | 安裝指定版本 |
apt install --reinstall 套件名 | 重新安裝 (修復損壞檔案) |
apt install -f | 修復缺損依賴 (-f = --fix-broken) |
apt remove 套件名 | 移除套件,保留設定檔 |
apt purge 套件名 | 移除套件及設定檔 (remove --purge) |
apt autoremove | 移除不再需要的依賴套件 |
| 指令 | 用途 | 差異 |
|---|---|---|
apt update | 更新本地套件清單索引 | 不安裝,僅同步元資料 |
apt upgrade | 升級所有可升級套件 | 不移除現有套件,不安裝新依賴 |
apt full-upgrade | 完整升級 (原 dist-upgrade) | 智能處理依賴變動,可移除/安裝套件 |
apt dist-upgrade | 同上,舊指令別名 |
日常維護黃金組合:
sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt autoclean
| 指令 | 用途 |
|---|---|
apt clean | 清空 /var/cache/apt/archives/ 所有 .deb |
apt autoclean | 僅刪除已無法下載 (過舊) 的 .deb |
apt check | 檢查依賴關係是否損壞 |
| 指令 | 用途 |
|---|---|
apt depends 套件名 | 顯示該套件的依賴樹 |
apt rdepends 套件名 | 顯示反向依賴 (誰依賴它) |
apt download 套件名 | 下載 .deb 至當前目錄 (不安裝) |
apt source 套件名 | 下載原始碼套件 (需啟用 deb-src 源) |
apt build-dep 套件名 | 安裝編譯該套件所需的建置依賴 |
apt edit-sources | 用編輯器開啟 sources.list |
| 工具 | 定位 | 建議場景 |
|---|---|---|
apt | 現代高階介面 (推薦) | 日常互動使用,輸出友善、進度條、彩色 |
apt-get | 經典底層介面 | 腳本自動化、CI/CD、需穩定輸出格式 |
aptitude | 互動式 TUI + 智能解決器 | 複雜依賴衝突手動解決、瀏覽套件關係 |
Could not get lock):另一 apt 進程在運行,等待或 sudo lsof /var/lib/dpkg/lock-frontend 找出 PID 終止。sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY_ID (新版建議用 gpg --dearmor 存放 /etc/apt/trusted.gpg.d/)。sudo apt-mark hold 套件名 / unhold 解除。apt download 套件名 → 複製 .deb → 離線機器 sudo dpkg -i *.deb && sudo apt install -f。dpkg -S /path/to/file 或 apt-file search filename (需 apt install apt-file && apt-file update)。核心心法:「先
update,再操作;常autoremove,保系統乾淨;腳本用apt-get,人用apt」。
Linux 虛擬化環境部署 DB2 pureScale 完整實戰:前置需求、安裝與驗證
Linux 函數庫構建完全指南:靜態庫與動態庫創建、鏈接、版本管理、部署最佳實踐
Linux 純命令列連接 WiFi 完整指南:iwconfig、wpa_supplicant、dhcpcd 手動建立無線連線
Linux 網路設定全攻略:IP 位址配置三大方法與永久生效技巧
打造極致輕量 IDE:tmux + Vim 終端機開發環境完整配置指南
Ubuntu 修改 PATH 導致無法登入?進入 Recovery Mode 修復指南
Linux 非 Root 使用者綁定 1024 以下埠口實戰:SetUID vs Capabilities 兩大方案深度對比