![AMD presenta las CPU Ryzen 7000 que se lanzarán este otoño con nuevos núcleos de 5 nm](/f/b32bd29f7606bce37216250bac1bd3ba.jpg?width=100&height=100)
En agosto pasado, la Fundación Linux anunció la LFCS Certificación (Administrador de sistemas certificado por la Fundación Linux), una gran oportunidad 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 para los sistemas Linux. Un administrador de sistemas certificado por la Fundación Linux tiene la experiencia para garantizar un soporte eficaz del sistema, de primer nivel resolución de problemas y supervisión, incluida la escalada final de problemas, cuando sea necesario, al soporte de ingeniería equipos.
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.
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.
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.
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 construido, probado y mantenido específicamente para la distribución) o estar disponible en código fuente que se puede descargar e instalar a mano.
Debido a que las diferentes familias de distribución usan diferentes sistemas de empaquetado (Debian: *.debutante / 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.
Para realizar la tarea de administración de paquetes de manera efectiva, debe tener en cuenta que tendrá dos tipos de utilidades disponibles: nivel bajo herramientas (que manejan en el backend la instalación, actualización y eliminación real de los archivos del paquete), y nivel alto 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 | 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 compilar paquetes * .deb, pero no puede descargar e instalar automáticamente sus dependencias correspondientes.
Lee mas: 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.
Lee mas: 25 ejemplos de comandos apt-get
aptitud es otro administrador de paquetes de alto nivel para sistemas basados en Debian, y puede usarse para realizar tareas de administración (instalando, actualizando y eliminando paquetes, también manejando la resolución de dependencias automáticamente) de manera rápida y manera 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.
Lee mas: Ejemplos de comandos de 20 rpm
mmm 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.
Lee mas: 20 ejemplos de comandos yum
Las tareas más frecuentes que realizarás con herramientas de bajo nivel son las siguientes:
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 puede descargar e instalar a través de un herramienta. 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 derivado] # rpm -i archivo.rpm [CentOS / openSUSE]
Nota: ¡No intente instalar en CentOS un archivo * .rpm que fue creado para openSUSE, o viceversa!
Nuevamente, 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]
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 se explica en manipular archivos en Linux - Parte 1 de esta serie. Supongamos que necesitamos verificar si el paquete mysql-común está instalado en un sistema Ubuntu.
# dpkg -l | grep mysql-common.
Otra forma de determinar si un paquete está instalado.
# dpkg --status package_name [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.
# dpkg --search nombre_archivo. # rpm -qf nombre_archivo.
Por ejemplo, qué paquete instaló pw_dict.hwm?
# rpm -qf /usr/share/cracklib/pw_dict.hwm.
Las tareas más frecuentes que realizarás con herramientas de alto nivel son las siguientes.
actualización de aptitud actualizará la lista de paquetes disponibles, y búsqueda de aptitud realizará la búsqueda real de Nombre del paquete.
# aptitude update && aptitude search nombre_paquete
En la opción de buscar todo, mmm buscará package_name no solo en los nombres de los paquetes, sino también en las descripciones de los mismos.
# yum buscar nombre_paquete. # yum busca todo nombre_paquete. # yum whatprovides "* / package_name"
Supongamos que necesitamos un archivo cuyo nombre es sysdig. Para saber qué paquete tendremos que instalar, ejecutemos.
# yum whatprovides "* / sysdig"
lo que proporciona dice mmm para buscar el paquete, se proporcionará un archivo que coincida con la expresión regular anterior.
# zypper refresh && zypper search package_name [En openSUSE]
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 para la seguridad y Razones de dependencia.
# aptitude update && aptitude install package_name [Debian y derivados] # yum update && yum install nombre_paquete [CentOS] # zypper refresh && zypper install nombre_paquete [openSUSE]
La opción retirar desinstalará el paquete pero dejará intactos los archivos de configuración, mientras que purge borrará todo rastro del programa de su sistema.
# aptitude remove / purge nombre_paquete
# yum borrar nombre_paquete
Observe el signo menos delante del paquete que se desinstalará, 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!
El siguiente comando mostrará información sobre el cumpleaños paquete.
# cumpleaños del espectáculo de aptitud # cumpleaños de yum info. # cumpleaños de información zypper.
La administración de paquetes es algo que simplemente no puede esconder como administrador del sistema. 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 LFCS examen y para sus tareas diarias. No dude en dejar sus comentarios o preguntas a continuación. Estaremos encantados de responderle lo antes posible.