Table of Contents
Gestión de paquetes de Linux con Yum, RPM, Apt, Dpkg, Aptitude y Zypper-Parte 9
En agosto pasado, la Fundación Linux anunció la certificación LFCS ( Administrador de sistemas certificado por la Fundación Linux ), una gran oportunidad para que los administradores de sistemas de todo el mundo realicen una demostración mediante un examen basado en el rendimiento., que son capaces de tener éxito en el soporte operativo general para sistemas Linux. Un administrador de sistemas certificado por Linux Foundation tiene la experiencia para garantizar un soporte eficaz del sistema, resolución de problemas de primer nivel y monitoreo, incluida la escalada final de problemas, cuando sea necesario, a los equipos de soporte de ingeniería.
Administrador de sistemas certificado por Linux Foundation-Parte 9
Vea el siguiente video que explica sobre el Programa de certificación Linux Foundation.
Este artículo es una Parte 9 de 10 tutoriales serie larga, 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.
Administració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.
Al principio En los 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 administración de paquetes freestar.config.enabled_slots.push (LocationName: “tecmint_incontent “, slotId:” tecmint_incontent “);
Si un determinado paquete requiere un determinado recurso, como una biblioteca compartida u otro paquete, se dice que tiene una dependencia. Todos los sistemas modernos de administración de paquetes 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.
Packaging Systems
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 diferentes familias de distribución utilizan 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 paquetes de alto y bajo nivel
Para realizar la tarea de administración de paquetes de manera efectiva, debe estar consciente de que tendrá dos tipos de utilidades disponibles: herramientas de bajo nivel (que manejan en el backend la instalación real, actualización y eliminación de los archivos del paquete) y alto nivel herramientas (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 yum 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 compilar 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 varias fuentes mediante 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 se puede usar para realizar tareas de administración (instalar, actualizar y eliminar paquetes, y también manejar la resolución de dependencias automáticamente ) de forma rápida y sencilla. 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 Linux Standard Base ( Distribuciones compatibles con 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á con herramientas de bajo nivel son las siguientes:
1. Instalar 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 y derivativo] # rpm-i file. rpm [CentOS/openSUSE]
Nota. ¡No intente instalar en CentOS un archivo * .rpm que fue creado para openSUSE, o viceversa!
2. Actualizar un paquete desde un archivo compilado
De nuevo, solo actualizará un paquete instalado manualmente cuando no esté disponible en los repositorios centrales.
# dpkg-i file.deb [Debian y derivado ] # 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 y derivado] # 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 explicado 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
Comprobar paquetes instalados
Otra forma de determinar si un paquete está instalado.
# dpkg–status nombre_paquete [Debian y derivado] # rpm-q nombre_paquete [CentOS/openSUSE]
Por ejemplo, averigüemos si el paquete sysdig está instalado en nuestro sistema.
# rpm-qa | grep sysdig
Verificar paquete sysdig 4. Averiguar 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 Linux
Uso común de herramientas de alto nivel
Las tareas más frecuentes que realizará con herramientas de alto nivel son las siguientes.
1. Búsqueda de 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 descripciones de paquetes.
# yum buscar nombre_paquete # yum buscar todo nombre_paquete # yum lo que proporciona “*/nombre_paquete”
Supongamos que necesitamos un archivo cuyo nombre es sysdig . Para saber qué paquete tendremos que instalar, ejecutemos.
# yum whatprovides “*/sysdig”
Verifique la descripción del paquete
whatprovides le dice a yum que busque el paquete proporcionará un archivo que coincida con la expresión regular anterior.
# zypper refresh && zypper search package_name [En openSUSE] 2. Instalar un paquete desde un repositorio
Mientras instala 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 (según 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 y derivados] # yum update && yum install nombre_paquete [CentOS] # zypper refresh && zypper install nombre_paquete [openSUSE] 3. Eliminando un paquete
La opción eliminar desinstalará el paquete pero dejando los archivos de configuración intacto, mientras que purgar borrará todo rastro del programa de su sistema. # aptitude remove/purge package_name # yum erase package_name
—Observe el signo menos delante del paquete que se desinstalará, openSUSE—# zypper remove-package_name
La mayoría de los paquetes (si no todos) los administradores 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 cumpleaños .