Wyszukiwanie w witrynie

Jak korzystać z 8 przydatnych „narzędziowych gadżetów Debiana” do zarządzania pakietami Debiana


Debian-goodies to pakiet zawierający narzędzia w stylu zestawu narzędzi służące do zarządzania Debianem i jego systemami pochodnymi, takimi jak Ubuntu, Kali Linux. Narzędzia zawarte w tym pakiecie zostały opracowane w taki sposób, aby można je było łączyć z wieloma uznanymi narzędziami powłoki, a inne są dołączone, ponieważ nie można ich tworzyć jako własnych pakietów w dystrybucjach Linuksa opartych na Debianie.

W tym przewodniku przyjrzymy się, jak korzystać z narzędzi pakietu debian-goodies, które obejmują dglob, debget, dpigs<, dgrep, debmany, checkrestart, popbugs i Which-pkg-broke.

Zobaczmy opis każdego narzędzia poniżej:

  1. dglob – Utwórz listę nazw pakietów pasujących do wzorca
  2. dgrep – przeszukuje wszystkie pliki w danych pakietach w poszukiwaniu wyrażenia regularnego
  3. dpigs – Wyświetla, które zainstalowane pakiety zajmowały najwięcej miejsca na dysku
  4. debget – Uzyskaj plik .deb dla pakietu w bazie danych APT
  5. debmany – Wybierz strony podręcznika zainstalowanych lub usuniętych pakietów
  6. checkrestart – wyszukuje i restartuje procesy, które korzystają z nieaktualnych wersji zaktualizowanych plików
  7. popbugs – wyświetla dostosowany raport o błędach krytycznych dla wydania, oparty na używanych pakietach
  8. Which-pkg-broke – wychwytuje, który pakiet mógł uszkodzić inny

Są to bardzo przydatne narzędzia, które mogą znacznie ułatwić administrowanie systemem, gdy są używane z innymi narzędziami powłoki. W rzeczywistości narzędzie Debian-goodies pokazuje więcej informacji o pakietach niż standardowe narzędzia, takie jak dpkg i apt Tools.

Przeczytaj także: Poznaj 15 poleceń dpkg i 25 poleceń apt-get do zarządzania pakietami w Debianie i jego pochodnych.

Jak zainstalować gadżety Debiana w Debianie, Ubuntu i Linux Mint

Aby zainstalować pakiet debian-goodies, uruchom poniższe polecenie.

sudo apt-get install debian-goodies

Po zainstalowaniu pakietu debian-goodies nadszedł czas, aby w dalszej części artykułu sprawdzić użycie każdego narzędzia dostarczanego przez ten pakiet.

Jak korzystać z narzędzi Debiana-Goodies

1. Narzędzie dglob

dglob generuje listę nazw pakietów lub plików zgodnie ze wzorcem. Aby wygenerować nazwę wszystkich pakietów, po prostu uruchom dglob lub dodaj opcję -a.

root@tecmint:~# dglob 
fonts-sil-abyssinica
libatk-adaptor
openoffice-onlineupdate
libvorbisfile3
libquadmath0
libxkbfile1
linux-sound-base
python-apt-common
python-gi-cairo
libgs9-common
libgom-1.0-common
libqt5qml5
libgtk2.0-bin
libregexp-common-perl
evolution-data-server
libaccount-plugin-generic-oauth
bind9-host
libhtml-tagset-perl
iputils-ping
libcgmanager0
evince
...

Aby dowiedzieć się, czy pakiet istnieje w Twoim systemie, uruchom dglob z nazwą pakietu. W poniższym przykładzie będziemy szukać Firefox, Apache2 i debain-goodies.

root@tecmint:~# dglob firefox
firefox-locale-en
unity-scope-firefoxbookmarks
firefox
root@tecmint:~# dglob apache2
apache2
apache2-utils
apache2-bin
apache2-data
root@tecmint:~# dglob debian-goodies
debian-goodies

Możesz wydrukować listę wszystkich plików w określonym pakiecie, używając opcji -f.

