Zoeken op website

Hoe u 8 handige 'Debian Goodies Utilities' kunt gebruiken om Debian-pakketten te beheren


Debian-goodies is een pakket dat hulpprogramma's in toolbox-stijl bevat die worden gebruikt om Debian en afgeleide systemen zoals Ubuntu en Kali Linux te beheren. De hulpprogramma's onder dit pakket zijn zo ontwikkeld dat ze kunnen worden gecombineerd met veel erkende shell-tools, en andere zijn inbegrepen omdat ze niet als hun eigen pakketten kunnen worden ontwikkeld op op Debian gebaseerde Linux-distributies.

In deze handleiding zullen we bekijken hoe we de hulpprogramma's onder het pakket debian-goodies kunnen gebruiken, waaronder dglob, debget, dpigs<, dgrep, debmany, checkrestart, popbugs en welke-pkg-broke sterk>.

Laten we de beschrijving van elk hulpmiddel hieronder bekijken:

  1. dglob – Produceer een lijst met pakketnamen die overeenkomen met een patroon
  2. dgrep – Doorzoek alle bestanden in bepaalde pakketten op een regex
  3. dpigs – Geef weer welke geïnstalleerde pakketten de meeste schijfruimte in beslag nemen
  4. debget – Verkrijg een .deb voor een pakket in de database van APT
  5. debmany – Kies manpagina's van geïnstalleerde of verwijderde pakketten
  6. checkrestart – Vindt en herstart processen die verouderde versies van geüpgradede bestanden gebruiken
  7. popbugs – Toon een aangepast release-kritiek bugrapport op basis van de pakketten die u gebruikt
  8. welke-pkg-brak – Ontdek welk pakket een ander pakket kapot heeft gemaakt

Dit zijn zeer nuttige hulpprogramma's die Systeembeheer een stuk eenvoudiger kunnen maken als ze samen met andere shell-tools worden gebruikt. In feite toont de Debian-goodies tool meer informatie over pakketten dan standaard tools zoals dpkg en apt tools.

Lees ook: leer 15 dpkg-opdrachten en 25 apt-get-opdrachten om pakketten in Debian en zijn afgeleiden te beheren.

Hoe Debian-goodies te installeren in Debian, Ubuntu en Linux Mint

Voer onderstaande opdracht uit om het pakket debian-goodies te installeren.

sudo apt-get install debian-goodies

Zodra het pakket debian-goodies is geïnstalleerd, is het nu tijd om in de rest van het artikel het gebruik van elk hulpprogramma van dit pakket te bekijken.

Hoe u de hulpprogramma's van Debian-Goodies gebruikt

1. dglob-hulpprogramma

De dglob genereert een lijst met namen van pakketten of bestanden zoals gespecificeerd in een patroon. Om de naam van alle pakketten te genereren, voert u eenvoudigweg dglob uit of voegt u de optie -a toe.

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
...

Om erachter te komen of er een pakket op uw systeem bestaat, voert u dglob uit met de pakketnaam. In het onderstaande voorbeeld zoeken we naar Firefox, Apache2 en 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

U kunt een lijst afdrukken met alle bestanden in het opgegeven pakket met behulp van de -f opties.

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. Hoe het dgrep-hulpprogramma te gebruiken

Het hulpprogramma dgreb wordt gebruikt om te zoeken naar bestanden in opgegeven pakketnamen voor een reguliere expressie. Het grept in principe door bestanden van pakketten die op je systeem zijn geïnstalleerd en de meeste van de gebruikte opties zijn die van grep, op enkele na.

Om een patroon te specificeren, gebruikt u de -e optie als volgt.

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.
...

Om de naam af te drukken van elk invoerbestand waaruit de uitvoer zou zijn afgedrukt, gebruikt u de optie -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
...

Om alleen overeenkomende delen van een overeenkomende regel weer te geven, gebruikt u de optie -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. Het dpigs-hulpprogramma gebruiken

Dit hulpprogramma wordt gebruikt om pakketten weer te geven die de meeste ruimte op uw systeem hebben gebruikt. Dit is erg belangrijk, vooral als u bijna geen ruimte meer heeft en een aantal pakketten wilt verwijderen.

Om te ontdekken welke pakketten de meeste ruimte op uw systeem in beslag nemen, voert u eenvoudigweg deze opdracht uit.

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

