Jak používat 8 užitečných nástrojů Debian Goodies Utilities ke správě balíčků Debianu
Debian-goodies je balíček, který obsahuje nástroje ve stylu sady nástrojů používané ke správě Debianu a jeho odvozených systémů, jako je Ubuntu, Kali Linux. Nástroje v tomto balíčku jsou vyvíjeny tak, aby se daly kombinovat s mnoha uznávanými nástroji shellu a další jsou zahrnuty, protože je nelze vyvíjet jako vlastní balíčky v distribucích Linuxu založených na Debianu.
V této příručce se podíváme na to, jak používat nástroje z balíčku debian-goodies, mezi které patří dglob, debget, dpigs<, dgrep, debmany, checkrestart, popbugs a which-pkg-broke silný>.
Podívejme se na popis každého nástroje níže:
- dglob – Vytvoří seznam názvů balíčků, které odpovídají vzoru
- dgrep – Hledat ve všech souborech v daných balíčcích regulární výraz
- dpigs – Zobrazí, které nainstalované balíčky zabíraly nejvíce místa na disku
- debget – Získejte .deb pro balíček v databázi APT
- debmany – Vyberte manuálové stránky nainstalovaných nebo odebraných balíčků
- checkrestart – Vyhledá a restartuje procesy, které používají zastaralé verze upgradovaných souborů
- popbugs – zobrazí přizpůsobenou zprávu o chybě kritické pro vydání na základě balíčků, které používáte
- which-pkg-broke – Zjistěte, který balíček mohl rozbít jiný
Jedná se o velmi užitečné nástroje, které mohou výrazně zjednodušit Správu systému při použití s jinými nástroji prostředí. Ve skutečnosti nástroj Debian-goodies zobrazuje více informací o balíčcích než standardní nástroje, jako jsou dpkg a nástroje apt.
Čtěte také: Naučte se 15 příkazů dpkg a 25 příkazů apt-get pro správu balíčků v Debianu a jeho derivátech.
Jak nainstalovat Debian-goodies v Debianu, Ubuntu a Linux Mintu
Chcete-li nainstalovat balíček debian-goodies, spusťte tento příkaz níže.
sudo apt-get install debian-goodies
Jakmile je balíček debian-goodies nainstalován, je nyní čas zkontrolovat použití jednotlivých nástrojů poskytovaných tímto balíčkem ve zbytku článku.
Jak používat nástroje Debian-Goodies
1. dglob Utility
dglob generuje seznam názvů balíčků nebo souborů, jak je uvedeno ve vzoru. Chcete-li vygenerovat názvy všech balíčků, jednoduše spusťte dglob nebo zahrňte možnost -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
...
Chcete-li zjistit, zda balíček ve vašem systému existuje, spusťte dglob s názvem balíčku. V níže uvedeném příkladu budeme hledat Firefox, Apache2 a 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
Pomocí voleb -f
můžete vytisknout seznam všech souborů v určeném balíčku.
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 používat dgrep Utility
Nástroj dgreb se používá k vyhledávání souborů se zadanými názvy balíčků pro regulární výraz. V podstatě greps prochází soubory balíčků, které jsou nainstalovány na vašem systému a většina možností používaných s jsou ty, které se používají s grep, kromě několika.
Chcete-li zadat vzor, použijte volbu -e
následovně.
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.
...
Chcete-li vytisknout název každého vstupního souboru, ze kterého by byl vytištěn výstup, použijte volbu -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
...
Chcete-li zobrazit pouze odpovídající části odpovídající čáry, použijte volbu -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 používat nástroj dpigs
Tento nástroj se používá k zobrazení balíčků, které zabraly nejvíce místa ve vašem systému. Je to velmi důležité zejména tehdy, když vám dochází místo a chcete odstranit některé balíčky.
Chcete-li zjistit balíčky zabírající nejvíce místa na vašem systému, jednoduše spusťte tento příkaz.
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
Pomocí volby -H
můžete číst velikosti balíčků ve formátu čitelném pro člověka.
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
Chcete-li zadat daný počet balíčků kromě výchozí hodnoty 10, použijte volbu -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
Chcete-li vyhledat pomoc při používání dpigs, použijte volbu -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 používat debget Utility
debget se používá k získání daného .deb pro balíček z databáze balíčků APT. V dalších příkladech načteme soubory .deb pro nástroje apache2, zip a 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
Všechny načtené balíčky .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 používat nástroj debmany
Používá se k výběru stránek ručního zadávání nainstalovaných nebo odinstalovaných balíčků ve vašem systému. Tento nástroj umožňuje zobrazit všechny manuálové stránky balíčku.
Některé z následujících možností, které můžete použít s debmany k zobrazení manuálové stránky pomocí prohlížeče podle vašeho výběru:
Pokud používáte desktopové prostředí KDE, použijte volbu -k
pro použití kfmclient.
root@tecmint:~# debmany -k tar
Poznámka: Nemám na svém systému nainstalované KDE DE, takže je obtížné zobrazit výstup výše uvedeného příkazu.
Pokud používáte desktopové prostředí GNOME, použijte volbu -g
pro použití gnome-open.
root@tecmint:~# debmany -g tar
Pokud používáte desktopové prostředí KDE/GNOME/Xfce, použijte volbu -x
pro použití kdg-open.
root@tecmint:~# debmany -x tar
Před použitím se ujistěte, že jsou nainstalovány výše uvedené prohlížeče, jinak se může zobrazit chyba.
6. Jak používat nástroj checkrestart
chechstart se používá k vyhledání a restartování procesů, které používají staré verze souborů, které již byly upgradovány.
Chcete-li použít checkrestart se všemi procesy, použijte volbu -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
...
Chcete-li zadat pouze smazané soubory procesu, které jsou připojeny k danému balíčku v systému, použijte volbu -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
Podrobné výstupní informace můžete vygenerovat pomocí volby -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 používat utilitu popbugs
Používá se k zobrazení seznamu přizpůsobených chyb kritických pro vydání na základě balíčků, které běžně používáte ve svém systému. Když popbugs spustíte poprvé bez jakékoli možnosti, zobrazí se zpráva, jako je ta níže.
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
Chcete-li vygenerovat protokol popularity-contest, spusťte tento příkaz níže.
root@tecmint:~# /usr/sbin/popularity-contest > /var/log/popularity-contest
Chcete-li výstup uložit do souboru, použijte možnost –output=/cesta/k/souboru. Výstupní soubor by měl být soubor html.
root@tecmint:~# popbugs --output=/tmp/output.html
Chcete-li zobrazit výstupní soubor, otevřete soubor z webového prohlížeče zadáním umístění souboru.
Chcete-li zobrazit informace o ladění, použijte volbu -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 používat nástroj which-pkg-broke
Používá se k nalezení balíčků, které porušily jiný balíček. Někdy může být váš systém narušen některými balíčky, zejména při jeho aktualizaci. Proto vám which-pkg-broke může pomoci najít balíčky, které narušily váš systém, nebo konkrétní balíček v systému.
Chcete-li zjistit balíčky, které mají poškozený apache2, spusťte tento příkaz níže.
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
...
souhrn
Existuje mnoho dalších nástrojů souvisejících s těmi, na které jsme se podívali, o kterých se můžeme dozvědět v dalších článcích. Doufám, že shledáte tuto příručku užitečnou, a pokud při jejím používání narazíte na nějaké chyby nebo máte nějaké další nápady na přidání, napište komentář. Zůstaňte ve spojení se společností Tecmint.