Linux adoptó la práctica oportuna de gestión de software mediante la creación de formatos de embalaje, paquetes de software y herramientas de instalación únicas. Este artículo analiza cómo el proceso de instalación del paquete de software actualizado desde la instalación del paquete de tarball hasta la gestión de paquetes de DEB y RPM.
Tarball
La adición de software de sistemas Linux anteriores requirió que el usuario descargue el código fuente, lo compile en archivos binarios y lo agregue al sistema. A veces, el software fue puesto a disposición por algunos usuarios en una forma compilada conocida como Tarball. Un tarball contiene múltiples archivos que incluyen, ejecutables, archivos de configuración, documentación y bibliotecas. De modo que todos los archivos se compriman en un solo archivo para un fácil almacenamiento y distribución.
Después de la instalación de software, los archivos se extienden en todo el sistema en directorios relevantes. Sin embargo, el método para crear tarball puede parecer fácil, pero el proceso de instalación dificulta algunas tareas, por ejemplo:
Requiere que el usuario rastree de forma independiente/manualmente las dependencias para el software de instalación de modo que el software dependiente tenga algunas dependencias.
Dado que la instalación del paquete de tarball extiende los archivos, no será fácil localizar los archivos de documentación y configuración del paquete incluso si el usuario conoce los comandos.
Es difícil localizar archivos para desinstalar software.
La ausencia de metadatos en tarballs deja a los usuarios confundidos sobre los detalles de la versión después de la instalación. Eso hace que sea difícil rastrear errores y obtener nuevas versiones.
Para superar estos problemas, el envasado de software en las distribuciones de Linux se evolucionó en dos formatos de empaque conocidos como DEB y Embalaje de RPM.
Embalaje de Deb
Las distribuciones de Linux con sede en Debian y Debian utilizan empaque de software Deb-Base. El .Los archivos DEB incluyen todos los archivos relevantes con metadatos en un .formato de archivo AR. Los metadatos contienen todos los detalles del software relevantes que involucran versión, descripción, dependencias, licencias, etc. Las distribuciones de Debian ofrecen múltiples interfaces gráficas y herramientas basadas en terminal para administrar .archivos deb. Algunos de ellos incluyen:
A pesar de que Ubuntu Software Center es intuitivo, el sistema avanzado de gestión de envases supera a todos los demás PM para embalaje de DEB.
Embalaje de rpm
Las rpm (.RPM) El formato de embalaje es la preferencia de Suse, Fedora y Red Hat, y las distribuciones de Linux con sede en Rhel. El paquete RPM es la amalgama de los archivos para proporcionar un visor de fotos, un procesador de textos u otro software a los usuarios de distribución de RHEL. También contiene archivos de configuración, metadatos y otros documentos requeridos para crear el software.
El RPM Package Manager combina binarios y todos los archivos requeridos disponibles a través de proveedores de software Upstream en un paquete RPM. Antes de incluir paquetes en el repositorio, están firmados para que los usuarios puedan verificar su validez. Ahora el usuario puede acceder a estos paquetes para la instalación desde repositorios colocados dentro de CD o directorios a través de servidores NFS o FTP.
El nombre del paquete RPM le dice mucho sobre el software. Por ejemplo, escriba el siguiente comando para encontrar los detalles del paquete RPM de Firefox actualmente instalado:
[Fedora@Fedora] $ rpm -q Firefox
Firefox-87.0-12.FC34.x86_64
Para encontrar más detalles del paquete, consulte la base de datos local RPM utilizando el comando rpm con la opción -qi:
[Fedora@Fedora] $ rpm -qi Firefox
Nombre: Firefox
Versión: 87.0
Lanzamiento: 12.FC34
Arquitectura: x86_64
Fecha de instalación: viernes 23 de abril de 2021 06:58:19 AM EDT
Grupo: no especificado
Tamaño: 261285879
Licencia: MPLV1.1 o GPLV2+ o LGPLV2+
Firma: RSA/SHA256, martes 13 de abril 2021 04:59:11 AM EDT, ID clave 1161AE6945719A39
Fuente RPM: Firefox-87.0-12.FC34.SRC.rpm
Fecha de construcción: lunes 12 de abril 2021 04:56:26 am edt
Host de construcción: BuildHW-X86-10.IAD2.federaproject.organizar
Packager: proyecto Fedora
Vendedor: Proyecto Fedora
URL: https: // www.Mozilla.org/Firefox/
URL de error: https: // bugz.federaproject.org/Firefox
Resumen: navegador web de Mozilla Firefox
Descripción :
Mozilla Firefox es un navegador web de código abierto diseñado para estándares
cumplimiento, rendimiento y portabilidad.
La salida anterior ahora representa el paquete construido y las fechas de instalación, el tamaño, la licencia del grupo de paquetes de Firefox y muchos otros detalles. A pesar de que RPM fue el primer comando de herramienta de embalaje de RPM para la actualización de instalación, consulta, eliminación de paquetes, etc., Tiene algunos inconvenientes fundamentales.
Dependencia del infierno: La instalación del paquete RPM falla en ausencia de dependencias mientras se cuenta sobre los componentes requeridos. Además, el paquete dependiente en sí tiene algunas dependencias necesarias para realizar el trabajo.
Ubicación de RPMS: El administrador de paquetes RPM espera recibir la ubicación del paquete antes de la instalación. Si el paquete está disponible en la carpeta actual, requiere una entrada de Firefox-87.0-12.FC34.x86_64.RPM, si está en el servidor, requiere http: // ejemplo.com/Firefox-87.0-12.FC34.x86_64.rpm.
Mientras que en ese momento, el embalaje de software basado en Deb podría resolver automáticamente el problema de las dependencias. Sin embargo, después de la creciente popularidad de los paquetes de RPM, los problemas se han resuelto con la instalación YUM.
Proyecto YUM
Se introdujo la instalación de YellowDog Updater Modified (YUM) para administrar las dependencias de los paquetes de RPM considerando cada paquete RPM como parte de un gran repositorio de software. Tal que el problema de tratar con las dependencias es para la distribución de Linux o el software de terceros.
Resuelve los problemas con el concepto que los repositorios pueden construirse entre sí. Por ejemplo, si un usuario instala algún paquete desde el rpmfusion.org de repositorio, que requiere un comando/herramienta del repositorio principal de Fedora, también tiene acceso a eso. Por lo tanto, se descargará e instalará mientras tanto.
Conclusión
Los artículos proporcionan un breve historial de cómo ha evolucionado el sistema de gestión de envases de Linux. Nosotros discutimos .deb y .Sistemas de envasado de software basados en RPM para distribuciones de Linux basadas en Debian y Rhel, sus herramientas más utilizadas. También discutimos la evolución de los sistemas de gestión de paquetes a partir de los problemas enfrentados durante las primeras etapas de desarrollo.