root@tecmint:~# dglob -f firefox
/usr/share/doc/firefox-locale-en/copyright
/usr/share/doc/firefox-locale-en/changelog.Debian.gz
/usr/lib/firefox-addons/extensions/[email 
/usr/lib/firefox-addons/extensions/[email 
/usr/lib/firefox/distribution/searchplugins/locale/en-ZA/amazondotcom.xml
/usr/lib/firefox/distribution/searchplugins/locale/en-ZA/google.xml
/usr/lib/firefox/distribution/searchplugins/locale/en-ZA/ddg.xml
/usr/lib/firefox/distribution/searchplugins/locale/en-GB/google.xml
/usr/lib/firefox/distribution/searchplugins/locale/en-GB/amazon-en-GB.xml
/usr/lib/firefox/distribution/searchplugins/locale/en-GB/ddg.xml
/usr/lib/firefox/webapprt/extensions/[email 
/usr/lib/firefox/webapprt/extensions/[email 
/usr/share/unity/scopes/web/firefoxbookmarks.scope
/usr/share/unity-scopes/firefoxbookmarks/unity_firefoxbookmarks_daemon.py
/usr/share/unity-scopes/firefoxbookmarks/__init__.py
/usr/share/doc/unity-scope-firefoxbookmarks/copyright
....

2. Jak korzystać z narzędzia dgrep

Narzędzie dgreb służy do wyszukiwania plików w określonych nazwach pakietów dla wyrażenia regularnego. Zasadniczo grep przegląda pliki pakietów zainstalowanych w twoim systemie, a większość opcji używanych w grep, z wyjątkiem kilku, to te używane z grep.

Aby określić wzorzec, użyj opcji -e w następujący sposób.

root@tecmint:~# dgrep -e README apache2
/usr/sbin/apache2ctl:        echo Setting ulimit failed. See README.Debian for more information. >&2
/usr/sbin/a2enmod:                info(     "See /usr/share/doc/apache2/README.Debian.gz on "
/etc/apache2/mods-available/autoindex.conf:	AddIcon /icons/hand.right.gif README
/etc/apache2/mods-available/autoindex.conf:	# ReadmeName is the name of the README file the server will look for by
/etc/apache2/mods-available/autoindex.conf:	ReadmeName README.html
/etc/apache2/mods-available/cache_disk.conf:	# /usr/share/doc/apache2/README.Debian, and the htcacheclean(8)
/etc/apache2/sites-available/default-ssl.conf:		#   /usr/share/doc/apache2/README.Debian.gz for more info.
...

Aby wydrukować nazwę każdego pliku wejściowego, z którego zostałyby wydrukowane dane wyjściowe, użyj opcji -l.

root@tecmint:~# dgrep -l conf apache2
/usr/sbin/a2query
/usr/sbin/apache2ctl
/usr/sbin/a2enmod
/usr/share/doc/apache2/migrate-sites.pl
/usr/share/doc/apache2/copyright
/usr/share/doc/apache2/README.multiple-instances
/usr/share/doc/apache2/examples/setup-instance
/usr/share/doc/apache2/examples/secondary-init-script
/usr/share/doc/apache2/README.backtrace
/usr/share/apache2/apache2-maintscript-helper
/usr/share/lintian/overrides/apache2
/etc/bash_completion.d/apache2
/etc/init.d/apache2
...

Aby wyświetlić tylko dopasowane części pasującej linii, użyj opcji -o.

root@tecmint:~# dgrep -o conf apache2
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
/usr/sbin/a2query:conf
...

3. Jak korzystać z narzędzia dpigs

To narzędzie służy do wyświetlania pakietów, które zajmowały najwięcej miejsca w systemie. Jest to bardzo ważne szczególnie wtedy, gdy kończy się miejsce i chcesz usunąć niektóre pakiety.

Aby dowiedzieć się, jakie pakiety zajmują najwięcej miejsca w systemie, po prostu uruchom to polecenie.

root@tecmint:~# dpigs
158762 linux-image-extra-4.2.0-16-generic
157066 linux-image-extra-3.19.0-31-generic
155037 wine1.8-amd64
143459 wine1.8-i386
103364 linux-firmware
100412 firefox
96741 openjdk-8-jre-headless
96302 libgl1-mesa-dri
90808 thunderbird
90652 liboxideqtcore0

Możesz użyć opcji -H, aby odczytać rozmiary pakietów w formacie czytelnym dla człowieka.

root@tecmint:~# dpigs -H
 155.0M linux-image-extra-4.2.0-16-generic
 153.4M linux-image-extra-3.19.0-31-generic
 151.4M wine1.8-amd64
 140.1M wine1.8-i386
 100.9M linux-firmware
  98.1M firefox
  94.5M openjdk-8-jre-headless
  94.0M libgl1-mesa-dri
  88.7M thunderbird
  88.5M liboxideqtcore0

Aby określić daną liczbę pakietów poza domyślną 10, użyj opcji -n.

root@tecmint:~# dpigs -H -n 15
 155.0M linux-image-extra-4.2.0-16-generic
 153.4M linux-image-extra-3.19.0-31-generic
 151.4M wine1.8-amd64
 140.1M wine1.8-i386
 100.9M linux-firmware
  98.1M firefox
  94.5M openjdk-8-jre-headless
  94.0M libgl1-mesa-dri
  88.7M thunderbird
  88.5M liboxideqtcore0
  87.9M libgl1-mesa-dri
  81.3M openoffice-core04
  77.8M fonts-horai-umefont
  64.2M linux-headers-4.2.0-16
  61.5M ubuntu-docs

Aby uzyskać pomoc w korzystaniu z dpigs, użyj opcji -h.

root@tecmint:~# dpigs -h
Usage: dpigs [options]

Options:
  -n, --lines=N
    Display the N largest packages on the system (default 10).
  -s, --status=status-file
    Use status-file instead of the default dpkg status file.
  -S, --source
    Display the largest source packages of binary packages installed
    on the system.
  -H, --human-readable
    Display package sizes in human-readable format (like ls -lh or du -h)
  -h, --help
    Display this message.

4. Jak korzystać z narzędzia Debget

Komenda debget służy do pobrania danego pliku .deb dla pakietu z bazy danych pakietów APT. W następnych przykładach pobierzemy pliki .deb dla narzędzi Apache2, Zip i tar.

root@tecmint:~# debget apache2
(apache2 -> 2.4.12-2ubuntu2)
root@tecmint:~# debget zip
(zip -> 3.0-11)
Downloading zip from http://in.archive.ubuntu.com/ubuntu/pool/main/z/zip/zip_3.0-11_amd64.deb
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--   0  154k    0  1211    0     0   2039      0  0:01:17 --:--:--  0:01:17  47  154k   47 75059    0     0  44694      0  0:00:03  0:00:01  0:00:02 100  154k  100  154k    0     0  74182      0  0:00:02  0:00:02 --:--:-- 74220
root@tecmint:~# debget tar 
(tar -> 1.27.1-2)
Downloading tar from http://in.archive.ubuntu.com/ubuntu/pool/main/t/tar/tar_1.27.1-2_amd64.deb
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--  15  191k   15 30155    0     0  48338      0  0:00:04 --:--:--  0:00:04 100  191k  100  191k    0     0   201k      0 --:--:-- --:--:-- --:--:--  201k

Wszystkie pobrane pakiety .deb.

root@tecmint:~# dir -hl
total 348K
-rw-r--r-- 1 root root 86K Dec 30 12:46 apache2_2.4.7-1ubuntu4.6_amd64.deb
-rw-r--r-- 1 root root 192K Dec 30 12:46 tar_1.27.1-2_amd64.deb
-rw-r--r-- 1 root root 155K Dec 30 12:46 zip_3.0-11_amd64.deb

5. Jak korzystać z narzędzia debmany

Służy do wybierania stron ręcznego wprowadzania zainstalowanych lub odinstalowanych pakietów w systemie. To narzędzie umożliwia przeglądanie wszystkich stron podręcznika pakietu.

Niektóre z poniższych opcji, których możesz użyć w debmany, aby wyświetlić stronę podręcznika przy użyciu wybranej przeglądarki:

Jeśli używasz środowiska graficznego KDE, użyj opcji -k, aby użyć kfmclient.

root@tecmint:~# debmany -k tar

Uwaga: nie mam zainstalowanego KDE DE w moim systemie, więc trudno jest pokazać wynik powyższego polecenia.

Jeśli używasz środowiska graficznego GNOME, użyj opcji -g, aby użyć gnome-open.

root@tecmint:~# debmany -g tar

Jeśli używasz środowiska graficznego KDE/GNOME/Xfce, użyj opcji -x, aby użyć kdg-open.

root@tecmint:~# debmany -x tar

Zanim będziesz mógł z nich skorzystać, upewnij się, że powyższe przeglądarki są zainstalowane, w przeciwnym razie może pojawić się błąd.

6. Jak korzystać z narzędzia checkrestart

chechstart służy do wyszukiwania i ponownego uruchamiania procesów korzystających ze starych wersji plików, które zostały już zaktualizowane.

Aby zastosować checkrestart we wszystkich procesach, użyj opcji -a.

root@tecmint:~# checkrestart -a
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
Found 30 processes using old versions of upgraded files
(28 distinct programs)
(23 distinct packages)

Of these, 1 seem to contain systemd service definitions or init scripts which can be used to restart them.
The following packages seem to have definitions that could be used
to restart their services:
openssh-server:
	1947	/usr/sbin/sshd
	1889	/usr/sbin/sshd
These are the initd scripts:
service ssh restart
...

Aby określić proces tylko usunięte pliki, które są dołączone do danego pakietu w systemie, użyj opcji -p.

root@tecmint:~# checkrestart -p
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
Found 0 processes using old versions of upgraded files

Możesz wygenerować szczegółowe informacje wyjściowe, używając opcji -v.

root@tecmint:~# checkrestart -v
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
Found 1 processes using old versions of upgraded files
(1 distinct program)
[DEBUG] Process /usr/bin/update-manager (PID: 2027) 
List of deleted files in use:
	/var/cache/apt/pkgcache.bin
	/var/lib/dpkg/status (deleted)
	/var/cache/apt/pkgcache.bin
	/var/lib/dpkg/status (deleted)
	/var/cache/apt/pkgcache.bin
	/var/lib/dpkg/status (deleted)
	/var/cache/apt/pkgcache.bin
	/var/lib/dpkg/status (deleted)
[DEBUG] Running:['dpkg-query', '--search', '/usr/bin/update-manager']
[DEBUG] Reading line from dpkg-query: update-manager: /usr/bin/update-manager

[DEBUG] Found package update-manager for program /usr/bin/update-manager
(1 distinct packages)
[DEBUG] Running:['dpkg-query', '--listfiles', 'update-manager']
These processes (1) do not seem to have an associated init script to restart them:
update-manager:
	2027	/usr/bin/update-manager

7. Jak korzystać z narzędzia popbugs

Służy do wyświetlania listy niestandardowych błędów krytycznych dla wydania, opartych na pakietach, których często używasz w swoim systemie. Gdy po raz pierwszy uruchomisz popbugs bez żadnej opcji, wyświetli się komunikat taki jak ten poniżej.

root@tecmint:~# popbugs

There is no popularity-contest data present on your system.  This
probably means that popularity-contest has not yet run since it
was installed.  Try waiting for /etc/cron.daily/popularity-contest to
to collect some data or manually run (as root user):

    /usr/sbin/popularity-contest >/var/log/popularity-contest

Aby wygenerować dziennik konkursu popularności, uruchom poniższe polecenie.

root@tecmint:~# /usr/sbin/popularity-contest > /var/log/popularity-contest

Aby przechowywać dane wyjściowe w pliku, użyj opcji –output=/path/to/file. Plik wyjściowy powinien być plikiem html.

root@tecmint:~# popbugs --output=/tmp/output.html

Aby wyświetlić plik wyjściowy, otwórz go w przeglądarce internetowej, określając lokalizację pliku.

Aby wyświetlić informacje debugowania, użyj opcji -d.

root@tecmint:~# popbugs --d
POPCON: Adding package zeitgeist-core
POPCON: Adding package upstart
POPCON: Adding package unity-gtk2-module
POPCON: Adding package whoopsie
POPCON: Adding package xserver-xorg-input-evdev
POPCON: Adding package unity-services
POPCON: Adding package zlib1g
POPCON: Adding package xserver-xorg-core
..

8. Jak korzystać z narzędzia Which-pkg-broke

Służy do wyszukiwania pakietów, które uszkodziły inny pakiet. Czasami twój system może zostać uszkodzony przez pewne pakiety, szczególnie podczas jego aktualizacji. Dlatego what-pkg-broke może pomóc Ci znaleźć pakiety, które uszkodziły Twój system lub konkretny pakiet w systemie.

Aby znaleźć pakiety, które uszkodziły Apache2, uruchom poniższe polecenie.

root@tecmint:~# which-pkg-broke apache2 
Package apache2 has no install time info
Package mysql-common has no install time info
Package libaprutil1-ldap has no install time info
Package  has no install time info
Package libmysqlclient18 has no install time info
Package  has no install time info
Package libaprutil1-dbd-sqlite3 has no install time info
Package  has no install time info
Package libaprutil1-dbd-mysql has no install time info
Package apache2-utils has no install time info
Package libpq5 has no install time info
Package apache2-data has no install time info
Package libaprutil1-dbd-pgsql has no install time info
Package libaprutil1-dbd-odbc has no install time info
libacl1:amd64                                          Wed Apr 22 17:31:54 2015
libattr1:amd64                                         Wed Apr 22 17:31:54 2015
insserv                                                Wed Apr 22 17:31:54 2015
libc6:amd64                                            Wed Apr 22 17:31:55 2015
...

Streszczenie

Istnieje wiele innych narzędzi powiązanych z tymi, którym się przyjrzeliśmy, o których możemy dowiedzieć się w kolejnych artykułach. Mamy nadzieję, że ten przewodnik okaże się przydatny. Jeśli podczas korzystania z niego pojawią się jakieś błędy lub masz inne pomysły do dodania, napisz komentarz. Pozostań w kontakcie z Tecmint.