Debian

Búsqueda de paquetes Debian

Búsqueda de paquetes Debian

Debian 9, cuyo nombre en código es 'Stretch', tiene un enorme repositorio de más de 68.000 paquetes. Ya sean juegos, fuentes, editores, bases de datos o herramientas de desarrollo, lo más probable es que lo encuentre allí. La clave, sin embargo, es encontrar eso. A menos que sepa el nombre exacto del paquete, encontrar un paquete en particular en un repositorio tan grande es como buscar una aguja en un pajar. A veces, el nombre del paquete es diferente al nombre del programa. Por ejemplo, iostat, un programa útil para informar estadísticas de E / S de CPU y disco, está empaquetado con el nombre sysstat. Otras veces, no conoce ni el nombre del paquete ni el nombre del comando. En cambio, solo conoce su función, lo que se supone que debe hacer.

Para buscar paquetes, existen varios métodos con diferentes niveles de potencia y usabilidad. El sitio web de Debian tiene una lista de todos los paquetes de Debian. Por lo tanto, puede usar la función de búsqueda de su navegador o descargar la lista como un archivo de texto comprimido y usar grep. De cualquier manera, se requiere mucho trabajo manual para filtrar la lista. La buena noticia es que se encuentran disponibles potentes herramientas automatizadas para acelerar el filtrado.

Debian proporciona administradores de paquetes gráficos y de línea de comandos para buscar y filtrar paquetes. Las herramientas basadas en GUI, como Synaptic, generalmente sobresalen en usabilidad. Sin embargo, no todas las máquinas, especialmente los servidores de producción, tienen instalado el escritorio gráfico. Para esas máquinas, Synaptic simplemente no es una opción. En esta publicación, nos enfocamos en herramientas de línea de comandos para buscar paquetes Debian.


Información de contexto

Los administradores del sistema Debian definen las fuentes de los paquetes en el archivo / etc / apt / sources.lista. Entre otras cosas, el archivo especifica que solo los paquetes de una versión particular de Debian (p.gramo., Stretch vs Buster), y de ciertas categorías de componentes (e.gramo., main, contrib y non-free) se pueden descargar. Los metadatos de todos los paquetes elegibles se descargan en la caché de paquetes local, mediante el comando apt-get update.

Los mantenedores de paquetes ascendentes pueden agregar y eliminar paquetes en cualquier momento. Para asegurarse de que su caché de paquetes local tenga la información de metadatos más reciente, debe actualizar la caché ('apt-get update') antes de realizar una búsqueda.

Ahora que está listo para realizar búsquedas, puede hacerlo como usuario habitual. No es necesario convertirse en root para ejecutar una búsqueda. Esto se debe a que una búsqueda simplemente realiza consultas, no cambios, en la caché de paquetes. Además, la máquina ni siquiera necesita estar en línea porque los comandos de búsqueda solo acceden al caché local, no a los repositorios remotos.

El alcance de una búsqueda está restringido a lo que se especifica en las fuentes.archivo de lista. Por ejemplo, si el archivo solo permite paquetes de componentes principales y contrib, sus búsquedas no devolverán paquetes que no sean gratuitos.

Para resumir:

  1. Antes de ejecutar una búsqueda, ejecute 'apt-get update' para actualizar la caché del paquete.
  2. Puede ejecutar un comando de búsqueda como usuario normal (no se requieren privilegios de root).
  3. No se requiere conexión a Internet para ejecutar un comando de búsqueda.
  4. Los resultados de la búsqueda están restringidos al alcance definido por las fuentes.archivo de lista.

apt-cache

Si conoce el nombre del paquete, aunque sea parcialmente, puede pasar el nombre parcial como un argumento de expresión regular a apt-cache. Por ejemplo, sabe que el nombre del paquete es una variación del tema dos a unix, como dostounix, dos2unix, dos-to-unix, etc. El comando de búsqueda y su salida son los siguientes:

$ apt-cache search - DOS solo por nombres.+unix
dos2unix: convierte las terminaciones de línea de un archivo de texto entre CRLF y LF

Notas:

  1. -names-only (o -n en forma abreviada) especifica que solo los nombres de los paquetes, no las descripciones, coinciden. (El valor predeterminado es tanto el nombre como la descripción.)
  2. dos.+unix es una expresión regular que coincide con el nombre del paquete dos2unix. Consulte regex (7) para obtener ayuda sobre la sintaxis.

¿Qué haces si solo sabes lo que hace el paquete?.mi., su función, pero no su nombre? En este caso, está buscando un programa para convertir archivos de texto del formato DOS a UNIX. El comando de búsqueda a utilizar y su salida son los siguientes:

$ Apt-cache search convertir dos unix
dos2unix: convierte las terminaciones de línea de un archivo de texto entre CRLF y LF
flip - convierte las terminaciones de línea de archivos de texto entre formatos Unix y DOS
fondu: convierte entre formatos de fuente Mac y UNIX
tofrodos - Convierte DOS <-> Archivos de texto Unix, alias tofromdos

