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

獻給 Debian 和 Ubuntu 使用者的一組實用程式 | Linux 中國

透過使用這些工具,使用者可以找到哪些程式佔用更多磁碟空間,更新系統後需要重新啟動哪些服務,在一個軟體包中搜索與樣式匹配的檔案,根據搜尋字串列出已安裝的包等等。
— Sk


致謝
編譯自 | 
https://www.ostechnix.com/debian-goodies-a-set-of-useful-utilities-for-debian-and-ubuntu-users/
 
 作者 | Sk
 譯者 | MjSeven 共計翻譯:66 篇 貢獻時間:192 天

你使用的是基於 Debian 的系統嗎?如果是,太好了!我今天在這裡給你帶來了一個好訊息。先向 “Debian-goodies” 打個招呼,這是一組基於 Debian 系統(比如:Ubuntu、Linux Mint)的有用工具。這些實用工具提供了一些額外的有用的命令,這些命令在基於 Debian 的系統中預設不可用。透過使用這些工具,使用者可以找到哪些程式佔用更多磁碟空間,更新系統後需要重新啟動哪些服務,在一個軟體包中搜索與樣式匹配的檔案,根據搜尋字串列出已安裝的包等等。在這個簡短的指南中,我們將討論一些有用的 Debian 的好東西。

Debian-goodies – 給 Debian 和 Ubuntu 使用者的實用程式

debian-goodies 包可以在 Debian 和其衍生的 Ubuntu 以及其它 Ubuntu 變體(如 Linux Mint)的官方倉庫中找到。要安裝 debian-goodies,只需簡單執行:

  1. $ sudo apt-get install debian-goodies

debian-goodies 安裝完成後,讓我們繼續看一看一些有用的實用程式。

1、 checkrestart

讓我從我最喜歡的 checkrestart 實用程式開始。安裝某些安全更新時,某些正在執行的應用程式可能仍然會使用舊庫。要徹底應用安全更新,你需要查詢並重新啟動所有這些更新。這就是 checkrestart 派上用場的地方。該實用程式將查詢哪些行程仍在使用舊版本的庫,然後,你可以重新啟動服務。

在進行庫更新後,要檢查哪些守護行程應該被重新啟動,執行:

  1. $ sudo checkrestart

  2. [sudo] password for sk:

  3. Found 0 processes using old versions of upgraded files

由於我最近沒有執行任何安全更新,因此沒有顯示任何內容。

請註意,checkrestart 實用程式確實執行良好。但是,有一個名為 needrestart 的類似的新工具可用於最新的 Debian 系統。needrestart 的靈感來自 checkrestart 實用程式,它完成了同樣的工作。 needrestart 得到了積極維護,並支援容器(LXC、 Docker)等新技術。

以下是 needrestart 的特點:

◈ 支援(但不要求)systemd
◈ 二進製程式的黑名單(例如:用於圖形顯示的顯示管理器)
◈ 嘗試檢測掛起的核心升級
◈ 嘗試檢測基於直譯器的守護行程所需的重啟(支援 Perl、Python、Ruby)
◈ 使用鉤子完全整合到 apt/dpkg 中

它在預設倉庫中也可以使用。所以,你可以使用如下命令安裝它:

  1. $ sudo apt-get install needrestart

現在,你可以使用以下命令檢查更新系統後需要重新啟動的守護程式串列:

  1. $ sudo needrestart

  2. Scanning processes...

  3. Scanning linux images...

  4. Running kernel seems to be up-to-date.

  5. Failed to check for processor microcode upgrades.

  6. No services need to be restarted.

  7. No containers need to be restarted.

  8. No user sessions are running outdated binaries.

好訊息是 Needrestart 同樣也適用於其它 Linux 發行版。例如,你可以從 Arch Linux 及其衍生版的 AUR 或者其它任何 AUR 幫助程式來安裝,就像下麵這樣:

  1. $ yaourt -S needrestart

在 Fedora:

  1. $ sudo dnf install needrestart

2、 check-enhancements

check-enhancements 實用程式用於查詢那些用於增強已安裝的包的軟體包。此實用程式將列出增強其它包但不是必須執行它的包。你可以透過 -ip 或 –installed-packages 選項來查詢增強單個包或所有已安裝包的軟體包。