U kunt de optie -H gebruiken om pakketgroottes in een voor mensen leesbaar formaat te lezen.

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

Om een bepaald aantal pakketten op te geven naast de standaardwaarde van 10, gebruikt u de optie -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

Om hulp te zoeken bij het gebruik van dpigs, gebruik je de -h optie.

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. Hoe u het debget-hulpprogramma gebruikt

De debget wordt gebruikt om een gegeven .deb voor een pakket op te halen uit de pakketdatabase van APT. In de volgende voorbeelden zullen we .deb-bestanden ophalen voor apache2-, zip- en tar-hulpprogramma's.

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

Alle opgehaalde .deb-pakketten.

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. Hoe u het debmany-hulpprogramma gebruikt

Het wordt gebruikt om de handmatige invoerpagina's van geïnstalleerde of niet-geïnstalleerde pakketten op uw systeem te selecteren. Met dit hulpprogramma kunt u alle manpagina's van een pakket bekijken.

Enkele van de volgende opties die u met debmany kunt gebruiken om de manpagina weer te geven met behulp van de viewer van uw keuze:

Als u de KDE-desktopomgeving gebruikt, gebruik dan de -k optie om kfmclient te gebruiken.

root@tecmint:~# debmany -k tar

Opmerking: Ik heb KDE DE niet op mijn systeem geïnstalleerd, dus het is moeilijk om de uitvoer van het bovenstaande commando te tonen.

Als u de GNOME-desktopomgeving gebruikt, gebruik dan de -g optie om gnome-open te gebruiken.

root@tecmint:~# debmany -g tar

Als u de KDE/GNOME/Xfce-desktopomgeving gebruikt, gebruik dan de optie -x om kdg-open te gebruiken.

root@tecmint:~# debmany -x tar

Zorg ervoor dat de bovenstaande viewers zijn geïnstalleerd voordat u ze kunt gebruiken, anders krijgt u mogelijk een foutmelding.

6. Hoe u het checkrestart-hulpprogramma gebruikt

De chechstart wordt gebruikt om processen te vinden en opnieuw te starten die oude versies gebruiken van bestanden die al zijn geüpgraded.

Om checkrestart bij alle processen te gebruiken, gebruikt u de optie -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
...

Om te specificeren dat alleen verwijderde bestanden moeten worden verwerkt die aan een bepaald pakket op het systeem zijn gekoppeld, gebruikt u de optie -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

U kunt gedetailleerde uitvoerinformatie genereren door de optie -v te gebruiken.

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. Het popbugs-hulpprogramma gebruiken

Het wordt gebruikt om een lijst met aangepaste release-kritieke bugs weer te geven, gebaseerd op de pakketten die u gewoonlijk op uw systeem gebruikt. Wanneer u popbugs voor de eerste keer uitvoert zonder enige optie, wordt een bericht weergegeven zoals hieronder.

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

Voer onderstaande opdracht uit om het populariteitswedstrijd-logboek te genereren.

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

Om uitvoer in een bestand op te slaan, gebruikt u de optie –output=/pad/naar/bestand. Het uitvoerbestand moet een html-bestand zijn.

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

Om het uitvoerbestand te bekijken, opent u het bestand vanuit de webbrowser door de bestandslocatie op te geven.

Om foutopsporingsinformatie weer te geven, gebruikt u de optie -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. Hoe u het hulpprogramma who-pkg-broke gebruikt

Het wordt gebruikt om pakketten te vinden die een ander pakket kapot hebben gemaakt. Soms kan uw systeem defect raken door bepaalde pakketten, vooral tijdens het upgraden ervan. Daarom kan welke-pkg-broke u helpen de pakketten te vinden die uw systeem kapot hebben gemaakt of een bepaald pakket op het systeem.

Om pakketten te vinden die apache2 kapot hebben gemaakt, voer je onderstaande opdracht uit.

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
...

Samenvatting

Er zijn veel andere hulpprogramma's die verband houden met de hulpprogramma's die we hebben bekeken, waarover we in volgende artikelen mogelijk meer te weten komen. Ik hoop dat je deze handleiding nuttig vindt en als je fouten krijgt bij het gebruik ervan of als je andere ideeën hebt om toe te voegen, plaats dan een reactie. Blijf verbonden met Tecmint.