Website-Suche

So verwenden Sie 8 nützliche „Debian Goodies Utilities“ zum Verwalten von Debian-Paketen


Debian-goodies ist ein Paket, das Dienstprogramme im Toolbox-Stil enthält, die zur Verwaltung von Debian und seinen abgeleiteten Systemen wie Ubuntu und Kali Linux verwendet werden. Die Dienstprogramme in diesem Paket sind so entwickelt, dass sie mit vielen anerkannten Shell-Tools kombiniert werden können. Andere sind enthalten, da sie nicht als eigene Pakete auf Debian-basierten Linux-Distributionen entwickelt werden können.

In diesem Handbuch werden wir uns mit der Verwendung der Dienstprogramme im Paket debian-goodies befassen, zu denen dglob, debget und dpigs< gehören, dgrep, debmany, checkrestart, popbugs und which-pkg-broke.

Sehen wir uns unten die Beschreibung jedes Tools an:

  1. dglob – Erstellt eine Liste von Paketnamen, die einem Muster entsprechen
  2. dgrep – Durchsucht alle Dateien in bestimmten Paketen nach einem regulären Ausdruck
  3. dpigs – Zeigt an, welche installierten Pakete den meisten Speicherplatz beansprucht haben
  4. debget – Erhalten Sie eine .deb für ein Paket in der APT-Datenbank
  5. debmany – Wählen Sie Manpages installierter oder entfernter Pakete
  6. checkrestart – Findet und startet Prozesse neu, die veraltete Versionen aktualisierter Dateien verwenden
  7. popbugs – Zeigen Sie einen angepassten veröffentlichungskritischen Fehlerbericht basierend auf den von Ihnen verwendeten Paketen an
  8. which-pkg-broke – Ermitteln Sie, welches Paket möglicherweise ein anderes kaputt gemacht hat

Dies sind sehr nützliche Dienstprogramme, die die Systemverwaltung bei Verwendung mit anderen Shell-Tools erheblich vereinfachen können. Tatsächlich zeigt das Debian-Goodies-Tool mehr Informationen über Pakete an als Standardtools wie dpkg und apt tools.

Lesen Sie auch: Lernen Sie 15 dpkg-Befehle und 25 apt-get-Befehle zum Verwalten von Paketen in Debian und seinen Derivaten.

So installieren Sie Debian-Goodies in Debian, Ubuntu und Linux Mint

Um das Paket debian-goodies zu installieren, führen Sie den folgenden Befehl aus.

sudo apt-get install debian-goodies

Sobald das Paket debian-goodies installiert wurde, ist es nun an der Zeit, im Rest des Artikels die Verwendung jedes von diesem Paket bereitgestellten Dienstprogramms zu überprüfen.

So verwenden Sie die Debian-Goodies-Dienstprogramme

1. dglob-Dienstprogramm

Der dglob generiert eine Liste mit Namen von Paketen oder Dateien, wie in einem Muster angegeben. Um den Namen aller Pakete zu generieren, führen Sie einfach dglob aus oder schließen Sie die Option -a ein.

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

Um herauszufinden, ob ein Paket auf Ihrem System vorhanden ist, führen Sie dglob mit dem Paketnamen aus. Im folgenden Beispiel suchen wir nach Firefox, Apache2 und 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

Mit den Optionen -f können Sie eine Liste aller Dateien im angegebenen Paket ausdrucken.

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. Verwendung des dgrep-Dienstprogramms

Das Dienstprogramm dgreb wird verwendet, um nach Dateien in angegebenen Paketnamen für einen regulären Ausdruck zu suchen. Es durchsucht grundsätzlich Dateien von Paketen, die auf Ihrem System installiert sind, und die meisten der mit verwendeten Optionen sind bis auf einige die, die mit grep verwendet werden.

Um ein Muster anzugeben, verwenden Sie die Option -e wie folgt.

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

Um den Namen jeder Eingabedatei zu drucken, aus der die Ausgabe gedruckt worden wäre, verwenden Sie die Option -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
...

Um nur übereinstimmende Teile einer übereinstimmenden Zeile anzuzeigen, verwenden Sie die Option -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. So verwenden Sie das dpigs-Dienstprogramm

Dieses Dienstprogramm wird verwendet, um Pakete anzuzeigen, die den meisten Speicherplatz auf Ihrem System belegt haben. Dies ist besonders wichtig, wenn Ihnen der Speicherplatz ausgeht und Sie einige Pakete entfernen möchten.

Um herauszufinden, welche Pakete den meisten Speicherplatz auf Ihrem System beanspruchen, führen Sie einfach diesen Befehl aus.

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

