1. 程式人生 > >linux中管理包的apt和dpkg命令用法

linux中管理包的apt和dpkg命令用法

ces .post 環境 詳細 不同 默認 archive 負責 軟件

1,apt-get命令

apt-get是debian,ubuntu發行版的包管理工具,與紅帽中的yum工具非常類似,適用於deb包管理式的操作系統,主要用於自動從互聯網的軟件倉庫中搜索、安裝、升級、卸載軟件或操作系統。apt-get在安裝包的時候是根據/etc/apt/sources.list文件中指定的源來尋找的安裝包,你可以根據自己的需要對這個文件進行修改。

詳情如下:

  • sudo apt-get install package 安裝包
  • sudo apt-get install package - - reinstall 重新安裝包
  • sudo apt-get -f install 修復安裝"-f = ——fix-missing"
  • sudo apt-get remove package 刪除包
  • sudo apt-get remove package - - purge 刪除包,包括刪除配置文件等
  • sudo apt-get autoremove package 刪除包及其依賴的軟件包
  • sudo apt-get update 更新源
  • sudo apt-get upgrade 更新已安裝的包
  • sudo apt-get dist-upgrade 升級系統
  • sudo apt-get dselect-upgrade 使用 dselect 升級
  • sudo apt-get build-dep package 安裝相關的編譯環境
  • sudo apt-get source package 下載該包的源代碼
  • sudo apt-get clean && sudo apt-get autoclean 清理無用的包
  • sudo apt-get check 檢查是否有損壞的依賴

圖表版:

apt-get包含的常用的一些工具:

工具說明
install 其後加上軟件包名,用於安裝一個軟件包
update 從軟件源鏡像服務器上下載/更新用於更新本地軟件源的軟件包列表
upgrade 升級本地可更新的全部軟件包,但存在依賴問題時將不會升級,通常會在更新之前執行一次update
dist-upgrade 解決依賴關系並升級(存在一定危險性)
remove 移除已安裝的軟件包,包括與被移除軟件包有依賴關系的軟件包,但不包含軟件包的配置文件
autoremove 移除之前被其他軟件包依賴,但現在不再被使用的軟件包
purge 與remove相同,但會完全移除軟件包,包含其配置文件
clean 移除下載到本地的已經安裝的軟件包,默認保存在/var/cache/apt/archives/
autoclean 移除已安裝的軟件的舊版本軟件

apt-get 常用參數:

參數說明
-y 自動回應是否安裝軟件包的選項,在一些自動化安裝腳本中使用這個參數將十分有用
-s 模擬安裝
-q 靜默安裝方式,指定多個q或者-q=#,#表示數字,用於設定靜默級別,這在你不想要在安裝軟件包時屏幕輸出過多時很有用
-f 修復損壞的依賴關系
-d 只下載不安裝
--reinstall 重新安裝已經安裝但可能存在問題的軟件包
--install-suggests 同時安裝APT給出的建議安裝的軟件包

2,apt-cache命令:

apt-cache主要用於搜索包。

  • sudo apt-cache search package 搜索包
  • sudo apt-cache show package 獲取包的相關信息,如說明、大小、版本等
  • sudo apt-cache showpkg package 顯示軟件包信息,包括包的依賴關系,包的提供者,
  • sudo apt-cache pkgnames 打印軟件包列表中所有包的名字
  • sudo apt-cache dumpavail 打印軟件包列表中所有包的簡介信息
  • sudo apt-cache depends package 了解使用依賴
  • sudo apt-cache rdepends package 是查看該包被哪些包依賴

3,dpkg命令

dpkg是Debian系統的後臺包管理器,類似RPM。也是Debian包管理系統的中流砥柱,負責安全卸載軟件包,配置,以及維護已安裝的軟件包。由於ubuntu和Debian乃一脈相承,所以很多命令是不分彼此的。

Ubuntu中所有packages的信息都在/var/lib/dpkg/目錄下,其中子目錄”/var/lib/dpkg/info”用於保存各個軟件包的配置文件列表.不同後綴名代表不同類型的文件,如:

.conffiles 記錄了軟件包的配置文件列表。

.list 保存軟件包中的文件列表,用戶可以從.list的信息中找到軟件包中文件的具體安裝位置。

.md5sums 記錄了軟件包的md5信息,這個信息是用來進行包驗證的。

.prerm 腳本在Debian報解包之前運行,主要作用是停止作用於即將升級的軟件包的服務,直到軟件包安裝或升級完成。

.postinst腳本是完成Debian包解開之後的配置工作,通常用於執行所安裝軟件包相關命令和服務重新啟動。

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

命令詳情:

  • dpkg –l | grep package 查詢deb包的詳細信息,沒有指定包則顯示全部已安裝包
  • dpkg -s package 查看已經安裝的指定軟件包的詳細信息
  • dpkg -L package 列出一個包安裝的所有文件清單
  • dpkg -S file 查看系統中的某個文件屬於哪個軟件包,搜索已安裝的軟件包
  • dpkg -i 安裝指定deb包
  • dpkg -R 後面加上目錄名,用於安裝該目錄下的所有deb安裝包
  • dpkg -r remove,移除某個已安裝的軟件包
  • dpkg -P 徹底的卸載,包括軟件的配置文件
  • dpkg -c 查詢deb包文件中所包含的文件
  • dpkg -L 查看系統中安裝包的的詳細清單,同時執行 -c

linux中管理包的apt和dpkg命令用法