歡迎光臨
每天分享高質量文章

一窺你安裝的 Linux 軟體包 | Linux 中國

這些最有用的命令可以讓你瞭解安裝在你的 Debian 類的 Linux 系統上的包的情況。
— Sandra Henry-stocker


致謝
編譯自 | 
https://www.networkworld.com/article/3242808/linux/peeking-into-your-linux-packages.html

 作者 | Sandra Henry-stocker
 譯者 | Liang Chen (Flowsnow) ????共計翻譯:27.0 篇 貢獻時間:1062 天

這些最有用的命令可以讓你瞭解安裝在你的 Debian 類的 Linux 系統上的包的情況。

你有沒有想過你的 Linux 系統上安裝了幾千個軟體包? 是的,我說的是“千”。 即使是相當一般的 Linux 系統也可能安裝了上千個軟體包。 有很多方法可以獲得這些包到底是什麼包的詳細信息。

首先,要在基於 Debian 的發行版(如 Ubuntu)上快速得到已安裝的軟體包數量,請使用 apt list --installed, 如下:

  1. $ apt list --installed | wc -l

  2. 2067

這個數字實際上多了一個,因為輸出中包含了 “Listing …” 作為它的第一行。 這個命令會更準確:

  1. $ apt list --installed | grep -v "^Listing" | wc -l

  2. 2066

要獲得所有這些包的詳細信息,請按以下方式瀏覽串列:

  1. $ apt list --installed | more

  2. Listing...

  3. a11y-profile-manager-indicator/xenial,now 0.1.10-0ubuntu3 amd64 [installed]

  4. account-plugin-aim/xenial,now 3.12.11-0ubuntu3 amd64 [installed]

  5. account-plugin-facebook/xenial,xenial,now 0.12+16.04.20160126-0ubuntu1 all [installed]

  6. account-plugin-flickr/xenial,xenial,now 0.12+16.04.20160126-0ubuntu1 all [installed]

  7. account-plugin-google/xenial,xenial,now 0.12+16.04.20160126-0ubuntu1 all [installed]

  8. account-plugin-jabber/xenial,now 3.12.11-0ubuntu3 amd64 [installed]

  9. account-plugin-salut/xenial,now 3.12.11-0ubuntu3 amd64 [installed]

這需要觀察很多細節 —— 特別是讓你的眼睛在所有 2000 多個檔案中徘徊。 它包含包名稱、版本等,以及更多但並不是以最易於我們人類解析的顯示信息。 dpkg-query 使得描述更容易理解,但這些描述會塞滿你的命令視窗,除非視窗非常寬。 因此,為了讓此篇文章更容易閱讀,下麵的資料顯示已經分成了左右兩側。

左側:

  1. $ dpkg-query -l | more

  2. Desired=Unknown/Install/Remove/Purge/Hold

  3. | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend

  4. |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)

  5. ||/ Name                                                 Version                                      

  6. +++-==============================================-=================================-

  7. ii  a11y-profile-manager-indicator                 0.1.10-0ubuntu3                              

  8. ii  account-plugin-aim                             3.12.11-0ubuntu3                            

  9. ii  account-plugin-facebook                        0.12+16.04.20160126-0ubuntu1                

  10. ii  account-plugin-flickr                          0.12+16.04.20160126-0ubuntu1                

  11. ii  account-plugin-google                          0.12+16.04.20160126-0ubuntu1                

  12. ii  account-plugin-jabber                          3.12.11-0ubuntu3                            

  13. ii  account-plugin-salut                           3.12.11-0ubuntu3                            

  14. ii  account-plugin-twitter                         0.12+16.04.20160126-0ubuntu1                

  15. rc  account-plugin-windows-live                    0.11+14.04.20140409.1-0ubuntu2              

右側:

  1. Architecture Description

  2. ============-=====================================================================

  3. amd64        Accessibility Profile Manager - Unity desktop indicator

  4. amd64        Messaging account plugin for AIM

  5. all          GNOME Control Center account plugin for single signon - facebook

  6. all          GNOME Control Center account plugin for single signon - flickr

  7. all          GNOME Control Center account plugin for single signon

  8. amd64        Messaging account plugin for Jabber/XMPP

  9. amd64        Messaging account plugin for Local XMPP (Salut)

  10. all          GNOME Control Center account plugin for single signon - twitter

  11. all          GNOME Control Center account plugin for single signon - windows live

每行開頭的 ii 和 rc 名稱(見上文“左側”)是包狀態指示符。 第一個字母表示包的預期狀態:

◈ u – 未知
◈ i – 安裝
◈ r – 移除/反安裝
◈ p – 清除(也包括配置檔案)
◈ h – 保留

第二個代表包的當前狀態:

◈ n – 未安裝
◈ i – 已安裝
◈ c – 配置檔案(只安裝了配置檔案)
◈ U – 未打包
◈ F – 半配置(出於某些原因配置失敗)
◈ h – 半安裝(出於某些原因配置失敗)
◈ W – 等待觸發(該包等待另外一個包的觸發器)
◈ t – 待定觸發(該包被觸發)

在通常的雙字符欄位末尾添加的 R 表示需要重新安裝。 你可能永遠不會碰到這些。

快速查看整體包狀態的一種簡單方法是計算在不同狀態中包含的包的數量:

  1. $ dpkg-query -l | tail -n +6 | awk '{print $1}' | sort | uniq -c

  2. 2066 ii

  3. 134 rc

我從上面的 dpkg-query 輸出中排除了前五行,因為這些是標題行,會混淆輸出。

這兩行基本上告訴我們,在這個系統上,應該安裝了 2066 個軟體包,而 134 個其他的軟體包已被刪除,但留下了配置檔案。 你始終可以使用以下命令刪除程式包的剩餘配置檔案:

  1. $ sudo dpkg --purge xfont-mathml

請註意,如果程式包二進制檔案和配置檔案都已經安裝了,則上面的命令將兩者都刪除。


via: https://www.networkworld.com/article/3242808/linux/peeking-into-your-linux-packages.html

作者:Sandra Henry-Stocker[2] 譯者:Flowsnow 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

赞(0)

分享創造快樂