你有沒(méi)有想過(guò)你的 Linux 系統(tǒng)上安裝了幾千個(gè)軟件包? 是的,我說(shuō)的是“千”。 即使是相當(dāng)一般的 Linux 系統(tǒng)也可能安裝了上千個(gè)軟件包。 有很多方法可以獲得這些包到底是什么包的詳細(xì)信息。 |
首先,要在基于 Debian 的發(fā)行版(如 Ubuntu)上快速得到已安裝的軟件包數(shù)量,請(qǐng)使用 apt list --installed, 如下:
創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元慶陽(yáng)做網(wǎng)站,已為上家服務(wù),為慶陽(yáng)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108$ apt list --installed | wc -l 2067
這個(gè)數(shù)字實(shí)際上多了一個(gè),因?yàn)檩敵鲋邪?“Listing …” 作為它的第一行。 這個(gè)命令會(huì)更準(zhǔn)確:
$ apt list --installed | grep -v "^Listing" | wc -l 2066
要獲得所有這些包的詳細(xì)信息,請(qǐng)按以下方式瀏覽列表:
$ apt list --installed | more Listing... a11y-profile-manager-indicator/xenial,now 0.1.10-0ubuntu3 amd64 [installed] account-plugin-aim/xenial,now 3.12.11-0ubuntu3 amd64 [installed] account-plugin-facebook/xenial,xenial,now 0.12+16.04.20160126-0ubuntu1 all [installed] account-plugin-flickr/xenial,xenial,now 0.12+16.04.20160126-0ubuntu1 all [installed] account-plugin-google/xenial,xenial,now 0.12+16.04.20160126-0ubuntu1 all [installed] account-plugin-jabber/xenial,now 3.12.11-0ubuntu3 amd64 [installed] account-plugin-salut/xenial,now 3.12.11-0ubuntu3 amd64 [installed]
這需要觀察很多細(xì)節(jié) —— 特別是讓你的眼睛在所有 2000 多個(gè)文件中徘徊。 它包含包名稱、版本等,以及更多但并不是以最易于我們?nèi)祟惤馕龅娘@示信息。 dpkg-query 使得描述更容易理解,但這些描述會(huì)塞滿你的命令窗口,除非窗口非常寬。 因此,為了讓此篇文章更容易閱讀,下面的數(shù)據(jù)顯示已經(jīng)分成了左右兩側(cè)。
左側(cè):
$ dpkg-query -l | more Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version +++-==============================================-=================================- ii a11y-profile-manager-indicator 0.1.10-0ubuntu3 ii account-plugin-aim 3.12.11-0ubuntu3 ii account-plugin-facebook 0.12+16.04.20160126-0ubuntu1 ii account-plugin-flickr 0.12+16.04.20160126-0ubuntu1 ii account-plugin-google 0.12+16.04.20160126-0ubuntu1 ii account-plugin-jabber 3.12.11-0ubuntu3 ii account-plugin-salut 3.12.11-0ubuntu3 ii account-plugin-twitter 0.12+16.04.20160126-0ubuntu1 rc account-plugin-windows-live 0.11+14.04.20140409.1-0ubuntu2
右側(cè):
Architecture Description ============-===================================================================== amd64 Accessibility Profile Manager - Unity desktop indicator amd64 Messaging account plugin for AIM all GNOME Control Center account plugin for single signon - facebook all GNOME Control Center account plugin for single signon - flickr all GNOME Control Center account plugin for single signon amd64 Messaging account plugin for Jabber/XMPP amd64 Messaging account plugin for Local XMPP (Salut) all GNOME Control Center account plugin for single signon - twitter all GNOME Control Center account plugin for single signon - windows live
每行開頭的 ii 和 rc 名稱(見上文“左側(cè)”)是包狀態(tài)指示符。 第一個(gè)字母表示包的預(yù)期狀態(tài):
u – 未知
i – 安裝
r – 移除/反安裝
p – 清除(也包括配置文件)
h – 保留
第二個(gè)代表包的當(dāng)前狀態(tài):
n – 未安裝
i – 已安裝
c – 配置文件(只安裝了配置文件)
U – 未打包
F – 半配置(出于某些原因配置失?。?
h – 半安裝(出于某些原因配置失?。?
W – 等待觸發(fā)(該包等待另外一個(gè)包的觸發(fā)器)
t – 待定觸發(fā)(該包被觸發(fā))
在通常的雙字符字段末尾添加的 R 表示需要重新安裝。 你可能永遠(yuǎn)不會(huì)碰到這些。
快速查看整體包狀態(tài)的一種簡(jiǎn)單方法是計(jì)算在不同狀態(tài)中包含的包的數(shù)量:
$ dpkg-query -l | tail -n +6 | awk '{print $1}' | sort | uniq -c 2066 ii 134 rc
我從上面的 dpkg-query 輸出中排除了前五行,因?yàn)檫@些是標(biāo)題行,會(huì)混淆輸出。
這兩行基本上告訴我們,在這個(gè)系統(tǒng)上,應(yīng)該安裝了 2066 個(gè)軟件包,而 134 個(gè)其他的軟件包已被刪除,但留下了配置文件。 你始終可以使用以下命令刪除程序包的剩余配置文件:
$ sudo dpkg --purge xfont-mathml
請(qǐng)注意,如果程序包二進(jìn)制文件和配置文件都已經(jīng)安裝了,則上面的命令將兩者都刪除。
via: https://www.networkworld.com/article/3242808/linux/peeking-into-your-linux-packages.html
作者: Sandra Henry-Stocker 譯者: Flowsnow 校對(duì): wxy