Ubuntu軟體管理:dpkg和apt Debian軟體包通常為預編譯的二進位格式的擴展名“.deb”,類似rpm文件, dpkg:package manager for Debian,類似於rpm, dpkg是基於Debian的系統的包管理器。可以安裝,刪除和構建軟體包,但無法自動下載和安裝軟體包 ...
Ubuntu軟體管理:dpkg和apt
Debian軟體包通常為預編譯的二進位格式的擴展名“.deb”,類似rpm文件,
dpkg:package manager for Debian,類似於rpm, dpkg是基於Debian的系統的包管理器。可以安裝,刪除和構建軟體包,但無法自動下載和安裝軟體包或其依賴項
APT:Advanced Packaging Tool,功能強大的軟體管理工具,甚至可升級整個Ubuntu的系統,基於客戶/伺服器架構
APT工作原理:在伺服器上先複製所有DEB包,然後用APT的分析工具genbasedir根據每個DEB 包的包頭(Header)信息對所有的DEB包進行分析,並將該分析結果記錄在文件夾base內的一個DEB 索引清單文件中,一旦APT 伺服器內的DEB有所變動,要使用genbasedir產生新的DEB索引清單。客戶端在進行安裝或升級時先要查詢DEB索引清單,從而獲知所有具有依賴關係的軟體包,並一同下載到客戶端以便安裝。當客戶端需要安裝、升級或刪除某個軟體包時,客戶端電腦取得DEB索引清單壓縮文件後,會將其解壓置放於 /var/cache/apt/,而客戶端使用apt-get install或apt-get upgrade命令的時候,就會將這個文件夾內的數據和客戶端電腦內的DEB資料庫比對,知道哪些DEB已安裝、未安裝或是可以升級的
dpkg常見用法:
dpkg -i package.deb 安裝包
dpkg -r package 刪除包,不建議,不自動卸載依賴於它的包
dpkg -P package 刪除包(包括配置文件)
dpkg -l 列出當前已安裝的包,類似rpm -qa
dpkg -l package 顯示該包的簡要說明,類似rpm –qi
dpkg -L package 列出該包中所包含的文件,類似rpm –ql
dpkg -S <pattern> 搜索包含pattern的包,類似rpm –qf
dpkg -s package 列出該包的狀態,包括詳細信息,類似rpm –qi
dpkg --configure package 配置包,-a 使用,配置所有沒有配置的軟體包
dpkg -c package.deb 列出 deb 包的內容,類似rpm –qpl
dpkg --unpack package.deb 解開 deb 包的內容
apt 相當於 apt-get、apt-cache 和 apt-config 中最常用命令選項的集合
apt 具有更精減但足夠的命令選項,而且參數選項的組織方式更為有效。此外,啟用的幾個特性也非常有幫助。
例如:可以在使用 apt 命令安裝或刪除程式時看到進度條,apt還會在更新存儲庫資料庫時提示用戶可升級的軟體包個數
apt 與 apt-get 有一些類似的命令選項,但它並不能完全向下相容 apt-get 命令,也即可用 apt 替換部分 apt-get 系列命令,但不是全部
apt命令:
apt 命令 被取代的命令 命令的功能
apt install apt-get install 安裝軟體包
apt remove apt-get remove 移除軟體包
apt purge apt-get purge 移除軟體包及配置文件
apt update apt-get update 刷新存儲庫索引
apt upgrade apt-get upgrade 升級所有可升級的軟體包
apt autoremove apt-get autoremove 自動刪除不需要的包
apt full-upgrade apt-get dist-upgrade 在升級軟體包時自動處理依賴關係
apt search apt-cache search 搜索應用程式
apt show apt-cache show 顯示安裝細節
apt 特有的命令
apt list 列出包含條件的包(已安裝,可升級等)
apt edit-sources 編輯源列表
APT包索引來自/etc/apt/sources.list文件和/etc/apt/sources.list.d目錄中定義的存儲庫的可用包的資料庫。要使用存儲庫中所做的最新更改來更新本地程式包索引
apt命令操作(如安裝和刪除軟體包)記錄在/var/log/dpkg.log日誌文件中
apt示例:
安裝包:
apt install tree zip
刪除包:
apt remove tree zip
說明:apt remove中添加--purge選項會刪除包配置文件,謹慎使用
更新包索引:
apt update
升級包:要升級系統,請首先更新軟體包索引,再升級
apt upgrade