Table of Contents
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.
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
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 2. Buscar repositorio de paquetes instalados
El siguiente comando muestra de qué repositorio se instalaron los paquetes
# find-repos-of-install httpd postfix dovecot
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
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
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 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 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
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
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-
# yum-debug-dump
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
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 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
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
Tenga en cuenta que este proceso llevará bastante tiempo ya que se están descargando los paquetes 8867.
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 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).