Búsqueda de sitios web

Cómo utilizar 8 útiles 'utilidades de Debian Goodies' para administrar paquetes de Debian


Debian-goodies es un paquete que incluye utilidades estilo caja de herramientas que se utilizan para administrar Debian y sus sistemas derivados, como Ubuntu y Kali Linux. Las utilidades de este paquete están desarrolladas de tal manera que se combinan con muchas herramientas de shell reconocidas y se incluyen otras porque no pueden desarrollarse como paquetes propios en distribuciones de Linux basadas en Debian.

En esta guía veremos cómo utilizar las utilidades del paquete debian-goodies que incluyen dglob, debget, dpigs<, dgrep, debmany, checkrestart, popbugs y cuál-paquete-rompió fuerte>.

Veamos la descripción de cada herramienta a continuación:

  1. dglob: produce una lista de nombres de paquetes que coinciden con un patrón.
  2. dgrep: busca una expresión regular en todos los archivos de paquetes determinados
  3. dpigs: muestra qué paquetes instalados ocupan más espacio en disco
  4. debget: obtenga un .deb para un paquete en la base de datos de APT
  5. debmany: elija páginas de manual de paquetes instalados o eliminados
  6. checkrestart: busca y reinicia procesos que utilizan versiones obsoletas de archivos actualizados.
  7. popbugs: muestra un informe personalizado de errores críticos para la versión basado en los paquetes que utilizas
  8. what-pkg-broke: detecta qué paquete podría haber roto otro

Estas son utilidades muy útiles que pueden hacer que la Administración del sistema sea mucho más fácil cuando se usan con otras herramientas de shell. De hecho, la herramienta Debian-goodies muestra más información sobre paquetes que las herramientas estándar como dpkg y apt.

Lea también: aprenda 15 comandos dpkg y 25 comandos apt-get para administrar paquetes en Debian y sus derivados.

Cómo instalar Debian-goodies en Debian, Ubuntu y Linux Mint

Para instalar el paquete debian-goodies, ejecute este comando a continuación.

sudo apt-get install debian-goodies

Una vez instalado el paquete debian-goodies, es el momento de comprobar el uso de cada utilidad proporcionada por este paquete en el resto del artículo.

Cómo utilizar las utilidades Debian-Goodies

1. Utilidad dglob

El dglob genera una lista de nombres de paquetes o archivos como se especifica en un patrón. Para generar el nombre de todos los paquetes, simplemente ejecute dglob o incluya la opción -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
...

Para saber si existe un paquete en su sistema, ejecute dglob con el nombre del paquete. En el siguiente ejemplo buscaremos Firefox, Apache2 y 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

Puede imprimir una lista de todos los archivos en el paquete especificado usando las opciones -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. Cómo utilizar la utilidad dgrep

La utilidad dgreb se utiliza para buscar archivos en nombres de paquetes específicos para una expresión regular. Básicamente, busca archivos de paquetes que están instalados en su sistema y la mayoría de las opciones utilizadas son las que se usan con grep, excepto unas pocas.

Para especificar un patrón, utilice la opción -e de la siguiente manera.

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

Para imprimir el nombre de cada archivo de entrada desde el cual se habría impreso la salida, use la opción -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
...

Para mostrar solo partes coincidentes de una línea coincidente, use la opción -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. Cómo utilizar la utilidad dpigs

Esta utilidad se utiliza para mostrar los paquetes que han utilizado la mayor cantidad de espacio en su sistema. Es muy importante especialmente cuando te estás quedando sin espacio y quieres eliminar algunos paquetes.

Para descubrir los paquetes que consumen más espacio en su sistema, simplemente ejecute este comando.

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

Puede utilizar la opción -H para leer los tamaños de los paquetes en un formato legible por humanos.

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

Para especificar un número determinado de paquetes además del valor predeterminado que es 10, utilice la opción -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

Para buscar ayuda sobre el uso de dpigs, utilice la opción -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. Cómo utilizar la utilidad debget

El debget se utiliza para obtener un .deb determinado para un paquete de la base de datos de paquetes de APT. En los siguientes ejemplos buscaremos archivos .deb para las utilidades apache2, zip y 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

Todos los paquetes .deb recuperados.

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. Cómo utilizar la utilidad debmany

Se utiliza para seleccionar las páginas de entrada manual de paquetes instalados o desinstalados en su sistema. Esta utilidad le permite ver todas las páginas de manual de un paquete.

Puede utilizar algunas de las siguientes opciones con debmany para mostrar la página de manual utilizando el visor de su elección:

Si utiliza el entorno de escritorio KDE, utilice la opción -k para utilizar kfmclient.

root@tecmint:~# debmany -k tar

Nota: No tengo KDE DE instalado en mi sistema, por lo que es difícil mostrar el resultado del comando anterior.

Si usa el entorno de escritorio GNOME, use la opción -g para usar gnome-open.

root@tecmint:~# debmany -g tar

Si usa el entorno de escritorio KDE/GNOME/Xfce, use la opción -x para usar kdg-open.

root@tecmint:~# debmany -x tar

Asegúrese de que los visores anteriores estén instalados antes de poder usarlos; de lo contrario, podría recibir un error.

6. Cómo utilizar la utilidad checkrestart

chechstart se utiliza para buscar y reiniciar procesos que utilizan versiones antiguas de archivos que ya se han actualizado.

Para usar checkrestart con todos los procesos, use la opción -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
...

Para especificar solo procesar archivos eliminados que están adjuntos a un paquete determinado en el sistema, use la opción -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

Puede generar información de salida detallada utilizando la opción -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. Cómo utilizar la utilidad popbugs

Se utiliza para mostrar una lista de errores críticos de lanzamiento personalizados según los paquetes que usa comúnmente en su sistema. Cuando ejecutas popbugs sin ninguna opción por primera vez, te mostrará un mensaje como el siguiente.

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

Para generar el registro del concurso de popularidad, ejecute este comando a continuación.

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

Para almacenar la salida en un archivo, utilice la opción –output=/path/to/file. El archivo de salida debe ser un archivo html.

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

Para ver el archivo de salida, abra el archivo desde el navegador web especificando la ubicación del archivo.

Para mostrar información de depuración, utilice la opción -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. Cómo utilizar la utilidad Which-pkg-broke

Se utiliza para encontrar paquetes que han roto otro paquete. A veces, ciertos paquetes pueden dañar su sistema, especialmente al actualizarlo. Por lo tanto, what-pkg-broke puede ayudarle a encontrar los paquetes que han dañado su sistema o un paquete en particular en el sistema.

Para descubrir paquetes que han roto apache2, ejecute este comando a continuación.

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

Resumen

Hay muchas otras utilidades relacionadas con las que hemos visto, de las que podremos aprender en artículos posteriores. Espero que encuentre útil esta guía y si recibe algún error al usarla o tiene alguna otra idea para agregar, publique un comentario. Manténgase conectado con Tecmint.