Administrador de Linux: gestión de paquetes

La gestión de paquetes en CentOS se puede realizar de dos formas: desde el terminal y desde la interfaz gráfica de usuario.

La mayoría de las veces, la mayor parte del tiempo de un administrador de CentOS estará usando la terminal. Actualizar e instalar paquetes para CentOS no es diferente. Con esto en mente, primero exploraremos la administración de paquetes en la terminal, luego tocaremos el uso de la herramienta gráfica de administración de paquetes proporcionada por CentOS.

Administrador de paquetes YUM

YUM es la herramienta proporcionada para la administración de paquetes en CentOS. Hemos tocado brevemente este tema en capítulos anteriores. En este capítulo, trabajaremos desde una instalación limpia de CentOS. Primero actualizaremos completamente nuestra instalación y luego instalaremos una aplicación.

YUM ha llevado la instalación y administración de software en Linux por un largo camino. YUM verifica "automágicamente" las dependencias desactualizadas, además de los paquetes desactualizados. Esto realmente le ha quitado una carga al administrador de CentOS en comparación con los viejos tiempos de compilar cada aplicación desde el código fuente.

yum comprobar-actualizar

Comprueba los paquetes que pueden actualizar a los candidatos. Para este tutorial, asumiremos que se trata de un sistema de producción que se enfrentará a Internet sin aplicaciones de producción que deba probar DevOps antes de actualizar los paquetes. Instalemos ahora los candidatos actualizados en el sistema.

[root@localhost rdc]# yum check-update
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com
 * updates: mirror.clarkson.edu
NetworkManager.x86_64                     1:1.4.0-19.el7_3              updates
NetworkManager-adsl.x86_64                1:1.4.0-19.el7_3              updates 
NetworkManager-glib.x86_64                1:1.4.0-19.el7_3              updates 
NetworkManager-libnm.x86_64               1:1.4.0-19.el7_3              updates 
NetworkManager-team.x86_64                1:1.4.0-19.el7_3              updates 
NetworkManager-tui.x86_64                 1:1.4.0-19.el7_3              updates 
NetworkManager-wifi.x86_64                1:1.4.0-19.el7_3              updates 
audit.x86_64                              2.6.5-3.el7_3.1               updates    
vim-common.x86_64                         2:7.4.160-1.el7_3.1           updates 
vim-enhanced.x86_64                       2:7.4.160-1.el7_3.1           updates 
vim-filesystem.x86_64                     2:7.4.160-1.el7_3.1           updates 
vim-minimal.x86_64                        2:7.4.160-1.el7_3.1           updates 
wpa_supplicant.x86_64                     1:2.0-21.el7_3                updates 
xfsprogs.x86_64                           4.5.0-9.el7_3                 updates

[root@localhost rdc]#

actualización de yum

Esto instalará todos los candidatos actualizados y actualizará su instalación de CentOS. Con una nueva instalación, esto puede llevar un poco de tiempo dependiendo de su instalación y la velocidad de su conexión a Internet.

[root@localhost rdc]# yum update

vim-minimal                        x86_64    2:7.4.160-1.el7_3.1     updates    436 k 
wpa_supplicant                     x86_64    1:2.0-21.el7_3          updates    788 k 
xfsprogs                           x86_64    4.5.0-9.el7_3           updates    895 k  

Transaction Summary 
======================================================================================
Install    2 Packages 
Upgrade  156 Packages  
Total download size: 371 M

Is this ok [y/d/N]:

Instalar software a través de YUM

Además de actualizar el sistema CentOS, el administrador de paquetes YUM es nuestra herramienta de referencia para instalar el software. Todo, desde herramientas de monitoreo de red, reproductores de video, hasta editores de texto, se puede instalar desde un repositorio central con YUM .

