烏班圖安裝軟件以及查看已安裝軟件的幾種方式

安裝

APT方式
(1)普通安裝:apt-get install softname1 softname2 …;
(2)修復(fù)安裝:apt-get -f install softname1 softname2... ;(-f Atemp to correct broken dependencies)
(3)重新安裝:apt-get --reinstall install softname1 softname2...;

Dpkg方式
普通安裝:dpkg -i package_name.deb

源碼安裝(.tar讽营、tar.gz恩袱、tar.bz2、tar.Z)
首先解壓縮源碼壓縮包然后通過tar命令來完成
a.解xx.tar.gz:tar zxf xx.tar.gz
b.解xx.tar.Z:tar zxf xx.tar.Z
c.解xx.tgz:tar zxf xx.tgz
d.解xx.bz2:bunzip2 xx.bz2
e.解xx.tar:tar xf xx.tar
然后進(jìn)入到解壓出的目錄中铸豁,建議先讀一下README之類的說明文件熙卡,因為此時不同源代碼包或者預(yù)編譯包可能存在差異芍锦,然后建議使用ls -F --color或者ls -F命令(實際上我的只需要 l 命令即可)查看一下可執(zhí)行文件,可執(zhí)行文件會以*號的尾部標(biāo)志裹虫。

一般依次執(zhí)行
./configure
make
sudo make install
即可完成安裝肿嘲。

卸載

APT方式

(1)移除式卸載:apt-get remove softname1 softname2 …;(移除軟件包,當(dāng)包尾部有+時筑公,意為安裝)
(2)清除式卸載 :apt-get --purge remove softname1 softname2...;(同時清除配置)
清除式卸載:apt-get purge sofname1 softname2...;(同上雳窟,也清除配置文件)

Dpkg方式

(1)移除式卸載:dpkg -r pkg1 pkg2 ...;
(2)清除式卸載:dpkg -P pkg1 pkg2...;

查詢

查詢系統(tǒng)中屬于nano的文件:

$ dpkg --listfiles nano  
or
$ dpkg-query -L nano

查看軟件nano的詳細(xì)信息:

$ dpkg -s nano
or
$ dpkg-query -s nano

查看系統(tǒng)中軟件包狀態(tài), 支持模糊查詢:

$ dpkg -l
or
$dpkg-query -l

查看某個文件的歸屬包:

$ dpkg-query -S nano
or
$ dpkg -S nano

其他應(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 # -----(強制安裝, "-f = --fix-missing"當(dāng)是修復(fù)安裝吧...)
apt-get remove #-----(package 刪除包)
apt-get remove --purge # ------(package 刪除包,包括刪除配置文件等)
apt-get autoremove --purge # ----(package 刪除包及其依賴的軟件包+配置文件等(只對6.10有效捣作,強烈推薦))
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 了解某個具體的依賴,當(dāng)是查看該包被哪些包依賴吧...)
apt-get build-dep # ------(package 安裝相關(guān)的編譯環(huán)境)
apt-get source #------(package 下載該包的源代碼)
apt-get clean && apt-get autoclean # --------清理下載文件的存檔 && 只清理過時的包
apt-get check #-------檢查是否有損壞的依賴
dpkg -S 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 手動安裝軟件包(這個命令并不能解決軟件包之前的依賴性問題),如果在安裝某一個軟件包的時候遇到了軟件依賴的問題,可以用apt-get -f install在解決信賴性這個問題.
dpkg -r 卸載軟件包.不是完全的卸載,它的配置文件還存在.
dpkg -P 全部卸載(但是還是不能解決軟件包的依賴性的問題)
dpkg -reconfigure 重新配置