De forma predeterminada, apt-cache intenta hacer coincidir las palabras clave de búsqueda con el nombre del paquete y la descripción larga del paquete. La esperanza aquí es que las palabras clave funcionales coincidan con las palabras que usa el mantenedor del paquete en su descripción larga. Tenga en cuenta que varias palabras clave (convertir, dos, unix) se editan con Y juntas.

apto

El comando apt es una nueva herramienta de administración de paquetes que fusiona las funcionalidades básicas de apt-get y apt-cache. Está diseñado para usarse de forma interactiva, en lugar de en un guión. Por ejemplo, la salida de apt está coloreada para mejorar la legibilidad. Dejando de lado la estética, los comandos apt y apt-cache comparten una sintaxis similar que incluye opciones de comando.

El siguiente ejemplo busca un paquete haciendo coincidir la expresión regular dos.+unix, solo contra los nombres de los paquetes (de forma predeterminada, contra el nombre y la descripción).

$ Apt search - DOS solo con nombres.+unix
Ordenando… Listo
Búsqueda de texto completo ... Hecho
dos2unix / estable, ahora 7.3.4-3 amd64 [instalado]
convertir las terminaciones de línea de archivos de texto entre CRLF y LF

apt-file

Aunque apt-cache (y apt) pueden ayudarlo a buscar un paquete al hacer coincidir palabras clave funcionales, la búsqueda a menudo es impredecible. El éxito depende demasiado de cómo el mantenedor del paquete escribe la descripción larga del paquete. Sin embargo, en realidad, es posible que conozca información adicional sobre el paquete, como el nombre del comando o un archivo que se incluye en el paquete. La herramienta a utilizar entonces es apt-file.

El comando apt-file no está instalado por defecto en un sistema Debian. Para instalar, ejecute como root:

$ apt-get install apt-file

Antes de ejecutar apt-file por primera vez, actualice la caché de paquetes actualizando la caché de paquetes local ('apt-get update').

Suponga que desea encontrar el paquete que contiene el comando iostat. El comando a usar y la salida abreviada son los siguientes:

$ apt-file búsqueda iostat
..   <12 lines snipped>..
linux-manual-4.9: / usr / share / man / man9 / rpc_count_iostats_metrics.9.gz
linux-manual-4.9: / usr / share / man / man9 / rpc_free_iostats.9.gz
manpages-fr-extra: / usr / share / man / fr / man8 / nfsiostat.8.gz
munin-plugins-extra: / usr / share / munin / plugins / iostat
munin-plugins-extra: / usr / share / munin / plugins / iostat_ios
nagios-plugin-check-multi: / usr / share / doc / nagios-plugin-check-multi / examples / nagiostats.cmd
nfs-común: / usr / sbin / nfsiostat
nfs-common: / usr / share / man / man8 / nfsiostat.8.gz
nixstatsagent: / usr / lib / python2.7 / dist-packages / nixstatsagent / plugins / iostat.py
sysstat: / usr / bin / cifsiostat
sysstat: / usr / bin / iostat
sysstat: / usr / share / man / man1 / cifsiostat.1.gz
sysstat: / usr / share / man / man1 / iostat.1.gz
zsh-common: / usr / share / zsh / functions / Finalización / Unix / _iostat

apt-file funciona haciendo coincidir el argumento iostat como una subcadena con los nombres de ruta de todos los archivos en un paquete. La búsqueda anterior arroja 46 resultados, i.mi., un total de 46 archivos en la caché local contienen iostat en sus nombres de ruta, lo cual es mucho para examinar manualmente.

Para reducir la búsqueda, convierta el argumento en una expresión regular usando la marca -x.

$ Apt-file -x buscar '/ iostat $'
munin-plugins-extra: / usr / share / munin / plugins / iostat
sysstat: / usr / bin / iostat

La expresión regular, / iostat $, solo coincide con los nombres de ruta que terminan exactamente con iostat. Para la sintaxis de expresiones regulares, consulte perlreref (1).

La nueva salida tiene solo 2 resultados, y puede leer rápidamente el nombre del paquete (sysstat) que contiene el comando iostat.


Conclusión

Las distribuciones de Linux en general y Debian, en particular, son conocidas por sus enormes repositorios oficiales de paquetes. Pero encontrar el que desea entre decenas de miles de paquetes puede ser todo un desafío. Tenga la seguridad de que no necesita saber el nombre exacto del paquete. Los comandos apt-cache y apt pueden filtrar paquetes según las palabras clave en la descripción del paquete. Alternativamente, si conoce el nombre del archivo binario del programa, el comando apt-file puede usarlo para identificar paquetes que contienen un archivo con el mismo nombre.

El botón de clic izquierdo del mouse no funciona en Windows 10
Si está utilizando un mouse dedicado con su computadora portátil o computadora de escritorio, pero el el botón izquierdo del mouse no funciona en Wind...
El cursor salta o se mueve aleatoriamente mientras escribe en Windows 10
Si descubre que el cursor del mouse salta o se mueve por sí solo, automáticamente, de manera aleatoria mientras escribe en una computadora portátil o ...
Cómo invertir la dirección de desplazamiento del mouse y los paneles táctiles en Windows 10
Ratón y Panel táctils no solo facilitan la informática, sino que también hacen que sea más eficiente y requieran menos tiempo. No podemos imaginar una...