一闻牡、說明
Ubunut圖形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比較簡單,這里主要總結(jié)在終端通過命令行方式進(jìn)行的軟件包安裝、卸載和刪除的方法何鸡。
二渐北、Ubuntu中軟件的安裝
1、apt方式
? 1)普通安裝:apt-get? -y install softname1 softname2
(2)修復(fù)安裝:apt-get? -f install softname1 softname2
(3)重新安裝:apt-get? --reinstall install softname1 softname2
# apt-get --help
# man apt-get
2卧波、dpkg方式
(1)普通安裝:dpkg -i? ?package_name.deb
3时肿、源碼安裝(.tar、tar.gz港粱、tar.bz2螃成、tar.Z)
先解壓源碼包,然后進(jìn)入到解壓出的目錄中,建議先讀一下README之類的說明文件寸宏,不同源代碼包或者預(yù)編譯包可能存在差異宁炫。
建議使用ls -F --color或者ls -F命令查看一下可執(zhí)行文件,可執(zhí)行文件會以*號的尾部標(biāo)志击吱。
一般依次執(zhí)行
# ./configure
# make
# make install
三际度、Ubuntu中軟件包的卸載
1执赡、apt方式
(1)移除式卸載:apt-get? -y? remove softname1 softname2
(2)清除式卸載 :apt-get --purge remove softname1 softname2
? ? ? ? ? 清除式卸載: apt-get -y? purge? sofname1? softname2
2、dpkg方式
(1)移除式卸載:dpkg? -r pkg1 pkg2?
(2)清除式卸載:dpkg? -P pkg1 pkg2
# dpkg --help
# man dpkg
四、Ubuntu中軟件包的查詢
dpkg 使用文本文件來作為數(shù)據(jù)庫.通稱在?/var/lib/dpkg?目錄下. 通稱在 status 文件中存儲軟件狀態(tài),和控制信息. 在 info/ 目錄下備份控制文件, 并在其下的 .list 文件中記錄安裝文件清單, 其下的 .mdasums 保存文件的 MD5 編碼绍绘。
# ll /var/lib/dpkg
#?dpkg -l? > dpkg.txt?
#? cat???dpkg.txt??
每條記錄對應(yīng)一個軟件包, 注意每條記錄的第一, 二, 三個字符. 這就是軟件包的狀態(tài)標(biāo)識, 后邊依此是軟件包名稱, 版本號, 和簡單描述。
你也可以以統(tǒng)配符模式進(jìn)行模糊查詢, 比如我要查找以nano字符開始的所有軟件包:
如果覺得 dpkg 的參數(shù)過多, 不利于記憶的話, 完全可以使用 dpkg-query 進(jìn)行 dpkg 數(shù)據(jù)庫查詢:
五泥技、其他應(yīng)用總結(jié)
apt-cache search? ? ? ? # ------(package 搜索包)
apt-cache show? ? ? ? ? ?#------(package 獲取包的相關(guān)信息贸宏,如說明、大小常摧、版本等)
apt-get install? ? ? ? ? ? ? ?# ------(package 安裝包)
apt-get install? ? ? ? ? ? ? ?# -----(package --reinstall 重新安裝包)
apt-get -f install? ? ? ? ? ? ?# -----(強(qiáng)制安裝, "-f = --fix-missing")
apt-get remove? ? ? ? ? ? ? ? ? ? ? #-----(package 刪除包)
apt-get remove --purge? ? ? ? ? # ------(package 刪除包搅吁,包括刪除配置文件等)
apt-get autoremove --purge? ? ? ?# ----(package 刪除包及其依賴的軟件包+配置文件等(只對6.10有效,強(qiáng)烈推薦))
apt-get update? ? ? ? ? ? ? ? ? ? ? ? ? ? #------更新源
apt-get upgrade? ? ? ? ? ? ? ? ? ? ? ? ? ? #------更新已安裝的包
apt-get dist-upgrade? ? ? ? ? ? ? ? ? ? ? ?# ---------升級系統(tǒng)
apt-get dselect-upgrade? ? ? ? ? ? ? ? ? ? #------使用 dselect 升級
apt-cache depends? ? ? ? ? ? ? ? ? ? ? ? ? ?#-------(package 了解使用依賴)
apt-cache rdepends? ? ? ? ? ? ? ? ? ? ? ? ? ? # ------(package 了解某個具體的依賴)
apt-get build-dep? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# ------(package 安裝相關(guān)的編譯環(huán)境)
apt-get source? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#------(package 下載該包的源代碼)
apt-get clean && apt-get autoclean? ? ? ? ? ? ? # --------清理下載文件的存檔 && 只清理過時(shí)的包
apt-get check? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #-------檢查是否有損壞的依賴
dpkg? -S? /path/to/filename? ? ? ? ? ? ? ? ? ? ? ? #-------查找filename屬于哪個軟件包
apt-file search filename? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#-------查找filename屬于哪個軟件包
apt-file list packagename? ? ? ? ? ? ? ? ? ? ? ? ? ? #-------列出軟件包的內(nèi)容
apt-file update? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#--------更新apt-file的數(shù)據(jù)庫
dpkg --info? "軟件包名"? ? ? ? ? ? ? ? ? 列出軟件包解包后的包名稱.
dpkg -l? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 列出當(dāng)前系統(tǒng)中所有的包.可以和參數(shù)less一起使用在分屏查看. (類似于rpm -qa)
dpkg -l |grep -i "軟件包名"? ? ? ? ? ? 查看系統(tǒng)中與"軟件包名"相關(guān)聯(lián)的包.
dpkg -s? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查詢已安裝的包的詳細(xì)信息.
dpkg -L? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查詢系統(tǒng)中已安裝的軟件包所安裝的位置. (類似于rpm -ql)
dpkg -S? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查詢系統(tǒng)中某個文件屬于哪個軟件包. (類似于rpm -qf)
dpkg -I? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查詢deb包的詳細(xì)信息,在一個軟件包下載到本地之后看看用不用安裝.
dpkg -i 手動安裝軟件包(不能解決軟件包依賴性問題),如果在安裝某一個軟件包的時(shí)候遇到了軟件依賴的問題,可以用apt-get -f install在解決信賴性這個問題.
dpkg -r? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?卸載軟件包.不是完全的卸載,它的配置文件還存在.
dpkg -P? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 全部卸載(但是還是不能解決軟件包的依賴性的問題)
dpkg -reconfigure? ? ? ? ? ? ? ? ? ? ? ? ? ?重新配置
# dpkg -L nginx
# dpkg -S /usr/share/doc/nginx
# dpkg -s nginx
六落午、參考
apt-get命令谎懦,軟件包管理
http://man.linuxde.net/apt-get
Apt和dpkg快速參考
https://wiki.ubuntu.org.cn/Apt%E5%92%8Cdpkg%E5%BF%AB%E9%80%9F%E5%8F%82%E8%80%83