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:
- dglob – Utwórz listę nazw pakietów pasujących do wzorca
- dgrep – przeszukuje wszystkie pliki w danych pakietach w poszukiwaniu wyrażenia regularnego
- dpigs – Wyświetla, które zainstalowane pakiety zajmowały najwięcej miejsca na dysku
- debget – Uzyskaj plik .deb dla pakietu w bazie danych APT
- debmany – Wybierz strony podręcznika zainstalowanych lub usuniętych pakietów
- checkrestart – wyszukuje i restartuje procesy, które korzystają z nieaktualnych wersji zaktualizowanych plików
- popbugs – wyświetla dostosowany raport o błędach krytycznych dla wydania, oparty na używanych pakietach
- 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.