Gestión de paquetes de Linux con Yum, RPM, Apt, Dpkg, Aptitude y Zypper – Parte 9

En agosto pasado, la Linux Foundation anunció la certificación LFCS ( Linux Foundation Certified Sysadmin ), una oportunidad brillante para que los administradores de sistemas de todo el mundo demuestren, a través de un examen basado en el rendimiento, que son capaces de tener éxito en el soporte operativo general de los sistemas Linux. Un administrador de sistemas certificado por la Fundación Linux tiene la experiencia para garantizar un soporte eficaz del sistema, resolución de problemas y monitoreo de primer nivel, incluida la escalada final de problemas, cuando sea necesario, a los equipos de soporte de ingeniería.

Gestión de paquetes de Linux
Administrador de sistemas certificado por Linux Foundation – Parte 9

Mire el siguiente video que explica sobre el Programa de Certificación de la Fundación Linux.

Este artículo es una Parte 9 de una serie larga de 10 tutoriales, hoy en este artículo lo guiaremos sobre la Administración de paquetes de Linux, que son necesarios para el examen de certificación LFCS.

Gestión de paquetes

En pocas palabras, la administración de paquetes es un método para instalar y mantener (que incluye actualizar y probablemente también eliminar) software en el sistema.

En los primeros días de Linux, los programas solo se distribuían como código fuente, junto con las páginas de manual requeridas, los archivos de configuración necesarios y más. Hoy en día, la mayoría de los distribuidores de Linux utilizan de forma predeterminada programas preconstruidos o conjuntos de programas llamados paquetes, que se presentan a los usuarios listos para su instalación en esa distribución. Sin embargo, una de las maravillas de Linux sigue siendo la posibilidad de obtener el código fuente de un programa para estudiarlo, mejorarlo y compilarlo.

Cómo funcionan los sistemas de gestión de paquetes

Si un determinado paquete requiere un determinado recurso, como una biblioteca compartida u otro paquete, se dice que tiene una dependencia. Todos los sistemas de gestión de paquetes modernos proporcionan algún método de resolución de dependencias para garantizar que cuando se instala un paquete, también se instalan todas sus dependencias.

Sistemas de envasado

Casi todo el software que se instala en un sistema Linux moderno se encontrará en Internet. Puede ser proporcionado por el proveedor de distribución a través de repositorios centrales (que pueden contener varios miles de paquetes, cada uno de los cuales se ha creado, probado y mantenido específicamente para la distribución) o estar disponible en código fuente que se puede descargar e instalar manualmente. .

Debido a que las diferentes familias de distribución usan diferentes sistemas de empaquetado (Debian: * .deb / CentOS: * .rpm / openSUSE: * .rpm construido especialmente para openSUSE), un paquete destinado a una distribución no será compatible con otra distribución. Sin embargo, es probable que la mayoría de las distribuciones pertenezcan a una de las tres familias de distribución cubiertas por la certificación LFCS.

Herramientas de paquete de alto y bajo nivel

Para realizar la tarea de administración de paquetes de manera efectiva, debe tener en cuenta que tendrá dos tipos de utilidades disponibles: herramientas de bajo nivel (que manejan en el backend la instalación, actualización y eliminación real de los archivos del paquete) y herramientas de alto nivel (que se encargan de asegurar que se realicen las tareas de resolución de dependencias y búsqueda de metadatos – “datos sobre los datos”).

DISTRIBUCIÓN HERRAMIENTA DE BAJO NIVEL HERRAMIENTA DE ALTO NIVEL
 Debian y derivados  dpkg  apt-get / aptitude
 CentOS  rpm  mmm
 openSUSE  rpm  zypper

Veamos la descripción de las herramientas de bajo y alto nivel.

dpkg es un administrador de paquetes de bajo nivel para sistemas basados ​​en Debian. Puede instalar, eliminar, proporcionar información y crear paquetes * .deb, pero no puede descargar e instalar automáticamente sus dependencias correspondientes.

Leer más : 15 ejemplos de comandos dpkg

apt-get es un administrador de paquetes de alto nivel para Debian y derivados, y proporciona una forma sencilla de recuperar e instalar paquetes, incluida la resolución de dependencias, de múltiples fuentes utilizando la línea de comandos. A diferencia de dpkg, apt-get no funciona directamente con archivos * .deb, sino con el nombre propio del paquete.

Leer más : 25 ejemplos de comandos apt-get

aptitude es otro administrador de paquetes de alto nivel para sistemas basados ​​en Debian, y puede usarse para realizar tareas de administración (instalar, actualizar y eliminar paquetes, y también manejar la resolución de dependencias automáticamente) de una manera rápida y fácil. Proporciona la misma funcionalidad que apt-get y otras adicionales, como ofrecer acceso a varias versiones de un paquete.

rpm es el sistema de administración de paquetes utilizado por las distribuciones compatibles con Linux Standard Base (LSB) para el manejo de paquetes de bajo nivel. Al igual que dpkg, puede consultar, instalar, verificar, actualizar y eliminar paquetes, y las distribuciones basadas en Fedora, como RHEL y CentOS, lo utilizan con más frecuencia.

Leer más : Ejemplos de comandos de 20 rpm

yum agrega la funcionalidad de actualizaciones automáticas y administración de paquetes con administración de dependencias a los sistemas basados ​​en RPM. Como herramienta de alto nivel, como apt-get o aptitude, yum funciona con repositorios.

