linux中管理包的apt和dpkg命令用法
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命令用法