Cómo instalar y usar ‘yum-utils’ para mantener Yum y mejorar su rendimiento

Cómo instalar y usar ‘yum-utils’ para mantener Yum y mejorar su rendimiento

Independientemente de que Fedora comience a adoptar dnf como el nuevo administrador de paquetes y la biblioteca de administración de paquetes predeterminada, no reemplazará el antiguo administrador de paquetes yum para siempre en otras distribuciones derivadas (como Red Hat Enterprise Linux. ( RHEL. y CentOS. hasta que haya demostrado ser tan confiable como yum y más sólido (según el wiki del Proyecto Fedora. a partir de 15 de noviembre de 2015, dnf. todavía está en estado comprobable). Por lo tanto, sus habilidades de administración de yum. le servirán bien durante bastante tiempo.

Yum Management usando Yum Utils  Yum Management usando Yum Utils Use ‘yum-utils’ para mantener YUM y aumentar su rendimiento

Por esa razón, en esta guía le presentaremos yum-utils. una colección de utilidades que se integran con yum para extender sus características nativas de varias maneras, haciéndolas más poderosas y fáciles de usar.

Instalación de yum-utils en RHEL/CentOS

Yum-utils. está incluido en la base repo (que está habilitado de forma predeterminada), por lo que instalarlo en cualquier distribución basada en Fedora es tan fácil como hacerlo:

# yum update && yum install yum-utils

Todas las utilidades proporcionadas por yum-utils. se instalan automáticamente con el paquete principal, que describiremos en la siguiente sección.

Explore las utilidades proporcionadas por el paquete yum-utils

Las herramientas proporcionadas por yum-utils. se enumeran en su página de manual:

# man yum-utils freestar.config.enabled_slots.push

Aquí hay 10 de esas utilidades yum. que pensamos que le interesarían:

1. Depurar un paquete

debuginfo-install . instala el Los paquetes debuginfo. (y sus dependencias) necesarios para depurar en caso de una falla o mientras se desarrollan aplicaciones que usan un paquete determinado.

Para depurar un paquete ( o cualquier otro ejecutable), También necesito instalar gdb (el depurador GNU) y usarlo para iniciar un programa en modo de depuración.

Por ejemplo:

# gdb $ (cuyo sufijo)

El comando anterior iniciar un shell gdb. donde podemos escribir las acciones que se ejecutarán. Por ejemplo, ejecutar. (como se muestra en la imagen a continuación) iniciará el programa, mientras que bt. (no se muestra) mostrará el seguimiento de la pila (también conocido como backtrace. del programa, que proporcionará una lista de llamadas a funciones que llevaron a un cierto punto en la ejecución del programa (con esta información, tanto los desarrolladores como los administradores del sistema pueden averiguar qué salió mal en caso de un bloqueo).

Otras acciones disponibles y sus resultados esperados se enumeran en man gdb.

 Depurar un paquete en Linux  Depurar un paquete en Linux Depurar un paquete en Linux 2. Buscar repositorio de paquetes instalados

El siguiente comando muestra de qué repositorio se instalaron los paquetes actualmente instalados :

# find-repos-of-install httpd postfix dovecot  Buscar repositorio de paquetes instalados en Linux  Buscar repositorio de paquetes instalados en Linux Buscar repositorio de paquetes instalados en Linux

Si se ejecuta sin argumentos, find-repos-of-install. devolverá la lista completa de paquetes instalados actualmente s.

3. Eliminar paquetes duplicados o huérfanos

package-cleanup. gestiona la limpieza de paquetes, duplicados, paquetes huérfanos (programas instalados desde una fuente distinta a los repositorios configurados actualmente) y otras inconsistencias de dependencia, incluida la eliminación de núcleos antiguos como se muestra en el siguiente ejemplo:

# package-cleanup–orphans # package-cleanup–oldkernels  Eliminar paquetes duplicados o huérfanos en Linux  Eliminar duplicado o Paquetes huérfanos en Linux Eliminar paquetes duplicados o huérfanos en Linux

No No tienes que preocuparte de que el último comando dañe tu kernel. Solo afectará a los paquetes de kernel antiguos (versiones anteriores a la que se está ejecutando actualmente) que ya no son necesarios.

4. Descubra la lista de dependencias de paquetes

repo-graph. devuelve un lista de dependencias de paquetes en formato punto. para todos los paquetes que están disponibles en los repositorios configurados. Alternativamente, repo-graph puede devolver la misma información por repositorio si se usa con la opción–repoid = .

Por ejemplo, veamos las dependencias para cada paquete en el repositorio de actualizaciones:

# repo-graph–repoid = actualizaciones | menos  Find Out Package Dependency List  Find Out Package Dependency List Find Out Package Dependency List

En el comando anterior estamos enviando la salida de repo-graph. a menos para facilitar la visualización, pero también puede redirigirlo a un archivo local para una inspección posterior:

# repo-graph–repoid = updates> updates-dependencies .txt

En cualquier caso, podemos ver que el paquete iputils. depende de systemd. y openssl-libs.

5 . Lista de verificación de dependencias no resueltas

repoclosure. lee los metadatos de los repositorios configurados, verifica las dependencias de los paquetes incluidos en ellos y muestra la lista de dependencias no resueltas para cada paquete:

# repoclosure  Mostrar lista de dependencias no resueltas Mostrar lista de dependencias no resueltas Mostrar lista de dependencias no resueltas 6. Cómo comprobar los paquetes más nuevos o más antiguos en un directorio

volver a administrar. consultas un directorio con paquetes rpm y devuelve una lista de los paquetes más nuevos o más antiguos en un directorio. Esta herramienta puede ser útil si tiene un directorio donde almacena varios paquetes .rpm. de diferentes programas.

Cuando se ejecuta sin argumentos, repomanage. devuelve los paquetes más nuevos. Si se ejecuta con la bandera–old, devolverá los paquetes más antiguos:

# ls-l # cd rpms # ls-l rpms # repomanage rpms  Verifique los paquetes RPM más nuevos y antiguos en el directorio  Verifique los paquetes RPM más nuevos más antiguos en el directorio Verifique los paquetes RPM más nuevos y más antiguos en el directorio

Tenga en cuenta que cambiar el nombre de las rpm Los paquetes NO afectarán el funcionamiento de repomanage.

7. Consulta los repositorios de Yum para obtener información sobre el paquete

repoquery. consulta los repositorios de yum y obtiene información adicional sobre los paquetes, ya sea que estén instalados o no (dependencias, archivos incluidos en el paquete, y más).

Por ejemplo, htop (Linux Process Monitoring) no está instalado actualmente en este sistema, como puede ver a continuación:

# which htop # rpm-qa | grep htop  Query RPM Package  Query RPM Package Query RPM Package

Ahora suponga que queremos listar las dependencias de htop. junto con los archivos que se incluyen en una instalación predeterminada. Para hacerlo, ejecute los siguientes dos comandos, respectivamente:

# repoquery–requires htop # repoquery–list htop Lista de dependencias del paquete RPM  Lista de dependencias del paquete RPM Enumerar las dependencias del paquete RPM 8. Volcar todos los paquetes RPM instalados en un archivo zip

yum-debug-dump. le permite volcar una lista completa de todos los paquetes que ha instalado, todos los paquetes disponibles en cualquier repositorio, la configuración importante y la información del sistema en un archivo comprimido.

Esto puede resultar útil en caso de que desee depurar un problema que ha ocurrido. Para nuestra comodidad, yum-debug-dump. nombra el archivo como yum_debug_dump-. lo que nos permite rastrear los cambios a lo largo del tiempo. .

# yum-debug-dump  Volcar paquetes RPM instalados en un archivo  Volcar paquetes RPM instalados en un archivo Volcar paquetes RPM instalados en un archivo

Al igual que con cualquier archivo de texto comprimido, podemos ver su contenido usando el comando zless.

# zless yum_debug_dump-mail.linuxnewz.com-2015-11-27_08: 34: 01.txt.gz Ver contenido del archivo de texto comprimido  Ver contenido de zip Archivo de texto Ver contenido del archivo de texto comprimido

Si necesita restaurar la información de configuración proporcionada por yum-debug-dump. puede utilizar yum-debug-restore. para hacerlo:

# yum-debug-restore yum_debug_dump-mail.linuxnewz.com-2015-11-27_08: 34: 01.txt.gz  Restaurar archivo de volcado de Yum  Restaurar el archivo de volcado de Yum Restaurar el archivo de volcado de Yum 9. Descarga de los RPM de origen de los repositorios de Yum

yumdownloader. descarga archivos de origen RPM de repositorios, incluidas sus dependencias. Útil para crear un repositorio de red al que se pueda acceder desde otras máquinas con acceso restringido a Internet.

Yumdownloader. le permite no solo descargar los RPM binarios sino también los de origen (si se usa con la opción–source).

Por ejemplo, creemos un directorio llamado htop-files. donde almacenaremos los RPM necesarios para instalar el programa usando rpm. Para hacerlo, necesitamos usar el interruptor–resolve junto con yumdownloader:

# mkdir htop-files # cd htop-files # yumdownloader–resolve htop # rpm-Uvh  Descargando RPM desde Yum Repositories  Descarga de RPM desde Yum Repositories Descarga de RPM de los repositorios de Yum 10. Sincronice un repositorio de Yum remoto con un directorio local

reposync. está estrechamente relacionado con yumdownloader. (de hecho, admiten casi las mismas opciones) pero ofrece una ventaja considerable. En lugar de descargar archivos RPM binarios o de origen, sincroniza un repositorio remoto con un directorio local.

Sincronicemos el conocido repositorio EPEL con un subdirectorio llamado epel-local. dentro del directorio de trabajo actual:

# man reposync # mkdir epel-local # reposync–repoid = epel–download_path = epel-local  Sincronizar el repositorio EPEL con el directorio  Sincronizar el repositorio EPEL con Directory Sincronizar el repositorio EPEL con el directorio

Tenga en cuenta que este proceso llevará bastante tiempo ya que se están descargando los paquetes 8867.

 Sincronizar el repositorio remoto de Yum  Sincronizar el repositorio remoto de Yum Sincronizar el repositorio remoto de Yum

Una vez que se haya completado la sincronización, verifiquemos la cantidad de espacio en disco utilizado por nuestro espejo recién creado del repositorio EPEL usando el comando du:

# du-sch epel-local/* Verificar Yum Repository Dis k Espacio  Verificar el espacio en disco del repositorio de Yum Verificar el espacio en el disco del repositorio de Yum

Ahora está listo para usted si desea mantener esta réplica de EPEL. o utilizarla para instalar paquetes en lugar de utilizar una remota. En el primer caso, tenga en cuenta que deberá modificar /etc/yum.repos.d/epel.repo. en consecuencia.

11. Corregir transacciones de Yum sin terminar o canceladas

yum-complete-transaction. es parte del programa yum-utils. que captura transacciones yum inacabadas o abortadas en un sistema e intenta completarlas.

Por ejemplo, cuando actualizamos los servidores Linux a través del administrador de paquetes yum. a veces arroja un mensaje de advertencia que dice lo siguiente:

Quedan transacciones sin terminar . Podría considerar ejecutar primero yum-complete-transaction para finalizarlos.

Para corregir dichos mensajes de advertencia y resolver dicho problema, el comando yum-complete-transaction. aparece en la imagen para completar las transacciones inacabadas, encuentra esas transacciones yum incompletas o abortadas en archivos transaction-all *. y transaction-done *. que se pueden encontrar en el directorio /var/lib/yum.

Ejecutar Comando yum-complete-transaction. para finalizar transacciones yum incompletas:

# yum-complete-transaction–cleanup-only

Ahora los comandos yum se ejecutarán sin las advertencias de transacciones incompletas.

# yum update

Nota. este consejo es sugerido por uno de nuestros lectores habituales Mr. Tomas. en la sección de comentarios aquí.

Resumen

En este artículo hemos cubierto algunas de las utilidades más útiles proporcionadas a través de yum-utils. . Para obtener una lista completa, puede consultar la página del manual (man yum-utils).