Leer más : 20 ejemplos de comandos yum

Uso común de herramientas de bajo nivel

Las tareas más frecuentes que realizarás con herramientas de bajo nivel son las siguientes:

1. Instalación de un paquete desde un archivo compilado (* .deb o * .rpm)

La desventaja de este método de instalación es que no se proporciona una resolución de dependencia. Lo más probable es que elija instalar un paquete desde un archivo compilado cuando dicho paquete no esté disponible en los repositorios de la distribución y, por lo tanto, no se pueda descargar e instalar a través de una herramienta de alto nivel. Dado que las herramientas de bajo nivel no realizan la resolución de dependencias, saldrán con un error si intentamos instalar un paquete con dependencias no satisfechas.

# dpkg -i file.deb [Debian and derivative]
# rpm -i file.rpm [CentOS / openSUSE]

Nota : ¡No intente instalar en CentOS un archivo * .rpm que fue creado para openSUSE, o viceversa!

2. Actualización de un paquete desde un archivo compilado

Nuevamente, solo actualizará un paquete instalado manualmente cuando no esté disponible en los repositorios centrales.

# dpkg -i file.deb [Debian and derivative]
# rpm -U file.rpm [CentOS / openSUSE]
3. Listado de paquetes instalados

Cuando tenga en sus manos un sistema que ya funciona, es probable que desee saber qué paquetes están instalados.

# dpkg -l [Debian and derivative]
# rpm -qa [CentOS / openSUSE]

Si desea saber si un paquete específico está instalado, puede canalizar la salida de los comandos anteriores a grep , como se explica en manipular archivos en Linux – Parte 1 de esta serie. Supongamos que necesitamos verificar si el paquete mysql-common está instalado en un sistema Ubuntu.

# dpkg -l | grep mysql-common

Verifique los paquetes instalados en LinuxVerifique los paquetes instalados

Otra forma de determinar si un paquete está instalado.

# dpkg --status package_name [Debian and derivative]
# rpm -q package_name [CentOS / openSUSE]

Por ejemplo, averigüemos si el paquete sysdig está instalado en nuestro sistema.

# rpm -qa | grep sysdig

Compruebe el paquete sysdigCompruebe el paquete sysdig

4. Descubrir qué paquete instaló un archivo
# dpkg --search file_name
# rpm -qf file_name

Por ejemplo, ¿qué paquete instaló pw_dict.hwm ?

# rpm -qf /usr/share/cracklib/pw_dict.hwm

Archivo de consulta en LinuxArchivo de consulta en Linux

Uso común de herramientas de alto nivel

Las tareas más frecuentes que realizarás con herramientas de alto nivel son las siguientes.

1. Buscando un paquete

aptitude update actualizará la lista de paquetes disponibles, y aptitude search realizará la búsqueda real de package_name .

# aptitude update && aptitude search package_name 

En la opción buscar todo, yum buscará package_name no solo en los nombres de los paquetes, sino también en las descripciones de los mismos.

# yum search package_name
# yum search all package_name
# yum whatprovides “*/package_name”

Supongamos que necesitamos un archivo cuyo nombre es sysdig . Para saber qué paquete tendremos que instalar, vamos a ejecutar.

# yum whatprovides “*/sysdig”

Verifique la descripción del paquete en LinuxVerifique la descripción del paquete

whatprovides le dice a yum que busque el paquete y le proporcionará un archivo que coincida con la expresión regular anterior.

# zypper refresh && zypper search package_name[On openSUSE]
2. Instalar un paquete desde un repositorio

Al instalar un paquete, es posible que se le solicite que confirme la instalación después de que el administrador de paquetes haya resuelto todas las dependencias. Tenga en cuenta que ejecutar una actualización o una actualización (de acuerdo con el administrador de paquetes que se esté utilizando) no es estrictamente necesario, pero mantener actualizados los paquetes instalados es una buena práctica de administrador de sistemas por razones de seguridad y dependencia.

# aptitude update && aptitude install package_name [Debian and derivatives]
# yum update && yum install package_name [CentOS]
# zypper refresh && zypper install package_name [openSUSE]
3. Eliminar un paquete

La opción eliminar desinstalará el paquete pero dejará intactos los archivos de configuración, mientras que purgar borrará todo rastro del programa de su sistema.
# aptitude eliminar / purgar nombre_paquete
# yum borrar nombre_paquete

---Notice the minus sign in front of the package that will be uninstalled, openSUSE ---

# zypper remove -package_name 

La mayoría (si no todos) los administradores de paquetes le preguntarán, de forma predeterminada, si está seguro de continuar con la desinstalación antes de realizarla. ¡Así que lea atentamente los mensajes en pantalla para evitar problemas innecesarios!

4. Visualización de información sobre un paquete

El siguiente comando mostrará información sobre el paquete de cumpleaños .

# aptitude show birthday 
# yum info birthday
# zypper info birthday

Verificar la información del paquete en LinuxVerifique la información del paquete

Resumen

La gestión de paquetes es algo que simplemente no puede esconder como administrador de sistemas. Debe estar preparado para utilizar las herramientas descritas en este artículo en cualquier momento. Espero que lo encuentre útil en su preparación para el examen LFCS y para sus tareas diarias. No dude en dejar sus comentarios o preguntas a continuación. Estaremos encantados de responderle lo antes posible.

Conviértase en un administrador de sistema certificado de Linux

Certificaciones LFCS , Linux

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux