Debian-goodies — набор полезных утилит для пользователей Debian и Ubuntu
Debian-goodies — это набор полезных утилит для Debian и его вариантов, таких как Ubuntu. Эти утилиты предоставляют некоторые дополнительные полезные команды, которые недоступны по умолчанию. Используя эти инструменты, пользователи могут узнать, какие программы потребляют больше дискового пространства, какие службы необходимо перезапустить после обновления системы, выполнить поиск файла, соответствующего шаблону в пакете, составить список установленных пакетов на основе строки поиска и многое другое. более. Без лишних слов, давайте продолжим и узнаем об этих вкусностях.
Установите Debian-вкусности в Debian и Ubuntu
Пакет debian-goodies доступен в официальных репозиториях Debian, Ubuntu и других вариантов Ubuntu, таких как Linux Mint.
Чтобы установить пакет debian-goodies, выполните следующую команду:
sudo apt-get install debian-goodies
Debian-goodies установлен. Давайте продолжим и рассмотрим некоторые преимущества Debian на практических примерах.
Debian-goodies — полезные утилиты для пользователей Debian и Ubuntu
В состав debian-goodies входят следующие утилиты:
- Проверить перезапуск
- Проверка-улучшения
- dgrep
- dglob
- задолжать
- дпигс
- Дебман
- Дебмани
- попбаги
- какой-пакет-сломан
- домашняя страница
Давайте теперь посмотрим на использование каждой утилиты.
1. Проверить перезапуск
Позвольте мне начать с одной из моих любимых утилит — checkrestart. При установке обновлений безопасности некоторые работающие приложения могут по-прежнему использовать старые библиотеки. Чтобы полностью применить обновления безопасности, вам необходимо найти и перезапустить их все. Вот тут-то и пригодится Checkrestart. Эта утилита найдет, какие процессы все еще используют старые версии библиотек. Затем вы можете перезапустить службы.
Чтобы проверить, какие демоны необходимо перезапустить после обновления библиотеки, запустите:
$ sudo checkrestart
[sudo] password for sk:
Found 0 processes using old versions of upgraded files
Поскольку в последнее время я не устанавливал никаких обновлений безопасности, ничего не показывает.
Обратите внимание, что утилита Checkrestart работает хорошо. Однако в последних системах Debian доступен новый аналогичный инструмент под названием needrestart. Needrestart создан на основе утилиты checkrestart и выполняет точно такую же работу. Needrestart активно поддерживается и поддерживает новые технологии, такие как контейнеры (LXC, Docker).
Вот особенности Needrestart:
- поддерживает (но не требует) systemd,
- двоичный черный список (т. е. диспетчеры отображения),
- пытается обнаружить ожидающие обновления ядра,
- пытается обнаружить необходимые перезапуски демонов на основе интерпретатора (поддерживает Perl, Python, Ruby),
- полностью интегрирован в apt/dpkg с помощью перехватчиков.
Он также доступен в репозиториях по умолчанию. Итак, вы можете установить его с помощью команды:
sudo apt-get install needrestart
Теперь проверьте список демонов, которые необходимо перезапустить после обновления вашей системы, используя команду:
$ sudo needrestart
Scanning processes...
Scanning linux images...
Running kernel seems to be up-to-date.
Failed to check for processor microcode upgrades.
No services need to be restarted.
No containers need to be restarted.
No user sessions are running outdated binaries.
Хорошо, что Needrestart работает и с другими дистрибутивами Linux. Например, вы можете установить Arch Linux и его варианты из AUR с помощью любых вспомогательных программ AUR, например Yay.
yay -S needrestart
2. Проверка улучшений
Утилита check-enhancements используется для поиска пакетов, расширяющих установленные пакеты. Эта утилита выведет список всех пакетов, которые расширяют возможности других пакетов, но не являются строго необходимыми для ее запуска. Вы можете найти улучшения для одного пакета или всех установленных пакетов, используя флаг «-ip» или «--installed-packages».
Например, я собираюсь перечислить улучшения пакета gimp.
$ check-enhancements gimp
gimp => gimp-data: Installed: (none) Candidate: 2.8.22-1
gimp => gimp-gmic: Installed: (none) Candidate: 1.7.9+zart-4build3
gimp => gimp-gutenprint: Installed: (none) Candidate: 5.2.13-2
gimp => gimp-help-ca: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-de: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-el: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-en: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-es: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-fr: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-it: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-ja: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-ko: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-nl: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-nn: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-pt: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-ru: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-sl: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-help-sv: Installed: (none) Candidate: 2.8.2-0.1
gimp => gimp-plugin-registry: Installed: (none) Candidate: 7.20140602ubuntu3
gimp => xcftools: Installed: (none) Candidate: 1.0.7-6
Чтобы просмотреть улучшения для всех установленных пакетов, запустите:
$ check-enhancements -ip
autoconf => autoconf-archive: Installed: (none) Candidate: 20170928-2
btrfs-progs => snapper: Installed: (none) Candidate: 0.5.4-3
ca-certificates => ca-cacert: Installed: (none) Candidate: 2011.0523-2
cryptsetup => mandos-client: Installed: (none) Candidate: 1.7.19-1
dpkg => debsig-verify: Installed: (none) Candidate: 0.18
[...]
3. дгреп
Как следует из названия, dgrep используется для поиска всех файлов в указанных пакетах на основе заданного регулярного выражения. Например, я собираюсь найти файлы, содержащие регулярное выражение "text" в пакете Vim.
$ sudo dgrep "text" vim
Binary file /usr/bin/vim.tiny matches
/usr/share/doc/vim-tiny/copyright: that they must include this license text. You can also distribute
/usr/share/doc/vim-tiny/copyright: include this license text. You are also allowed to include executables
/usr/share/doc/vim-tiny/copyright: 1) This license text must be included unmodified.
/usr/share/doc/vim-tiny/copyright: text under a) applies to those changes.
/usr/share/doc/vim-tiny/copyright: context diff. You can choose what license to use for new code you
/usr/share/doc/vim-tiny/copyright: context diff will do. The e-mail address to be used is
/usr/share/doc/vim-tiny/copyright: On Debian systems, the complete text of the GPL version 2 license can be
[...]
dgrep поддерживает большинство опций grep. Обратитесь к следующему руководству, чтобы изучить команды grep.
- Учебное пособие по команде Grep с примерами для начинающих
4. дглоб
Утилита dglob генерирует список имен пакетов, соответствующих шаблону. Например, следующая команда найдет список пакетов, соответствующий строке "vim".
$ sudo dglob vim
vim-tiny:amd64
vim:amd64
vim-common:all
vim-runtime:all
По умолчанию dglob отображает только установленные пакеты. Если вы хотите вывести список всех пакетов (установленных и не установленных), используйте флаг -a.
sudo dglob vim -a
5. долг
Утилита debget загрузит .deb-файл пакета из базы данных APT. Обратите внимание, что будет загружен только данный пакет, а не зависимости.
$ debget nano
Get:1 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 nano amd64 2.9.3-2 [231 kB]
Fetched 231 kB in 2s (113 kB/s)
6. дпигс
Это еще одно полезное дополнение в этой коллекции. Утилита dpigs найдет и покажет, какие установленные пакеты занимают больше всего места на диске.
$ dpigs
260644 linux-firmware
167195 linux-modules-extra-4.15.0-20-generic
75186 linux-headers-4.15.0-20
64217 linux-modules-4.15.0-20-generic
55620 snapd
31376 git
31070 libicu60
28420 vim-runtime
25971 gcc-7
24349 g++-7
Как видите, пакеты linux-прошивок занимают больше всего места на диске. По умолчанию отображаются 10 лучших пакетов, занимающих больше всего места на диске. Если вы хотите отобразить больше пакетов, например 20, выполните следующую команду:
dpigs -n 20
7. Дебман
Утилита debman позволяет легко просматривать справочные страницы из двоичного файла .deb, не распаковывая его. Вам даже не нужно устанавливать пакет .deb. Следующая команда отображает справочную страницу пакета nano.
debman -f nano_2.9.3-2_amd64.deb nano
Если у вас нет локальной копии пакета .deb, используйте флаг -p, чтобы загрузить и просмотреть справочную страницу пакета, как показано ниже.
debman -p nano nano
Рекомендуем прочитать:
- 3 хороших альтернативы man-страницам, которые должен знать каждый пользователь Linux
8. дебмани
Установленный пакет Debian имеет не только справочную страницу, но также включает в себя другие файлы, такие как подтверждение, права копирования, чтение меня и т. д. Утилита debmany позволяет просматривать и читать эти файлы.
debmany vim
Выберите справочные страницы установленных или удаленных пакетов.
С помощью клавиш со стрелками выберите файл, который хотите просмотреть, и нажмите ENTER, чтобы просмотреть выбранный файл. Нажмите q, чтобы вернуться в главное меню.
Если указанный пакет не установлен, debmany загрузит его из базы данных APT.
9. попбаги
Если вы разработчик, утилита popbugs будет весьма полезна. Он отобразит настроенный список критически важных для выпуска ошибок на основе используемых вами пакетов (с использованием данных конкурса популярности). Для тех, кто не знает: пакет конкурса популярности устанавливает задание cron, которое будет периодически и анонимно отправлять разработчикам Debian статистику о наиболее часто используемых пакетах Debian в этой системе. Эта информация помогает команде разработчиков Debian принимать решения, например, какие пакеты должны быть на первом компакт-диске. Это также позволяет команде Debian улучшать будущие версии дистрибутива, чтобы самые популярные пакеты автоматически устанавливались для новых пользователей.
Чтобы создать список критических ошибок и отобразить результат в веб-браузере по умолчанию, запустите:
popbugs
Также вы можете сохранить результат в файл, как показано ниже.
popbugs --output=bugs.txt
10. какой пакет сломался
Команда Which-pkg-broke отобразит все зависимости данного пакета и дату установки каждой зависимости. Используя эту информацию, вы можете легко определить, какой пакет в какое время мог выйти из строя другого после обновления системы или пакета.
$ which-pkg-broke vim
Package <debconf-2.0> has no install time info
debconf Wed Apr 25 08:08:40 2018
gcc-8-base:amd64 Wed Apr 25 08:08:41 2018
libacl1:amd64 Wed Apr 25 08:08:41 2018
libattr1:amd64 Wed Apr 25 08:08:41 2018
dpkg Wed Apr 25 08:08:41 2018
libbz2-1.0:amd64 Wed Apr 25 08:08:41 2018
libc6:amd64 Wed Apr 25 08:08:42 2018
libgcc1:amd64 Wed Apr 25 08:08:42 2018
liblzma5:amd64 Wed Apr 25 08:08:42 2018
libdb5.3:amd64 Wed Apr 25 08:08:42 2018
[...]
11. домашняя страница
Утилита dhomepage отобразит официальный сайт данного пакета в веб-браузере по умолчанию. Например, следующая команда откроет домашнюю страницу редактора Vim.
dhomepage vim
Debian-goodies — обязательный инструмент в вашем арсенале. Несмотря на то, что мы не часто используем все эти утилиты, их стоит изучить, и я уверен, что иногда они будут действительно полезны.