Antes de instalar algunas utilidades de software, veamos algunos comandos de YUM . Para el trabajo diario, el 90% del uso de YUM por parte de un administrador de CentOS será con aproximadamente 7 comandos. Repasaremos cada uno con la esperanza de familiarizarnos con el funcionamiento de YUM a un nivel competente para el uso diario. Sin embargo, como la mayoría de las utilidades de Linux, YUM ofrece una gran cantidad de funciones avanzadas que siempre son excelentes para explorar a través de la página de manual. Usar man yum siempre será el primer paso para realizar operaciones desconocidas con cualquier utilidad de Linux.

Comandos YUM más comunes

A continuación se muestran los comandos YUM de uso común.

Mando Acción
lista instalada Enumera los paquetes instalados a través de YUM
Listar todo Muestra todos los paquetes disponibles actualmente
lista de grupo Enumera paquetes agrupados
info Proporciona información detallada sobre un paquete.
buscar Busca descripciones y nombres de paquetes
Instalar en pc Instala un paquete
localinstall Instala un paquete rpm local
eliminar Elimina e instala el paquete
Limpiar todo Limpia / var / cache / yum para liberar espacio en disco
hombre yum Como todos los comandos de Linux, el archivo de ayuda

Instalar software con YUM

Ahora instalaremos un navegador web basado en texto llamado Lynx. Antes de la instalación, primero debemos obtener el nombre del paquete que contiene el navegador web Lynx. Ni siquiera estamos 100% seguros de que nuestro repositorio CentOS predeterminado proporcione un paquete para el navegador web Lynx, así que busquemos y veamos:

[root@localhost rdc]# yum search web browser
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com 
 * updates: mirror.clarkson.edu 
=================================================================
N/S matched: web, browser
================================================================== 
icedtea-web.x86_64 : Additional Java components for OpenJDK - Java browser
plug-in and Web Start implementation
elinks.x86_64 : A text-mode Web browser
firefox.i686 : Mozilla Firefox Web browser
firefox.x86_64 : Mozilla Firefox Web browser
lynx.x86_64 : A text-based Web browser

Full name and summary matches only, use "search all" for everything.
 
[root@localhost rdc]#

Vemos, CentOS ofrece el navegador web Lynx en el repositorio. Veamos más información sobre el paquete.

[root@localhost rdc]# lynx.x86_64
bash: lynx.x86_64: command not found...
[root@localhost rdc]# yum info lynx.x86_64
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com
 * updates: mirror.clarkson.edu
Available Packages
Name        : lynx
Arch        : x86_64
Version     : 2.8.8
Release     : 0.3.dev15.el7
Size        : 1.4 M
Repo        : base/7/x86_64
Summary     : A text-based Web browser
URL         : http://lynx.isc.org/
License     : GPLv2
Description : Lynx is a text-based Web browser. Lynx does not display any images, 
            : but it does support frames, tables, and most other HTML tags. One 
            : advantage Lynx has over graphical browsers is speed; Lynx starts and
            : exits quickly and swiftly displays web pages.
            
[root@localhost rdc]#

¡Agradable! La versión 2.8 es lo suficientemente actual, así que instalemos Lynx.

[root@localhost rdc]# yum install lynx
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.scalabledns.com
 * extras: mirror.scalabledns.com
 * updates: mirror.clarkson.edu 
Resolving Dependencies
--> Running transaction check 
---> Package lynx.x86_64 0:2.8.8-0.3.dev15.el7 will be installed 
--> Finished Dependency Resolution  
Dependencies Resolved  
===============================================================================
===============================================================================
Package                          Arch
Version                       Repository                    Size 
===============================================================================
===============================================================================
Installing: 
 lynx                           x86_64
2.8.80.3.dev15.el7              base                        1.4 M

Transaction Summary
===============================================================================
===============================================================================
Install  1 Package

Total download size: 1.4 M 
Installed size: 5.4 M 
Is this ok [y/d/N]: y 
Downloading packages: 
No Presto metadata available for base
lynx-2.8.8-0.3.dev15.el7.x86_64.rpm
| 1.4 MB  00:00:10      
Running transaction check 
Running transaction test 
Transaction test succeeded 
Running transaction 
   Installing : lynx-2.8.8-0.3.dev15.el7.x86_64
