Recherche de site Web

Comment utiliser 8 « utilitaires Debian Goodies » utiles pour gérer les paquets Debian


Debian-goodies est un package qui comprend des utilitaires de type boîte à outils utilisés pour gérer Debian et ses systèmes dérivés tels que Ubuntu, Kali Linux. Les utilitaires de ce paquet sont développés de manière à pouvoir être combinés avec de nombreux outils shell reconnus et d'autres sont inclus car ils ne peuvent pas être développés en tant que propres paquets sur les distributions Linux basées sur Debian.

Dans ce guide, nous verrons comment utiliser les utilitaires du paquet debian-goodies qui incluent dglob, debget, dpigs<, dgrep, debmany, checkrestart, popbugs et which-pkg-broke fort>.

Voyons la description de chaque outil ci-dessous :

  1. dglob – Produire une liste de noms de packages qui correspondent à un modèle
  2. dgrep – Rechercher une expression régulière dans tous les fichiers des packages donnés
  3. dpigs – Affiche les packages installés qui occupent le plus d'espace disque
  4. debget – Obtenez un .deb pour un package dans la base de données d'APT
  5. debmany – Choisissez les pages de manuel des packages installés ou supprimés
  6. checkrestart – Recherche et redémarre les processus qui utilisent des versions obsolètes des fichiers mis à niveau
  7. popbugs – Afficher un rapport personnalisé de bogues critiques pour la version basé sur les packages que vous utilisez
  8. which-pkg-broke – Détecter quel paquet aurait pu en casser un autre

Ce sont des utilitaires très utiles qui peuvent rendre l'administration système beaucoup plus simple lorsqu'ils sont utilisés avec d'autres outils shell. En fait, l'outil Debian-goodies affiche plus d'informations sur les paquets que les outils standard tels que les outils dpkg et apt.

Lire aussi : Apprenez 15 commandes dpkg et 25 commandes apt-get pour gérer les paquets dans Debian et ses dérivés.

Comment installer les goodies Debian dans Debian, Ubuntu et Linux Mint

Pour installer le paquet debian-goodies, exécutez cette commande ci-dessous.

sudo apt-get install debian-goodies

Une fois le paquet debian-goodies installé, il est maintenant temps de vérifier l'utilisation de chaque utilitaire fourni par ce paquet dans la suite de l'article.

Comment utiliser les utilitaires Debian-Goodies

1. Utilitaire dglob

Le dglob génère une liste de noms de packages ou de fichiers comme spécifié dans un modèle. Pour générer le nom de tous les packages, exécutez simplement dglob ou incluez l'option -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
...

Pour savoir si un package existe sur votre système, exécutez dglob avec le nom du package. Dans l'exemple ci-dessous, nous rechercherons Firefox, Apache2 et 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

Vous pouvez imprimer une liste de tous les fichiers du package spécifié en utilisant les options -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. Comment utiliser l'utilitaire dgrep

L'utilitaire dgreb est utilisé pour rechercher des fichiers dans les noms de packages spécifiés pour une expression régulière. Il greps les fichiers des packages installés sur votre système et la plupart des options utilisées avec sont celles utilisées avec grep, à l'exception de quelques-unes.

Pour spécifier un modèle, utilisez l'option -e comme suit.

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

Pour imprimer le nom de chaque fichier d'entrée à partir duquel la sortie aurait été imprimée, utilisez l'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
...

Pour afficher uniquement les parties correspondantes d'une ligne correspondante, utilisez l'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. Comment utiliser l'utilitaire dpigs

Cet utilitaire est utilisé pour afficher les packages qui ont utilisé le plus d'espace sur votre système. C'est très important surtout lorsque vous manquez d'espace et que vous souhaitez supprimer certains packages.

Pour connaître les packages consommant le plus d’espace sur votre système, exécutez simplement cette commande.

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

Vous pouvez utiliser l'option -H pour lire les tailles de paquet dans un format lisible par l'homme.

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

Pour spécifier un nombre donné de packages en dehors de la valeur par défaut qui est 10, utilisez l'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

Pour demander de l'aide sur l'utilisation de dpigs, utilisez l'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. Comment utiliser l'utilitaire Debget

Le debget est utilisé pour obtenir un .deb donné pour un package à partir de la base de données de packages d'APT. Dans les exemples suivants, nous récupérerons les fichiers .deb pour les utilitaires Apache2, Zip et 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

Tous les packages .deb récupérés.

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. Comment utiliser l'utilitaire Debmany

Il est utilisé pour sélectionner les pages de saisie manuelle des packages installés ou désinstallés sur votre système. Cet utilitaire vous permet de visualiser toutes les pages de manuel d'un package.

Certaines des options suivantes que vous pouvez utiliser avec debmany pour afficher la page de manuel à l'aide de la visionneuse de votre choix :

Si vous utilisez l'environnement de bureau KDE, utilisez l'option -k pour utiliser kfmclient.

root@tecmint:~# debmany -k tar

Remarque : KDE DE n'est pas installé sur mon système, il est donc difficile d'afficher le résultat de la commande ci-dessus.

Si vous utilisez l'environnement de bureau GNOME, utilisez l'option -g pour utiliser gnome-open.

root@tecmint:~# debmany -g tar

Si vous utilisez l'environnement de bureau KDE/GNOME/Xfce, utilisez l'option -x pour utiliser kdg-open.

root@tecmint:~# debmany -x tar

Assurez-vous que les visionneuses ci-dessus sont installées avant de pouvoir les utiliser, sinon vous risquez d'obtenir une erreur.

6. Comment utiliser l'utilitaire checkrestart

Le chechstart est utilisé pour rechercher et redémarrer les processus qui utilisent d'anciennes versions de fichiers déjà mis à niveau.

Pour utiliser checkrestart avec tous les processus, utilisez l'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
...

Pour spécifier uniquement le traitement des fichiers supprimés qui sont joints à un package donné sur le système, utilisez l'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

Vous pouvez générer des informations de sortie détaillées en utilisant l'option -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. Comment utiliser l'utilitaire popbugs

Il est utilisé pour afficher une liste de bogues critiques personnalisés en fonction des packages que vous utilisez couramment sur votre système. Lorsque vous exécutez popbugs sans aucune option pour la première fois, il vous montrera un message tel que celui ci-dessous.

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

Pour générer le journal du concours de popularité, exécutez cette commande ci-dessous.

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

Pour stocker la sortie dans un fichier, utilisez l'option –output=/path/to/file. Le fichier de sortie doit être un fichier html.

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

Pour afficher le fichier de sortie, ouvrez le fichier à partir du navigateur Web en spécifiant l'emplacement du fichier.

Pour afficher les informations de débogage, utilisez l'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. Comment utiliser l'utilitaire which-pkg-broke

Il est utilisé pour rechercher des packages qui ont cassé un autre package. Parfois, votre système peut être cassé par certains packages, notamment lors de sa mise à niveau. Par conséquent, which-pkg-broke peut vous aider à trouver les packages qui ont cassé votre système ou un package particulier sur le système.

Pour découvrir les packages qui ont cassé Apache2, exécutez cette commande ci-dessous.

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

Résumé

Il existe de nombreux autres utilitaires liés à ceux que nous avons examinés, que nous pourrons découvrir dans les articles suivants. J'espère que vous trouverez ce guide utile et si vous rencontrez des erreurs lors de leur utilisation ou si vous avez d'autres idées à ajouter, veuillez poster un commentaire. Restez connecté à Tecmint.