Mit der Option -H können Sie Paketgrößen in einem für Menschen lesbaren Format lesen.

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

Um eine bestimmte Anzahl von Paketen außer dem Standardwert 10 anzugeben, verwenden Sie die Option -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

Um Hilfe bei der Verwendung von dpigs zu erhalten, verwenden Sie die Option -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. So verwenden Sie das Debget-Dienstprogramm

Das debget wird verwendet, um eine bestimmte .deb für ein Paket aus der Paketdatenbank von APT abzurufen. In den nächsten Beispielen werden wir .deb-Dateien für die Dienstprogramme Apache2, ZIP und TAR abrufen.

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 abgerufenen .deb-Pakete.

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. So verwenden Sie das Debmany-Dienstprogramm

Es wird verwendet, um die manuellen Eintragsseiten der auf Ihrem System installierten oder deinstallierten Pakete auszuwählen. Mit diesem Dienstprogramm können Sie alle Manpages eines Pakets anzeigen.

Einige der folgenden Optionen können Sie mit debmany verwenden, um die Manpage mit dem Viewer Ihrer Wahl anzuzeigen:

Wenn Sie die KDE-Desktopumgebung verwenden, verwenden Sie die Option -k, um kfmclient zu verwenden.

root@tecmint:~# debmany -k tar

Hinweis: Ich habe KDE DE nicht auf meinem System installiert, daher ist es schwierig, die Ausgabe des obigen Befehls anzuzeigen.

Wenn Sie die GNOME-Desktopumgebung verwenden, verwenden Sie die Option -g, um gnome-open zu verwenden.

root@tecmint:~# debmany -g tar

Wenn Sie eine KDE/GNOME/Xfce-Desktopumgebung verwenden, verwenden Sie die Option -x, um kdg-open zu verwenden.

root@tecmint:~# debmany -x tar

Stellen Sie sicher, dass die oben genannten Viewer installiert sind, bevor Sie sie verwenden können. Andernfalls wird möglicherweise eine Fehlermeldung angezeigt.

6. So verwenden Sie das Dienstprogramm checkrestart

Der chechstart wird verwendet, um Prozesse zu finden und neu zu starten, die alte Versionen von Dateien verwenden, die bereits aktualisiert wurden.

Um checkrestart für alle Prozesse zu verwenden, verwenden Sie die Option -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
...

Um anzugeben, dass nur gelöschte Dateien verarbeitet werden sollen, die an ein bestimmtes Paket auf dem System angehängt sind, verwenden Sie die Option -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

Mit der Option -v können Sie detaillierte Ausgabeinformationen generieren.

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. So verwenden Sie das Popbugs-Dienstprogramm

Es wird verwendet, um eine Liste angepasster veröffentlichungskritischer Fehler anzuzeigen, die auf den Paketen basiert, die Sie häufig auf Ihrem System verwenden. Wenn Sie popbugs zum ersten Mal ohne Option ausführen, wird eine Meldung wie die folgende angezeigt.

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

Um das popularity-contest-Protokoll zu generieren, führen Sie den folgenden Befehl aus.

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

Um die Ausgabe in einer Datei zu speichern, verwenden Sie die Option –output=/path/to/file. Die Ausgabedatei sollte eine HTML-Datei sein.

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

Um die Ausgabedatei anzuzeigen, öffnen Sie die Datei im Webbrowser, indem Sie den Speicherort der Datei angeben.

Um Debugging-Informationen anzuzeigen, verwenden Sie die Option -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. So verwenden Sie das Dienstprogramm „which-pkg-broke“.

Es wird verwendet, um Pakete zu finden, die ein anderes Paket beschädigt haben. Manchmal kann es vorkommen, dass Ihr System durch bestimmte Pakete beschädigt wird, insbesondere wenn Sie ein Upgrade durchführen. Daher kann Ihnen which-pkg-broke dabei helfen, die Pakete zu finden, die Ihr System beschädigt haben, oder ein bestimmtes Paket auf dem System.

Um Pakete herauszufinden, die Apache2 beschädigt haben, führen Sie den folgenden Befehl aus.

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

Zusammenfassung

Es gibt viele andere Dienstprogramme, die mit den von uns betrachteten Dienstprogrammen verwandt sind und über die wir in den folgenden Artikeln mehr erfahren werden. Ich hoffe, dass Sie diesen Leitfaden nützlich finden. Wenn bei der Verwendung Fehler auftreten oder Sie weitere Ideen hinzufügen möchten, hinterlassen Sie bitte einen Kommentar. Bleiben Sie mit Tecmint in Verbindung.