Ubuntu 軟件包管理詳解

Ubuntu 方便宜用,最值得讓人稱道的便是其安裝軟件的方式, 一條命令: sudo apt-get install xxx 就幾乎能幫你搞定所有的軟件安裝難題。但是有時你可能有這樣的需求,查看某個軟件包是否安裝、安裝在哪..., 那我們就來介紹一下 Ubuntu 的軟件包管理方式。

一、Ubuntu 採用 Debian 的軟件包管理器 dpkg 來管理軟件包, 類似 RPM. 系統中所有 packages 的信息都在 /var/lib/dpkg/
目錄下, 其子目錄 /var/lib/dpkg/info 用於保存各個軟件包的配置文件列表:
 (1).conffiles 記錄了軟件包的配置文件列表
 (2).list 保存軟件包中的文件列表, 用戶可以從 .list 的信息中找到軟件包中文件的具體安裝位置.
 (3).md5sums 記錄了軟件包的md5信息, 這個信息是用來進行包驗證的.
 (4).prerm 腳本在 Debian 包解包之前運行, 主要作用是停止作用於即將升級的軟件包的服務, 直到軟件包安裝或升級完成.
 (5).postinst 腳本是完成 Debian 包解開之後的配置工作, 通常用於執行所安裝軟件包相關命令和服務重新啓動.

/var/lib/dpkg/available 文件的內容是軟件包的描述信息, 該軟件包括當前系統所使用的 Debian 安裝源中的所有軟件包,
其中包括當前系統中已安裝的和未安裝的軟件包.

/var/cache/apt/archives 目錄是在用 apt-get install 安裝軟件時,軟件包的臨時存放路徑

/etc/apt/sources.list 存放的是軟件源站點, 當你執行 sudo apt-get install xxx 時,Ubuntu 就去這些站點下載軟件包到本地並執行安裝

二、相關命令使用示例:
 (1)查看某軟件包的安裝內容
    dpkg -L xxx

 (2)查找軟件庫中的軟件包
    apt-cache search 正則表達式

 (3)顯示系統安裝包的統計信息
    apt-cache stats
 
 (4)顯示系統全部可用軟件包的名稱
    apt-cache pkgnames

 (5)顯示某軟件包的詳細信息
    apt-cache show xxx

 (6)查找某文件屬於哪個包
    apt-file search xxx

 (7)查看已經安裝了哪些軟件包
    dpkg -l

 (8)查詢某軟件依賴哪些軟件包
    apt-cache depends xxx

 (9)查詢某軟件被哪些軟件包依賴
    apt-cache rdepends xxx

 (10)增加一個光盤源
    sudo apt-cdrom add
    注: 顧名思義, 就是安裝更新軟件包時讓其優先從Ubuntu 光盤上找(如果你不能上網安裝/更新, 但有 Ubuntu 的 DVD ISO, 這會對你非常有用)

 (11)系統升級
    sudo apt-get update

 (12)清除所有已刪除軟件包的殘餘配置文件
    dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

 (13)編譯時缺少h文件的自動處理
    sudo auto-apt run ./configure

 (14)查看安裝軟件時下載軟件包的臨時存放目錄
    ls /var/cache/apt/archives

 (15)備份當前系統安裝的所有軟件包的列表
    dpkg --get-selections | grep -v deinstall > ~/somefile

 (16)從上面備份的安裝包的列表文件恢復所有包
    dpkg --set-selections < ~/somefile
    sudo dselect

 (17)清理舊版本的軟件緩存
    sudo apt-get autoclean

 (18)清理所有軟件緩存
    sudo apt-get clean

 (19)刪除系統不再使用的孤立軟件
    sudo apt-get autoremove

 (20)查看軟件包在服務器上面的地址
    apt-get -qq --print-uris install ssh | cut -d\' -f2

發佈了53 篇原創文章 · 獲贊 17 · 訪問量 48萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章