apt-get install
下載軟件包誉结,以及所有依賴的包,同時進(jìn)行包的安裝或升級券躁。如果某個包被設(shè)置了 hold (停止標(biāo)志惩坑,就會被擱在一邊(即不會被升級)掉盅。更多 hold 細(xì)節(jié)請看下面。
apt-get remove [--purge]
移除 以及任何依賴這個包的其它包以舒。
--purge 指明這個包應(yīng)該被完全清除 (purged) 趾痘,更多信息請看 dpkg -P。

apt-get update
升級來自 Debian 鏡像的包列表蔓钟,如果你想安裝當(dāng)天的任何軟件永票,至少每天運行一次,而且每次修改了
/etc/apt/sources.list 後奋刽,必須執(zhí)行瓦侮。

apt-get upgrade [-u]
升 級所有已經(jīng)安裝的包為最新可用版本。不會安裝新的或移除老的包佣谐。如果一個包改變了依賴關(guān)系而需要安裝一個新的包肚吏,那么它將不會被升級,而是標(biāo)志為 hold狭魂。apt-get update 不會升級被標(biāo)志為 hold 的包 (這個也就是 hold 的意思)罚攀。請看下文如何手動設(shè)置包為 hold。我建議同時使用 '-u' 選項雌澄,因為這樣你就能看到哪些包將會被升級斋泄。

apt-get dist-upgrade [-u]
和 apt-get upgrade 類似,除了 dist-upgrade 會安裝和移除包來滿足依賴關(guān)系镐牺。因此具有一定的危險性炫掐。

apt-cache search
在軟件包名稱和描述中,搜索包含xxx的軟件包睬涧。

apt-cache show
顯示某個軟件包的完整的描述募胃。

apt-cache showpkg
顯示軟件包更多細(xì)節(jié),以及和其它包的關(guān)系畦浓。

dselect
console-apt
aptitude
gnome-apt
APT 的幾個圖形前端(其中一些在使用前得先安裝)痹束。這里 dselect 無疑是最強大的,也是最古老讶请,最難駕馭祷嘶。

普通 Dpkg 用法
dpkg -i
安裝一個 Debian 包文件,如你手動下載的文件夺溢。

dpkg -c
列出 的內(nèi)容论巍。

dpkg -I
從 中提取包信息。

dpkg -r
移除一個已安裝的包风响。

dpkg -P
完全清除一個已安裝的包嘉汰。和 remove 不同的是,remove 只是刪掉數(shù)據(jù)和可執(zhí)行文件钞诡,purge 另外還刪除所有的配制文件郑现。

dpkg -L
列出 安裝的所有文件清單。同時請看 dpkg -c 來檢查一個 .deb 文件的內(nèi)容荧降。

dpkg -s
顯示已安裝包的信息接箫。同時請看 apt-cache 顯示 Debian 存檔中的包信息,以及 dpkg -I 來顯示從一個 .deb 文件中提取的包信息朵诫。

dpkg-reconfigure
重 新配制一個已經(jīng)安裝的包辛友,如果它使用的是 debconf (debconf 為包安裝提供了一個統(tǒng)一的配制界面)。你能夠重新配制 debconf 它本身剪返,如你想改變它的前端或提問的優(yōu)先權(quán)废累。例如,重新配制 debconf脱盲,使用一個 dialog 前端邑滨,簡單運行:

dpkg-reconfigure --frontend=dialog debconf (如果你安裝時選錯了,這里可以改回來喲:)

echo " hold" | dpkg --set-selections
設(shè)置 的狀態(tài)為 hlod (命令行方式)

dpkg --get-selections ""
取的 的當(dāng)前狀態(tài) (命令行方式)

支持通配符钱反,如:
Debian:~# dpkg --get-selections wine
libwine hold
libwine-alsa hold
libwine-arts hold
libwine-dev hold
libwine-nas hold
libwine-print hold
libwine-twain hold
wine hold
wine+ hold
wine-doc hold
wine-utils hold

例如:
大家現(xiàn)在用的都是 gaim-0.58 + QQ-plugin掖看,為了防止 gaim 被升級,我們可以采用如下方法:

方法一:
Debian:~# echo "gaim hold" | dpkg --set-selections
然後用下面命令檢查一下:
Debian:~# dpkg --get-selections "gaim"
gaim hold
現(xiàn)在的狀態(tài)標(biāo)志是 hold面哥,就不能被升級了哎壳。

如果想恢復(fù)怎么辦呢?
Debian:~# echo "gaim install" | dpkg --set-selections
Debian:~# dpkg --get-selections "gaim"
gaim install
這時狀態(tài)標(biāo)志又被重置為 install,可以繼續(xù)升級了尚卫。

同志們會問归榕,哪個這些狀態(tài)標(biāo)志都寫在哪個文件中呢?
在 /var/lib/dpkg/status 里,你也可以通過修改這個文件實現(xiàn) hold吱涉。

有時你會發(fā)現(xiàn)有的軟件狀態(tài)標(biāo)志是 purge刹泄,不要奇怪。
如:事先已經(jīng)安裝了 amsn邑飒,然後把它卸了循签。
apt-get remove --purge amsn
那么狀態(tài)標(biāo)志就從 install 變成 purge。

方法二:
在/etc/apt 下手動建一個 preferences 文件
內(nèi)容:
Package: gaim
Pin: version 0.58*
保存

dpkg -S
在包數(shù)據(jù)庫中查找 疙咸,并告訴你哪個包包含了這個文件县匠。(注:查找的是事先已經(jīng)安裝的包)


Debian的軟件包管理工具命令不完全列表

Debian系統(tǒng)中所有的包信息都在/var/lib/dpkg下.其中/var/lib/dpkg/info目錄中保存了各個軟件包的信息及管理文件.每個文件的作用如下:
以 ".conffiles" 結(jié)尾的文件記錄軟件包的配置列表.
以 ".list" 結(jié)尾的文件記錄了軟件包的文件列表,用戶可在文件當(dāng)中找到軟件包文件的具體安裝位置.
以 ".md5sums" 結(jié)尾的文件記錄了md5信息,用來進(jìn)行包的驗證的.
以 ".config" 結(jié)尾的文件是軟件包的安裝配置角本.
以 ".postinst" 角本是完成Debian包解開之后的配置工作,通常用來執(zhí)行所安裝軟件包相關(guān)的命令和服務(wù)的重新啟動.
以 ".preinst" 角本在Debain解包之前運行,主要作用是是停止作用于即將升級的軟件包服務(wù)直到軟件包安裝或和升級完成.
以 ".prerm" 腳本負(fù)責(zé)停止與軟件包關(guān)聯(lián)的daemon服務(wù),在刪除軟件包關(guān)聯(lián)文件之前執(zhí)行.
以 ".postrm" 腳本負(fù)責(zé)修改軟件包鏈接或文件關(guān)聯(lián),或刪除由它創(chuàng)建的文件.

/var/lib/dpkg/available是軟件包的描述信息.
包括當(dāng)前系統(tǒng)中所有使用的Debian安裝源中所有的軟件包,還包括當(dāng)前系統(tǒng)中已經(jīng)安裝和未安裝的軟件包.

1.dpkg包管理工具

dpkg -r 卸載軟件包.不是完全的卸載,它的配置文件還存在.
dpkg --info "軟件包名" --列出軟件包解包后的包名稱.
dpkg -l --列出當(dāng)前系統(tǒng)中所有的包.可以和參數(shù)less一起使用在分屏查看.
dpkg -l |grep -i "軟件包名" --查看系統(tǒng)中與"軟件包名"相關(guān)聯(lián)的包.
dpkg -s 查詢已安裝的包的詳細(xì)信息. dpkg -L 查詢系統(tǒng)中已安裝的軟件包所安裝的位置.
dpkg -S 查詢系統(tǒng)中某個文件屬于哪個軟件包.
dpkg -I 查詢deb包的詳細(xì)信息,在一個軟件包下載到本地之后看看用不用安裝(看一下唄).
dpkg -i 手動安裝軟件包(這個命令并不能解決軟件包之前的依賴性問題),如果在安裝某一個軟件包的時候遇到了軟件依賴的問題,可以用apt-get -f install在解決信賴性這個問題.
dpkg -reconfigure 重新配置
dpkg -P 全部卸載(但是還是不能解決軟件包的依賴性的問題)

  1. apt高級包管理工具
    (1)GTK圖形的"synaptic",這是APT的前端工具.
    (2)"aptitude",這也是APT的前端工具.
    用APT管理工具進(jìn)行包的管理,可以有以下幾種方法做源:
    (1)拿安裝盤做源,方法如下:
    apt-cdrom ident 掃描光盤的信息
    apt-cdrom add 添加光盤源
    (2)這也是最常用的方法就是把源添加到/etc/apt/source.list中,之后更新列apt-get update

APT管理工具常用命令
apt-cache 加上不同的子命令和參數(shù)的使用可以實現(xiàn)查找,顯示軟件,包信息及包信賴關(guān)系等功能.
apt-cache stats 顯示當(dāng)前系統(tǒng)所有使用的Debain數(shù)據(jù)源的統(tǒng)計信息.
apt-cache search +"包名",可以查找相關(guān)的軟件包.
apt-cache show +"包名",可以顯示指定軟件包的詳細(xì)信息.
apt-cache depends +"包名",可以查找軟件包的依賴關(guān)系.
apt-get upgrade 更新系統(tǒng)中所有的包到最新版
apt-get install 安裝軟件包
apt-get --reindtall install 重新安裝軟件包
apt-get remove 卸載軟件包
apt-get --purge remove 完全卸載軟件包
apt-get clean 清除無用的軟件包
在用命令apt-get install之前,是先將軟件包下載到/var/cache/apt/archives中,之后再進(jìn)行安裝的.所以我們可以用apt-get clean清除/var/cache/apt/archives目錄中的軟件包.

源碼包安裝
apt-cache showsrc 查找看源碼包的文件信息(在下載之前)
apt-get source 下載源碼包.
apt-get build-dep +"包名" 構(gòu)建源碼包的編譯環(huán)境.

清除處于rc狀態(tài)的軟件包

dpkg -l |grep ^rc|awk '{print $2}' |tr ["\n"] [" "] | sudo xargs dpkg -P -

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市撒轮,隨后出現(xiàn)的幾起案子乞旦,更是在濱河造成了極大的恐慌,老刑警劉巖题山,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兰粉,死亡現(xiàn)場離奇詭異,居然都是意外死亡顶瞳,警方通過查閱死者的電腦和手機(jī)玖姑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門愕秫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人焰络,你說我怎么就攤上這事戴甩。” “怎么了闪彼?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵甜孤,是天一觀的道長。 經(jīng)常有香客問我畏腕,道長缴川,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任描馅,我火速辦了婚禮把夸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘铭污。我一直安慰自己扎即,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布况凉。 她就那樣靜靜地躺著谚鄙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪刁绒。 梳的紋絲不亂的頭發(fā)上闷营,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機(jī)與錄音知市,去河邊找鬼傻盟。 笑死,一個胖子當(dāng)著我的面吹牛嫂丙,可吹牛的內(nèi)容都是我干的娘赴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼跟啤,長吁一口氣:“原來是場噩夢啊……” “哼诽表!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起隅肥,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤竿奏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后腥放,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體泛啸,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年秃症,在試婚紗的時候發(fā)現(xiàn)自己被綠了候址。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吕粹。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖岗仑,靈堂內(nèi)的尸體忽然破棺而出昂芜,到底是詐尸還是另有隱情,我是刑警寧澤赔蒲,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站良漱,受9級特大地震影響舞虱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜母市,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一矾兜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧患久,春花似錦椅寺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至篙挽,卻和暖如春荆萤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铣卡。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工链韭, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人煮落。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓敞峭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蝉仇。 傳聞我的和親對象是個殘疾皇子旋讹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容