1/1
   Verifying  : lynx-2.8.8-0.3.dev15.el7.x86_64
1/1

Installed: 
   lynx.x86_64 0:2.8.8-0.3.dev15.el7
Complete!

[root@localhost rdc]#

A continuación, asegurémonos de que Lynx se instaló correctamente.

[root@localhost rdc]# yum list installed | grep -i lynx

lynx.x86_64                   2.8.8-0.3.dev15.el7              @base     
[root@localhost rdc]#

¡Excelente! Usemos Lynx para ver cómo se ve la web sin "me gusta" ni imágenes bonitas.

[root@localhost rdc]# lynx www.tutorialpoint.in

Genial, ahora tenemos un navegador web para nuestro servidor de producción que se puede usar sin mucha preocupación en exploits remotos lanzados a través de la web. Esto es bueno para los servidores de producción.

Estamos casi terminados, sin embargo, primero debemos configurar este servidor para que los desarrolladores prueben aplicaciones. Por lo tanto, asegurémonos de que tengan todas las herramientas necesarias para su trabajo. Podríamos instalar todo individualmente, pero CentOS y YUM lo han hecho mucho más rápido. Instalemos el paquete de grupo de desarrollo .

[root@localhost rdc]# yum groups list 
Loaded plugins: fastestmirror, langpacks 
Loading mirror speeds from cached hostfile 
 * base: mirror.scalabledns.com 
 * extras: mirror.scalabledns.com 
 * updates: mirror.clarkson.edu
 
Available Groups: 
   Compatibility Libraries 
   Console Internet Tools 
   Development Tools 
   Graphical Administration Tools
   Legacy UNIX Compatibility 
   Scientific Support 
   Security Tools 
   Smart Card Support 
   System Administration Tools 
   System Management 
Done

[root@localhost rdc]#

Esta es una lista más pequeña de grupos de paquetes proporcionada por CentOS. Veamos qué se incluye con el "Grupo de desarrollo".

[root@localhost rdc]# yum group info "Development Tools" 
Loaded plugins: fastestmirror, langpacks 
There is no installed groups file. 
Maybe run: yum groups mark convert (see man yum) 
Loading mirror speeds from cached hostfile 
 * base: mirror.scalabledns.com 
 * extras: mirror.scalabledns.com 
 * updates: mirror.clarkson.edu
 
Group: Development Tools 
Group-Id: development 
Description: A basic development environment. 
Mandatory Packages: 
autoconf 
automake 
binutils 
bison

La primera pantalla de salida es como se ve arriba. Esta lista completa es bastante completa. Sin embargo, normalmente será necesario instalar este grupo en su totalidad a medida que pase el tiempo. Instalemos todo el grupo de desarrollo.

[root@localhost rdc]# yum groupinstall "Development Tools"

Esta será una instalación más grande. Cuando esté completo, su servidor tendrá la mayoría de las bibliotecas de desarrollo y compiladores para Perl, Python, C y C ++.

Gestión gráfica de paquetes en CentOS

Gnome Desktop proporciona una herramienta gráfica de administración de paquetes llamada Software. Es bastante simple de usar y sencillo. Software, la herramienta de administración de paquetes de Gnome para CentOS se puede encontrar navegando a: Aplicaciones → Herramientas del sistema → Software.

La Herramienta de administración de paquetes de software se divide en grupos, lo que permite al administrador seleccionar los paquetes para su instalación. Si bien esta herramienta es excelente por su facilidad de uso y simplicidad para los usuarios finales, YUM es mucho más poderosa y probablemente los administradores la utilizarán más.

A continuación se muestra una captura de pantalla de la herramienta de administración de paquetes de software, que no está diseñada para administradores de sistemas.