例如,我將列出增強 gimp 包功能的包:

  1. $ check-enhancements gimp

  2. gimp => gimp-data: Installed: (none) Candidate: 2.8.22-1

  3. gimp => gimp-gmic: Installed: (none) Candidate: 1.7.9+zart-4build3

  4. gimp => gimp-gutenprint: Installed: (none) Candidate: 5.2.13-2

  5. gimp => gimp-help-ca: Installed: (none) Candidate: 2.8.2-0.1

  6. gimp => gimp-help-de: Installed: (none) Candidate: 2.8.2-0.1

  7. gimp => gimp-help-el: Installed: (none) Candidate: 2.8.2-0.1

  8. gimp => gimp-help-en: Installed: (none) Candidate: 2.8.2-0.1

  9. gimp => gimp-help-es: Installed: (none) Candidate: 2.8.2-0.1

  10. gimp => gimp-help-fr: Installed: (none) Candidate: 2.8.2-0.1

  11. gimp => gimp-help-it: Installed: (none) Candidate: 2.8.2-0.1

  12. gimp => gimp-help-ja: Installed: (none) Candidate: 2.8.2-0.1

  13. gimp => gimp-help-ko: Installed: (none) Candidate: 2.8.2-0.1

  14. gimp => gimp-help-nl: Installed: (none) Candidate: 2.8.2-0.1

  15. gimp => gimp-help-nn: Installed: (none) Candidate: 2.8.2-0.1

  16. gimp => gimp-help-pt: Installed: (none) Candidate: 2.8.2-0.1

  17. gimp => gimp-help-ru: Installed: (none) Candidate: 2.8.2-0.1

  18. gimp => gimp-help-sl: Installed: (none) Candidate: 2.8.2-0.1

  19. gimp => gimp-help-sv: Installed: (none) Candidate: 2.8.2-0.1

  20. gimp => gimp-plugin-registry: Installed: (none) Candidate: 7.20140602ubuntu3

  21. gimp => xcftools: Installed: (none) Candidate: 1.0.7-6

要列出增強所有已安裝包的,請執行:

  1. $ check-enhancements -ip

  2. autoconf => autoconf-archive: Installed: (none) Candidate: 20170928-2

  3. btrfs-progs => snapper: Installed: (none) Candidate: 0.5.4-3

  4. ca-certificates => ca-cacert: Installed: (none) Candidate: 2011.0523-2

  5. cryptsetup => mandos-client: Installed: (none) Candidate: 1.7.19-1

  6. dpkg => debsig-verify: Installed: (none) Candidate: 0.18

  7. [...]

3、 dgrep

顧名思義,dgrep 用於根據給定的正則運算式搜尋制指定包的所有檔案。例如,我將在 Vim 包中搜索包含正則運算式 “text” 的檔案。

  1. $ sudo dgrep "text" vim

  2. Binary file /usr/bin/vim.tiny matches

  3. /usr/share/doc/vim-tiny/copyright: that they must include this license text. You can also distribute

  4. /usr/share/doc/vim-tiny/copyright: include this license text. You are also allowed to include executables

  5. /usr/share/doc/vim-tiny/copyright: 1) This license text must be included unmodified.

  6. /usr/share/doc/vim-tiny/copyright: text under a) applies to those changes.

  7. /usr/share/doc/vim-tiny/copyright: context diff. You can choose what license to use for new code you

  8. /usr/share/doc/vim-tiny/copyright: context diff will do. The e-mail address to be used is

  9. /usr/share/doc/vim-tiny/copyright: On Debian systems, the complete text of the GPL version 2 license can be

  10. [...]

dgrep 支援大多數 grep 的選項。參閱以下指南以瞭解 grep 命令。

◈ 獻給初學者的 Grep 命令教程[1]

4、 dglob

dglob 實用程式生成與給定樣式匹配的包名稱串列。例如,找到與字串 “vim” 匹配的包串列。

  1. $ sudo dglob vim

  2. vim-tiny:amd64

  3. vim:amd64

  4. vim-common:all

  5. vim-runtime:all

預設情況下,dglob 將僅顯示已安裝的軟體包。如果要列出所有包(包括已安裝的和未安裝的),使用 -a 標誌。

  1. $ sudo dglob vim -a

5、 debget

debget 實用程式將在 APT 的資料庫中下載一個包的 .deb 檔案。請註意,它只會下載給定的包,不包括依賴項。

  1. $ debget nano

  2. Get:1 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 nano amd64 2.9.3-2 [231 kB]

  3. Fetched 231 kB in 2s (113 kB/s)

6、 dpigs

