LinuxParty
En este artículo, aprenderemos cómo instalar, actualizar, eliminar, buscar paquetes, administrar paquetes y repositorios en sistemas Linux utilizando la herramienta YUM ( Yellowdog Updater Modified ) desarrollada por RedHat .
Los comandos de ejemplo que se muestran en este artículo están prácticamente probados en nuestro servidor RHEL 8 , puede usar estos materiales con fines de estudio, certificaciones RHEL o simplemente para explorar formas de instalar nuevos paquetes y mantener su sistema actualizado.
El requisito básico de este artículo es que debe tener una comprensión básica de los comandos y un sistema operativo Linux en funcionamiento, donde puede explorar y practicar todos los comandos que se enumeran a continuación.
¿Qué es YUM?
YUM ( Yellowdog Updater Modified ) es una línea de comandos de código abierto y una herramienta de administración de paquetes basada en gráficos para sistemas Linux basados en RPM ( RedHat Package Manager ).
Permite a los usuarios y administradores de sistemas instalar, actualizar, eliminar o buscar fácilmente paquetes de software en un sistema. Fue desarrollado y publicado por Seth Vidal bajo GPL ( Licencia pública general ) como código abierto, lo que significa que cualquiera puede descargar y acceder al código para corregir errores y desarrollar paquetes personalizados.
YUM utiliza numerosos repositorios de terceros para instalar paquetes automáticamente al resolver sus problemas de dependencias.
Actualización : el comando yum se reemplaza por el comando dnf , que es una versión de próxima generación de yum y se considera el reemplazo de YUM en la mayoría de las distribuciones basadas en RPM más nuevas .
1. Instalar un paquete con YUM
Para instalar un paquete llamado Firefox , simplemente ejecute el siguiente comando, automáticamente encontrará e instalará todas las dependencias requeridas para Firefox.
# yum install firefox Loaded plugins: fastestmirror Dependencies Resolved ================================================================================================ Package Arch Version Repository Size ================================================================================================ Updating: firefox i686 10.0.6-1.el6.centos updates 20 M Updating for dependencies: xulrunner i686 10.0.6-1.el6.centos updates 12 M Transaction Summary ================================================================================================ Install 0 Package(s) Upgrade 2 Package(s) Total download size: 32 M Is this ok [y/N]: y Downloading Packages: (1/2): firefox-10.0.6-1.el6.centos.i686.rpm | 20 MB 01:10 (2/2): xulrunner-10.0.6-1.el6.centos.i686.rpm | 12 MB 00:52 ------------------------------------------------------------------------------------------------ Total 63 kB/s | 32 MB 02:04 Updated: firefox.i686 0:10.0.6-1.el6.centos Dependency Updated: xulrunner.i686 0:10.0.6-1.el6.centos Complete!
El comando anterior le pedirá confirmación antes de instalar cualquier paquete en su sistema. Si desea instalar paquetes automáticamente sin pedir confirmación, use la opción -y
como se muestra a continuación.
# yum -y install firefox
2. Eliminar un paquete con YUM
Para eliminar un paquete por completo con todas las dependencias, simplemente ejecute el siguiente comando como se muestra a continuación.
# yum remove firefox Loaded plugins: fastestmirror Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package firefox.i686 0:10.0.6-1.el6.centos set to be erased --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================== Package Arch Version Repository Size ==================================================================================================== Removing: firefox i686 10.0.6-1.el6.centos @updates 23 M Transaction Summary ==================================================================================================== Remove 1 Package(s) Reinstall 0 Package(s) Downgrade 0 Package(s) Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing : firefox-10.0.6-1.el6.centos.i686 1/1 Removed: firefox.i686 0:10.0.6-1.el6.centos Complete!
De la misma manera, el comando anterior pedirá confirmación antes de eliminar un paquete. Para deshabilitar el mensaje de confirmación, simplemente agregue la opción -y
como se muestra a continuación.
# yum -y remove firefox
3. Actualización de un paquete usando YUM
Supongamos que tiene una versión obsoleta del paquete MySQL y desea actualizarlo a la última versión estable. Simplemente ejecute el siguiente comando, resolverá automáticamente todos los problemas de dependencias y los instalará.
# yum update mysql Loaded plugins: fastestmirror Dependencies Resolved ================================================================================== Package Arch Version Repository Size ================================================================================== Updating: vsftpd i386 2.0.5-24.el5_8.1 updates 144 k Transaction Summary =================================================================================== Install 0 Package(s) Upgrade 1 Package(s) Total size: 144 k Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating : vsftpd 1/2 Cleanup : vsftpd 2/2 Updated: vsftpd.i386 0:2.0.5-24.el5_8.1 Complete!
4. Enumere un paquete usando YUM
Utilice la función de lista para buscar el paquete específico con un nombre. Por ejemplo, para buscar un paquete llamado OpenSSH , use el comando.
# yum list openssh Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.neu.edu.cn * epel: mirror.neu.edu.cn * extras: mirror.neu.edu.cn * rpmforge: mirror.nl.leaseweb.net * updates: mirror.nus.edu.sg Installed Packages openssh.i386 4.3p2-72.el5_6.3 installed Available Packages 4.3p2-82.el5 base
Para que su búsqueda sea más precisa, defina los nombres de los paquetes con su versión, en caso de que lo sepa. Por ejemplo, para buscar una versión específica OpenSSH-4.3p2 del paquete, use el comando.
# lista yum abresh-4.3p2
[También te puede interesar: Cómo asegurar y fortalecer el servidor OpenSSH ]
5. Busque un paquete usando YUM
Si no recuerda el nombre exacto del paquete, use la función de búsqueda para buscar todos los paquetes disponibles para que coincidan con el nombre del paquete que especificó. Por ejemplo, para buscar todos los paquetes que coincidan con la palabra.
# yum search vsftpd Complementos cargados: espejo más rápido Cargando velocidades de espejo desde el archivo de host almacenado en caché * base: mirror.neu.edu.cn * epel: mirror.neu.edu.cn * extras: mirror.neu.edu.cn * rpmforge: mirror.nl.leaseweb.net * actualizaciones: ftp.iitm.ac.in ============================== Coincidencia: vsftpd ================= ======= ccze.i386 : Un robusto colorizador de registros pure-ftpd-selinux.i386 : soporte de SELinux para Pure-FTPD vsftpd.i386 : vsftpd - Daemon FTP muy seguro
6. Obtenga información sobre un paquete usando YUM
Digamos que le gustaría conocer la información sobre un paquete antes de instalarlo. Para obtener información sobre un paquete, simplemente emita el siguiente comando.
# yum info firefox Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.neu.edu.cn * epel: mirror.neu.edu.cn * extras: mirror.neu.edu.cn * rpmforge: mirror.nl.leaseweb.net * updates: ftp.iitm.ac.in Available Packages Name : firefox Arch : i386 Version : 10.0.6 Release : 1.el5.centos Size : 20 M Repo : updates Summary : Mozilla Firefox Web browser URL : http://www.mozilla.org/projects/firefox/ License : MPLv1.1 or GPLv2+ or LGPLv2+ Description: Mozilla Firefox is an open-source web browser, designed for standards : compliance, performance and portability.
7. Enumere todos los paquetes disponibles usando YUM
Para enumerar todos los paquetes disponibles en la base de datos de Yum, use el siguiente comando.
# yum list | less
8. Enumere todos los paquetes instalados usando YUM
Para enumerar todos los paquetes instalados en un sistema, simplemente emita el siguiente comando, mostrará todos los paquetes instalados.
# yum list installed | less
9. Yum función provide
La función Yum provide se utiliza para encontrar a qué paquete pertenece un archivo específico. Por ejemplo, si desea saber el nombre del paquete que tiene /etc/httpd/conf/httpd.conf .
# yum provides /etc/httpd/conf/httpd.conf Loaded plugins: fastestmirror httpd-2.2.3-63.el5.centos.i386 : Apache HTTP Server Repo : base Matched from: Filename : /etc/httpd/conf/httpd.conf httpd-2.2.3-63.el5.centos.1.i386 : Apache HTTP Server Repo : updates Matched from: Filename : /etc/httpd/conf/httpd.conf httpd-2.2.3-65.el5.centos.i386 : Apache HTTP Server Repo : updates Matched from: Filename : /etc/httpd/conf/httpd.conf httpd-2.2.3-53.el5.centos.1.i386 : Apache HTTP Server Repo : installed Matched from: Other : Provides-match: /etc/httpd/conf/httpd.conf
10. Verifique las actualizaciones disponibles usando Yum
Para saber cuántos paquetes instalados en su sistema tienen actualizaciones disponibles, verifique para usar el siguiente comando.
# yum check-update
11. Sistema de actualización usando Yum
Para mantener su sistema actualizado con todas las actualizaciones de paquetes binarios y de seguridad, ejecute el siguiente comando. Instalará todos los últimos parches y actualizaciones de seguridad en su sistema.
# yum update
12. Enumere todos los paquetes grupales disponibles
En Linux, una serie de paquetes se agrupan en un grupo particular. En lugar de instalar paquetes individuales con yum, puede instalar un grupo particular que instalará todos los paquetes relacionados que pertenecen al grupo. Por ejemplo, para enumerar todos los grupos disponibles, simplemente emita el siguiente comando.
# yum grouplist Grupos instalados: Herramientas de administración Servidor de nombres DNS Soporte de acceso telefónico a redes Editores Ingeniería y Ciencias Servidor FTP Gráficos Desarrollo Java Servidor de red heredado Grupos Disponibles: Autoría y publicación Base Beagle Almacenamiento en clúster Agrupación Bibliotecas de desarrollo Herramientas de desarrollo Eclipse software educativo KDE (Entorno de escritorio K) Desarrollo de software KDE
13. Instalar paquetes de grupo
Para instalar un grupo de paquetes en particular, usamos la opción como groupinstall . Por ejemplo, para instalar " Base de datos MySQL ", simplemente ejecute el siguiente comando.
# yum groupinstall 'Base de datos MySQL' Dependencias resueltas ================================================== ============================================== Paquete Arch Versión Repositorio Tamaño ================================================== ============================================== Actualizando: unixODBC i386 2.2.11-10.el5 base 290k Instalación para dependencias: unixODBC-libs i386 2.2.11-10.el5 base 551k Resumen de Transacciones ================================================== ============================================== Instalar 1 Paquete(s) Actualizar 1 Paquete(s) Tamaño total: 841k ¿Está bien? [s/n]: sí Paquetes de descarga: Ejecutando rpm_check_debug Ejecución de prueba de transacción Prueba de transacción finalizada Prueba de transacción exitosa Transacción en ejecución Instalación: unixODBC-libs 1/3 Actualización: unixODBC 2/3 Limpieza: unixODBC 3/3 Dependencia instalada: unixODBC-libs.i386 0:2.2.11-10.el5 Actualizado: unixODBC.i386 0:2.2.11-10.el5 ¡Completo!
14. Actualizar paquetes de un grupo
Para actualizar cualquier paquete de grupo instalado existente, simplemente ejecute el siguiente comando como se muestra a continuación.
# yum groupupdate 'Servidor de nombres DNS' Dependencias resueltas ================================================== ================================================== ============ Paquete Arch Versión Repositorio Tamaño ================================================== ================================================== ============ Actualizando: bind i386 30:9.3.6-20.P1.el5_8.2 actualizaciones 981 k bind-chroot i386 30:9.3.6-20.P1.el5_8.2 actualizaciones 47 k Actualización de dependencias: bind-libs i386 30:9.3.6-20.P1.el5_8.2 actualizaciones 864 k bind-utils i386 30:9.3.6-20.P1.el5_8.2 actualizaciones 174 k Resumen de Transacciones ================================================== ================================================== ============ Instalar 0 Paquete(s) Paquete(s) de actualización 4 Tamaño total: 2,0 M ¿Está bien? [s/n]: sí Paquetes de descarga: Ejecutando rpm_check_debug Ejecución de prueba de transacción Prueba de transacción finalizada Prueba de transacción exitosa Transacción en ejecución Actualización: bind-libs 1/8 Actualización: bind 2/8 Actualización: bind-chroot 3/8 Actualización: bind-utils 4/8 Limpieza: vincular 5/8 Limpieza: bind-chroot 6/8 Limpieza: bind-utils 7/8 Limpieza: bind-libs 8/8 Actualizado: bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2 Dependencia actualizada: bind-libs.i386 30:9.3.6-20.P1.el5_8.2 bind-utils.i386 30:9.3.6-20.P1.el5_8.2 ¡Completo!
15. Eliminar paquetes de grupo
Para eliminar o eliminar cualquier grupo instalado existente del sistema, simplemente use el siguiente comando.
# yum groupremove 'Servidor de nombres DNS' Dependencias resueltas ================================================== ================================================== ======= Paquete Arch Versión Repositorio Tamaño ================================================== ================================================== ======= Eliminando: bind i386 30:9.3.6-20.P1.el5_8.2 instalado 2,1 M bind-chroot i386 30:9.3.6-20.P1.el5_8.2 instalado 0.0 Resumen de Transacciones ================================================== ================================================== ======= Quitar 2 Paquete(s) Reinstalar 0 Paquete(s) Rebajar 0 paquete(s) ¿Está bien? [s/n]: sí Paquetes de descarga: Ejecutando rpm_check_debug Ejecución de prueba de transacción Prueba de transacción finalizada Prueba de transacción exitosa Transacción en ejecución Borrando: enlazar 1/2 advertencia: /etc/sysconfig/named guardado como /etc/sysconfig/named.rpmsave Borrando: bind-chroot 2/2 Remoto: bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2 ¡Completo!
16. Lista de repositorios de Yum habilitados
Para enumerar todos los repositorios de Yum habilitados en su sistema, use la siguiente opción.
# yum repolist repo id repo name status base CentOS-5 - Base enabled: 2,725 epel Extra Packages for Enterprise Linux 5 - i386 enabled: 5,783 extras CentOS-5 - Extras enabled: 282 mod-pagespeed mod-pagespeed enabled: 1 rpmforge RHEL 5 - RPMforge.net - dag enabled: 11,290 updates CentOS-5 - Updates enabled: 743 repolist: 20,824
16. Enumere todos los repositorios de Yum habilitados y deshabilitados
El siguiente comando mostrará todos los repositorios yum habilitados y deshabilitados en el sistema.
# yum repolist all repo id repo name status C5.0-base CentOS-5.0 - Base disabled C5.0-centosplus CentOS-5.0 - Plus disabled C5.0-extras CentOS-5.0 - Extras disabled base CentOS-5 - Base enabled: 2,725 epel Extra Packages for Enterprise Linux 5 - i386 enabled: 5,783 extras CentOS-5 - Extras enabled: 282 repolist: 20,824
17. Instalar un paquete desde un repositorio específico
Para instalar un paquete en particular desde un repositorio habilitado o deshabilitado específico, debe usar --enablerepo
una opción en su comando yum. Por ejemplo, para instalar el paquete PhpMyAdmin , simplemente ejecute el comando.
# yum --enablerepo=epel install phpmyadmin Dependencies Resolved ============================================================================================= Package Arch Version Repository Size ============================================================================================= Installing: phpMyAdmin noarch 3.5.1-1.el6 epel 4.2 M Transaction Summary ============================================================================================= Install 1 Package(s) Total download size: 4.2 M Installed size: 17 M Is this ok [y/N]: y Downloading Packages: phpMyAdmin-3.5.1-1.el6.noarch.rpm | 4.2 MB 00:25 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : phpMyAdmin-3.5.1-1.el6.noarch 1/1 Verifying : phpMyAdmin-3.5.1-1.el6.noarch 1/1 Installed: phpMyAdmin.noarch 0:3.5.1-1.el6 Complete!
18. Yum Shell interactivo
La utilidad Yum proporciona un shell personalizado donde puede ejecutar varios comandos.
# cáscara ñam Complementos cargados: espejo más rápido Configuración de Yum Shell > update httpd Cargando velocidades de espejo desde el archivo de host almacenado en caché *base: mirrors.sin3.sg.voxel.net * epel: ftp.riken.jp * extras: mirrors.sin3.sg.voxel.net * actualizaciones: mirrors.sin3.sg.voxel.net Configuración del proceso de actualización >
19. Limpiar caché de Yum
De manera predeterminada, yum mantiene todos los datos del paquete habilitado para el repositorio en /var/cache/yum/ con cada subdirectorio, para limpiar todos los archivos en caché del repositorio habilitado, debe ejecutar el siguiente comando regularmente para limpiar todo el caché y hacer seguro de que no hay nada espacio innecesario está utilizando. No queremos dar el resultado del siguiente comando, porque nos gusta mantener los datos almacenados en caché tal como están.
# yum clean all
20. Ver historial de Yum
Para ver todas las transacciones pasadas del comando yum, simplemente use el siguiente comando.
# yum history Loaded plugins: fastestmirror ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 10 | root | 2012-08-11 15:19 | Install | 3 9 | root | 2012-08-11 15:11 | Install | 1 8 | root | 2012-08-11 15:10 | Erase | 1 EE 7 | root | 2012-08-10 17:44 | Install | 1 6 | root | 2012-08-10 12:19 | Install | 2 5 | root | 2012-08-10 12:14 | Install | 3 4 | root | 2012-08-10 12:12 | I, U | 13 E< 3 | root | 2012-08-09 13:01 | Install | 1 > 2 | root | 2012-08-08 20:13 | I, U | 292 EE 1 | System | 2012-08-08 17:15 | Install | 560 history list
Hemos tratado de cubrir todos los comandos básicos para avanzar yum con sus ejemplos. Si algo relacionado con los comandos yum puede haberse perdido. Por favor actualícenos a través de nuestro cuadro de comentarios. Por lo tanto, seguimos actualizando lo mismo en función de los comentarios recibidos.
-
Fedora
- Se lanzó Fedora Linux 41 con Linux Kernel 6.11, DNF5, GNOME 47 y más
- Fedora 39 beta ofrece la distribución de Linux con mejor rendimiento que he visto en mucho tiempo
- Fedora lanzó la computadora portátil Fedora Slimbook Linux con pantalla 3K, NVIDIA RTX 3050 Ti
- Fedora 38 Linux nueva versión de esta gran distro, disponible
- AWS de Amazon lanza 'Amazon Linux 2023' basado en Fedora y optimizado para la nube
- Instalar Nginx con PHP5 (y PHP-FPM) y Soporte MySQL en Fedora Linux
- Instalar Nginx con PHP5 (PHP-FPM) y MySQL en Fedora 17
- 20 comandos YUM para la gestión de paquetes
- Servidor Samba eb Fedora 13 con dbsam Backend
- La distro, Fedora Linux, declarada "Bien público digital"
- 26 Comandos de DNF para gestión de paquetes (rpm) en Fedora Linux
- ¿Por qué Fedora 34 es la distro de Fedora más popular en años?
- Llega Fedora 34 con GNOME 40, con BTRFS como FS y PipeWire por defecto como servidor de Audio
- Disponible Fedora 33 con GNOME 3.38
- Fedora 31 Workstation disponible y cómo actualizar.