Vyhledávání na webu

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:

  1. dglob – Vytvoří seznam názvů balíčků, které odpovídají vzoru
  2. dgrep – Hledat ve všech souborech v daných balíčcích regulární výraz
  3. dpigs – Zobrazí, které nainstalované balíčky zabíraly nejvíce místa na disku
  4. debget – Získejte .deb pro balíček v databázi APT
  5. debmany – Vyberte manuálové stránky nainstalovaných nebo odebraných balíčků
  6. checkrestart – Vyhledá a restartuje procesy, které používají zastaralé verze upgradovaných souborů
  7. popbugs – zobrazí přizpůsobenou zprávu o chybě kritické pro vydání na základě balíčků, které používáte
  8. 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.