這是此次集合中另一個有用的實用程式。dpigs 實用程式將查詢並顯示那些佔用磁碟空間最多的已安裝包。

  1. $ dpigs

  2. 260644 linux-firmware

  3. 167195 linux-modules-extra-4.15.0-20-generic

  4. 75186 linux-essay-headers-4.15.0-20

  5. 64217 linux-modules-4.15.0-20-generic

  6. 55620 snapd

  7. 31376 git

  8. 31070 libicu60

  9. 28420 vim-runtime

  10. 25971 gcc-7

  11. 24349 g++-7

如你所見,linux-firmware 包占用的磁碟空間最多。預設情況下,它將顯示佔用磁碟空間的 前 10 個包。如果要顯示更多包,例如 20 個,執行以下命令:

  1. $ dpigs -n 20

7. debman

debman 實用程式允許你輕鬆檢視二進位制檔案 .deb 中的手冊頁而不提取它。你甚至不需要安裝 .deb 包。以下命令顯示 nano 包的手冊頁。

  1. $ debman -f nano_2.9.3-2_amd64.deb nano

如果你沒有 .deb 軟體包的本地副本,使用 -p 標誌下載並檢視包的手冊頁。

  1. $ debman -p nano nano

建議閱讀:

◈ 每個 Linux 使用者都應該知道的 3 個 man 的替代品[2]

8、 debmany

安裝的 Debian 包不僅包含手冊頁,還包括其它檔案,如確認、版權和自述檔案等。debmany實用程式允許你檢視和讀取那些檔案。

  1. $ debmany vim

使用方向鍵選擇要檢視的檔案,然後按回車鍵檢視所選檔案。按 q 傳回主選單。

如果未安裝指定的軟體包,debmany 將從 APT 資料庫下載並顯示手冊頁。應安裝 dialog包來閱讀手冊頁。

9、 popbugs

如果你是開發人員,popbugs 實用程式將非常有用。它將根據你使用的包顯示一個定製的釋出關鍵 bug 串列(使用 popularity-contest 資料)。對於那些不關心的人,popularity-contest 包設定了一個 cron (定時)任務,它將定期匿名向 Debian 開發人員提交有關該系統上最常用的 Debian 軟體包的統計資訊。這些資訊有助於 Debian 做出決定,例如哪些軟體包應該放在第一張 CD 上。它還允許 Debian 改進未來的發行版本,以便為新使用者自動安裝最流行的軟體包。

要生成嚴重 bug 串列併在預設 Web 瀏覽器中顯示結果,執行:

  1. $ popbugs

此外,你可以將結果儲存在檔案中,如下所示。

  1. $ popbugs --output=bugs.txt

10、 which-pkg-broke

此命令將顯示給定包的所有依賴項以及安裝每個依賴項的時間。透過使用此資訊,你可以在升級系統或軟體包之後輕鬆找到哪個包可能會在什麼時間損壞了另一個包。

  1. $ which-pkg-broke vim

  2. Package <debconf-2.0> has no install time info

  3. debconf Wed Apr 25 08:08:40 2018

  4. gcc-8-base:amd64 Wed Apr 25 08:08:41 2018

  5. libacl1:amd64 Wed Apr 25 08:08:41 2018

  6. libattr1:amd64 Wed Apr 25 08:08:41 2018

  7. dpkg Wed Apr 25 08:08:41 2018

  8. libbz2-1.0:amd64 Wed Apr 25 08:08:41 2018

  9. libc6:amd64 Wed Apr 25 08:08:42 2018

  10. libgcc1:amd64 Wed Apr 25 08:08:42 2018

  11. liblzma5:amd64 Wed Apr 25 08:08:42 2018

  12. libdb5.3:amd64 Wed Apr 25 08:08:42 2018

  13. [...]

11、 dhomepage

dhomepage 實用程式將在預設 Web 瀏覽器中顯示給定包的官方網站。例如,以下命令將開啟 Vim 編輯器的主頁。

  1. $ dhomepage vim

這就是全部了。Debian-goodies 是你武器庫中必備的工具。即使我們不經常使用所有這些實用程式,但它們值得學習,我相信它們有時會非常有用。

我希望這很有用。更多好東西要來了。敬請關註!

乾杯!


via: https://www.ostechnix.com/debian-goodies-a-set-of-useful-utilities-for-debian-and-ubuntu-users/

作者:SK[4] 選題:lujun9972 譯者:MjSeven 校對:wxy

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

贊(0)

分享創造快樂

© 2024 知識星球   網站地圖