首頁 > 軟體

獻給 Debian 和 Ubuntu 使用者的一組實用程式

2020-06-16 16:49:08

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

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

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

  1. $ sudoapt-get install debian-goodies

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

 

1、 checkrestart

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

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

  1. $ sudo checkrestart
  2. [sudo] password for sk:
  3. Found0 processes using old versions of upgraded files

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

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

以下是 needrestart 的特點:

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

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

  1. $ sudoapt-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. Binaryfile/usr/bin/vim.tiny matches
  3. /usr/share/doc/vim-tiny/copyright: that they must includethis license text.You can also distribute
  4. /usr/share/doc/vim-tiny/copyright:includethis 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 usefornew 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:OnDebian systems, the complete text of the GPL version 2 license can be
  10. [...]

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

 

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. Fetched231 kB in2s(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-headers-4.15.0-20
  5. 64217 linux-modules-4.15.0-20-generic
  6. 55620 snapd
  7. 31376git
  8. 31070 libicu60
  9. 28420vim-runtime
  10. 25971gcc-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 nanonano

建議閱讀:

 

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 timeinfo
  3. debconf WedApr2508:08:402018
  4. gcc-8-base:amd64 WedApr2508:08:412018
  5. libacl1:amd64 WedApr2508:08:412018
  6. libattr1:amd64 WedApr2508:08:412018
  7. dpkg WedApr2508:08:412018
  8. libbz2-1.0:amd64 WedApr2508:08:412018
  9. libc6:amd64 WedApr2508:08:422018
  10. libgcc1:amd64 WedApr2508:08:422018
  11. liblzma5:amd64 WedApr2508:08:422018
  12. libdb5.3:amd64 WedApr2508:08:422018
  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 選題:lujun9972 譯者:MjSeven 校對:wxy

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

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新連結地址https://www.linuxidc.com/Linux/2018-08/153516.htm


IT145.com E-mail:sddin#qq.com