En este artículo, aprenderemos cómo instalar, actualizar, eliminar, encontrar paquetes, administrar paquetes y repositorios en sistemas Linux utilizando la herramienta YUM (Yellowdog Updater Modified) desarrollada por RedHat.
Los comandos de ejemplo mostrados en este artículo están probados prácticamente en nuestro servidor RHEL 8, puedes utilizar estos materiales con fines de estudio, certificaciones RHEL, o simplemente para explorar formas de instalar nuevos paquetes y mantener tu sistema actualizado.
El requisito básico de este artículo es que debes tener un entendimiento básico de comandos y un sistema operativo Linux funcional, donde puedas explorar y practicar todos los comandos enumerados a continuación.
¿Qué es YUM?
YUM (Yellowdog Updater Modified) es una herramienta de gestión de paquetes de código abierto basada en la línea de comandos y también gráfica para sistemas Linux basados en RPM (RedHat Package Manager).
Permite a los usuarios y administradores de sistema instalar, actualizar, eliminar o buscar paquetes de software en un sistema. Fue desarrollado y lanzado por Seth Vidal bajo la licencia GPL (Licencia Pública General) como un software de código abierto, lo que significa que cualquier persona 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 es reemplazado 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 más nuevas basadas en RPM.
1. Instalar un paquete con YUM
Para instalar un paquete llamado Firefox, simplemente ejecute el siguiente comando, que automáticamente encontrará e instalará todas las dependencias necesarias 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 solicitará confirmación antes de instalar cualquier paquete en su sistema. Si desea instalar paquetes automáticamente sin solicitar ninguna confirmación, utilice la opción -y
como se muestra en el siguiente ejemplo.
# yum -y install firefox
2. Eliminar un paquete con YUM
Para eliminar un paquete completamente 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 desactivar el aviso de confirmación, simplemente agregue la opción -y
como se muestra a continuación.
# yum -y remove firefox
3. Actualizar un paquete usando YUM
Digamos que tienes una versión desactualizada del paquete MySQL y deseas actualizarla a la última versión estable. Simplemente ejecute el siguiente comando, que resolverá automáticamente todos los problemas de dependencias e instalará lo necesario.
# 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. Listar un paquete usando YUM
Utilice la función list para buscar el paquete específico por su 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 hacer tu búsqueda más precisa, define los nombres de los paquetes con sus versiones, en caso de que las conozcas. Por ejemplo, para buscar una versión específica OpenSSH-4.3p2 del paquete, use el comando.
# yum list openssh-4.3p2
[ También podría interesarte: Cómo asegurar y endurecer el servidor OpenSSH ]
5. Buscar un paquete usando YUM
Si no recuerdas el nombre exacto del paquete, entonces utiliza la función buscar para buscar todos los paquetes disponibles para que coincidan con el nombre del paquete que especificaste. Por ejemplo, para buscar todos los paquetes que coincidan con la palabra.
# yum search vsftpd 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 ============================== Matched: vsftpd ======================== ccze.i386 : A robust log colorizer pure-ftpd-selinux.i386 : SELinux support for Pure-FTPD vsftpd.i386 : vsftpd - Very Secure Ftp Daemon
6. Obtener información sobre un paquete usando YUM
Digamos que te gustaría conocer la información sobre un paquete antes de instalarlo. Para obtener información sobre un paquete, simplemente emite 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. Lista de todos los paquetes disponibles usando YUM
Para listar todos los paquetes disponibles en la base de datos de Yum, use el siguiente comando.
# yum list | less
8. Lista de todos los paquetes instalados usando YUM
Para listar todos los paquetes instalados en un sistema, simplemente emita el siguiente comando, que mostrará todos los paquetes instalados.
# yum list installed | less
9. Función Yum Proporciona
La función proporciona de Yum se utiliza para encontrar a qué paquete pertenece un archivo específico. Por ejemplo, si te gustaría conocer el nombre del paquete que tiene el archivo /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. Verificar actualizaciones disponibles usando Yum
Para saber cuántos paquetes instalados en tu sistema tienen actualizaciones disponibles, verifica usando el siguiente comando.
# yum check-update
11. Actualizar el sistema usando Yum
Para mantener tu sistema actualizado con todas las actualizaciones de seguridad y paquetes binarios, ejecuta el siguiente comando. Instalará todas las últimas actualizaciones y parches de seguridad en tu sistema.
# yum update
12. Lista de todos los paquetes de grupo disponibles
En Linux, varios paquetes se agrupan en un grupo específico. En lugar de instalar paquetes individuales con yum, puedes instalar un grupo específico que instalará todos los paquetes relacionados que pertenecen al grupo. Por ejemplo, para listar todos los grupos disponibles, simplemente emite el siguiente comando.
# yum grouplist Installed Groups: Administration Tools DNS Name Server Dialup Networking Support Editors Engineering and Scientific FTP Server Graphics Java Development Legacy Network Server Available Groups: Authoring and Publishing Base Beagle Cluster Storage Clustering Development Libraries Development Tools Eclipse Educational Software KDE (K Desktop Environment) KDE Software Development
13. Instalar Paquetes de Grupo
Para instalar un grupo de paquetes específico, utilizamos la opción como groupinstall. Por ejemplo, para instalar ” MySQL Database “, simplemente ejecute el siguiente comando.
# yum groupinstall 'MySQL Database' Dependencies Resolved ================================================================================================= Package Arch Version Repository Size ================================================================================================= Updating: unixODBC i386 2.2.11-10.el5 base 290 k Installing for dependencies: unixODBC-libs i386 2.2.11-10.el5 base 551 k Transaction Summary ================================================================================================= Install 1 Package(s) Upgrade 1 Package(s) Total size: 841 k Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : unixODBC-libs 1/3 Updating : unixODBC 2/3 Cleanup : unixODBC 3/3 Dependency Installed: unixODBC-libs.i386 0:2.2.11-10.el5 Updated: unixODBC.i386 0:2.2.11-10.el5 Complete!
14. Actualizar Paquetes de Grupo
Para actualizar cualquier grupo de paquetes instalado existente, simplemente ejecute el siguiente comando como se muestra a continuación.
# yum groupupdate 'DNS Name Server' Dependencies Resolved ================================================================================================================ Package Arch Version Repository Size ================================================================================================================ Updating: bind i386 30:9.3.6-20.P1.el5_8.2 updates 981 k bind-chroot i386 30:9.3.6-20.P1.el5_8.2 updates 47 k Updating for dependencies: bind-libs i386 30:9.3.6-20.P1.el5_8.2 updates 864 k bind-utils i386 30:9.3.6-20.P1.el5_8.2 updates 174 k Transaction Summary ================================================================================================================ Install 0 Package(s) Upgrade 4 Package(s) Total size: 2.0 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating : bind-libs 1/8 Updating : bind 2/8 Updating : bind-chroot 3/8 Updating : bind-utils 4/8 Cleanup : bind 5/8 Cleanup : bind-chroot 6/8 Cleanup : bind-utils 7/8 Cleanup : bind-libs 8/8 Updated: bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2 Dependency Updated: bind-libs.i386 30:9.3.6-20.P1.el5_8.2 bind-utils.i386 30:9.3.6-20.P1.el5_8.2 Complete!
15. Eliminar Paquetes de Grupo
Para eliminar o desinstalar cualquier grupo de paquetes existente del sistema, simplemente use el siguiente comando.
# yum groupremove 'DNS Name Server' Dependencies Resolved =========================================================================================================== Package Arch Version Repository Size =========================================================================================================== Removing: bind i386 30:9.3.6-20.P1.el5_8.2 installed 2.1 M bind-chroot i386 30:9.3.6-20.P1.el5_8.2 installed 0.0 Transaction Summary =========================================================================================================== Remove 2 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 Finished Transaction Test Transaction Test Succeeded Running Transaction Erasing : bind 1/2 warning: /etc/sysconfig/named saved as /etc/sysconfig/named.rpmsave Erasing : bind-chroot 2/2 Removed: bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2 Complete!
16. Listar Repositorios Yum Habilitados
Para listar todos los repositorios Yum habilitados en tu sistema, usa 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. Listar todos los Repositorios 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 de un Repositorio Específico
Para instalar un paquete específico de un repositorio habilitado o deshabilitado, debes usar --enablerepo
una opción en tu comando yum. Por ejemplo, para instalar 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. Shell interactivo de Yum
La utilidad Yum proporciona un shell personalizado donde puedes ejecutar múltiples comandos.
# yum shell Loaded plugins: fastestmirror Setting up Yum Shell > update httpd Loading mirror speeds from cached hostfile * base: mirrors.sin3.sg.voxel.net * epel: ftp.riken.jp * extras: mirrors.sin3.sg.voxel.net * updates: mirrors.sin3.sg.voxel.net Setting up Update Process >
19. Limpiar la caché de Yum
Por defecto, yum mantiene todos los datos de paquetes de repositorios habilitados en /var/cache/yum/ con cada subdirectorio. Para limpiar todos los archivos almacenados en caché de los repositorios habilitados, necesitas ejecutar regularmente el siguiente comando para eliminar todos los datos en caché y asegurarte de que no se esté utilizando espacio innecesario. No queremos dar la salida del comando a continuación, porque nos gusta mantener los datos en caché tal como están.
# yum clean all
20. Ver historial de Yum
Para ver todas las transacciones pasadas del comando yum, simplemente usa 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 intentado cubrir todos los comandos básicos a avanzados de yum con sus ejemplos. Si algo relacionado con los comandos de yum puede haberse perdido. Por favor, actualícenos a través de nuestro cuadro de comentarios. Así, seguimos actualizando lo mismo en función de los comentarios recibidos.
Source:
https://www.tecmint.com/20-linux-yum-yellowdog-updater-modified-commands-for-package-mangement/