Introducción
A sistema de gestión de paquetes o administrador de paquetes es un grupo de herramientas de software. Automatiza el proceso de instalación, el proceso de actualización, el proceso de configuración y el proceso de eliminación de los programas informáticos para un sistema operativo de la computadora de manera eficiente. A gerente de empaquetación funciona con paquetes, datos dentro de archivos comprimidos y distribuciones de software.
Los paquetes incluyen metadatos como el nombre del software, descripción de su objetivo, suma de comprobación (una función hash criptográfica preferiblemente), d lista de dependencia, proveedor, y número de versión esencial para que el software se ejecute correctamente.
- Los metadatos se guardan dentro de la base de datos de un paquete local durante la instalación.
- Normalmente, los administradores de paquetes administran la base de datos de la información de la versión y las dependencias del software para evitar requisitos previos faltantes y discrepancias de software.
- Operan en estrecha colaboración con tiendas de aplicaciones, administradores de repositorios binarios y repositorios de software.
- Los administradores de paquetes están desarrollados para eliminar la necesidad de actualizaciones e instalaciones manuales.
- En particular, puede resultar útil para grandes organizaciones cuyos sistemas operativos combinan normalmente cientos o más paquetes de software diferentes.
Funciones del administrador de paquetes
Un paquete de software se puede definir como el archivo de almacenamiento combinando un programa informático y metadatos esenciales también para el desarrollo. El programa del sistema podría estar dentro del código fuente que debe construirse y compilarse primero.
Los metadatos del paquete contienen la versión del paquete, la descripción del paquete y las dependencias (paquetes que deben instalarse previamente). Muchos administradores de paquetes son propiedad de la acción de instalar, desinstalar, mantener o encontrar paquetes de software bajo el mando del usuario.
El sistema de gestión de paquetes contiene algunos típicos funciones los cuales se mencionan a continuación:
- Tratar con los archivadores de archivos para extraer archivos de paquetes.
- Asegurar la autenticidad e integridad del paquete autenticando sus certificados digitales y sumas de verificación respectivamente.
- Actualizar, instalar, descargar o buscar software existente a través de una tienda de aplicaciones o un repositorio de software.
- Combinación de paquetes mediante funciones para reducir la confusión del usuario.
- Mantener dependencias para garantizar que un paquete se haya instalado junto con todos los paquetes que necesita. Entonces, ignorando 'infierno de dependencia'.
Interfaces para paquetes compilados (localmente)
Administradores de sistemas Puede instalar y administrar el software con la ayuda de algunas herramientas distintas al software de administración de paquetes. Por ejemplo, un administrador local puede descargar el código fuente (sin empaquetar), compilarlo y luego instalarlo.
Puede provocar que el estado del sistema local pierda la sincronización junto con la base de datos del estado del administrador de paquetes. Se necesitaría que el administrador local tomara algunas medidas adicionales, como integrar manualmente las modificaciones en un administrador de paquetes o administrar algunas dependencias.
3d en autocad
Hay algunas herramientas presentes para garantizar que los paquetes compilados (en la zona) se desarrollan con la gestión de paquetes.
ComprobarInstalar está disponible para .rpm o Distribuciones basadas en archivos .deb y Slackware Linux también. Para híbrido sistemas como Arco Linux y sistemas basados en recetas como gentoo linux, es posible especificar inicialmente una receta, que luego confirma que un paquete encaja en una base de datos de paquetes local.
Desafíos con las bibliotecas distribuidas
Varios sistemas informáticos que dependen de la vinculación dinámica de bibliotecas, en lugar de la vinculación estática de bibliotecas, distribuyen bibliotecas de instrucciones de máquina (ejecutables) entre aplicaciones y paquetes.
En este tipo de sistemas, las relaciones típicas entre distintos paquetes que necesitan versiones de biblioteca resultan en un desafío llamado 'infierno de dependencia'.
También se le conoce como 'DLL infierno' en Microsoft Windows cuando se trata de bibliotecas vinculadas dinámicamente. Una buena gestión de paquetes es crucial para estos sistemas.
De PASO ABIERTO , el sistema marco fue una oportunidad para resolver este problema, al permitir que se instale más de una versión de biblioteca simultáneamente y que muchos paquetes de software describan a qué versión están vinculados.
Mantenimiento de configuración
Las actualizaciones del archivo de configuración son particularmente problemáticas con las actualizaciones de software. Al menos en Unix, ya que los administradores de paquetes se originaron como la extensión de la utilidad de archivo de archivos.
Por lo general, solo retienen o sobrescriben los archivos de configuración, en lugar de utilizar reglas para ellos. Pueden surgir varios problemas cuando se modifica el formato del archivo de configuración. Por ejemplo, si un archivo de configuración antiguo no deshabilita explícitamente las opciones más nuevas, se deben mostrar. Algunos administradores de paquetes, como dpkg de Debian, permiten la configuración en el momento de la instalación. En algunos otros casos, es deseable instalar paquetes junto con la configuración predeterminada y sobrescribir la configuración en la instalación (sin cabeza) en una gran cantidad de sistemas. Este tipo de instalación (preconfigurada) también se admite a través de dpkg.
Supresión de actualización
Es tradicional poner a disposición del usuario junto con la lista de acciones que se ejecutarán (generalmente la lista de paquetes que se actualizarán y, posiblemente, proporcionar los números de versión nueva y antigua) si un usuario coopera con el software de administración de paquetes para realizar la actualización.
Permite al usuario seleccionar un paquete único para las actualizaciones o realizar una actualización en masa. Se podrían configurar varios administradores de paquetes para que nunca actualicen muchos paquetes, o para actualizarlos solo si se detectan inestabilidades o vulnerabilidades críticas en el estándar anterior, según lo especificado en el paquete de software. A veces, este proceso se conoce como fijación de versión.
Por ejemplo:
yum lo apoya con el excluir=oficina abierta* sintaxis
pacman con la sintaxis Ignorar = oficina abierta (en ambos casos, para suprimir la actualización de openoffice)
dselect y dpkg lo admiten parcialmente mediante el indicador de retención dentro de las selecciones de paquetes.
aptitud tiene 'prohibir' y 'sostener' banderas.
portage lo admite mediante un archivo de configuración, es decir, paquete.máscara.
APT extiende la bandera, es decir, sostener por el complejo 'fijar' método (los usuarios también pueden incluir el paquete en la lista negra).
Repositorios
Para proporcionar a los usuarios un control adicional sobre los tipos de software que permiten que se instale en su sistema (a veces por conveniencia y razones legales por parte del distribuidor), el software a veces se descarga utilizando muchos repositorios de software.
algoritmo de ordenación del montón
Eliminación de paquetes en cascada
Algunos de los aspectos de gestión de paquetes más desarrollados facilitan 'eliminación de paquetes en cascada', donde también se eliminan todos los paquetes que dependen del paquete de destino y todos los paquetes en los que depende el paquete de destino.
Comparación de comandos
Sin embargo, los comandos son únicos para todos los administradores de paquetes específicos. Estos comandos son en gran medida traducibles porque la mayoría de los administradores de paquetes facilitan las mismas funciones.
Prevalencia del administrador de paquetes
Los administradores de paquetes como dpkg están disponibles ya en 1994. Varias distribuciones de Linux orientadas a los paquetes binarios dependen en gran medida del sistema de administración de paquetes debido a su principal medio de mantenimiento y administración de software.
Muchos sistemas operativos móviles como Windows Phone, iOS (tipo Unix) y Android (basado en Linux) dependen casi de la respectiva App Store del proveedor. Por lo tanto, utilizan su sistema de gestión de paquetes (dedicado).
Comparación con los instaladores
A menudo, un administrador de paquetes se conoce como 'administrador de instalación'. Puede causar confusión entre los instaladores y administradores de paquetes. Algunas de las principales diferencias se detallan a continuación:
Criterio | Gerente de empaquetación | Instalador |
---|---|---|
Enviado con | Por lo general, el sistema operativo | Todos los programas de computadora |
Ubicación de la información de instalación | Una base de datos central para la instalación. | Queda enteramente a criterio del instalador. Puede ser un archivo en la carpeta de la aplicación o entre las carpetas y archivos del sistema operativo. Es posible que se registren en la lista de desinstaladores sin revelar la información de instalación. |
Alcance del mantenimiento | Potencialmente, todos los paquetes de un sistema | Solo el producto con el que fue empacado. |
Desarrollador | Proveedor de administrador de paquetes único | Más de un proveedor de instalador |
formato del paquete | Un puñado de formatos reconocidos | Puede haber tantos formatos como número de aplicación |
Compatibilidad del formato del paquete | Podría utilizarse siempre que lo utilice un administrador de paquetes. O el usuario no actualiza un administrador de paquetes o las nuevas versiones del administrador de paquetes siguen admitiéndolo. | Si el instalador utiliza cualquier formato de archivo, entonces el instalador siempre será compatible con él. Sin embargo, los instaladores pueden verse influenciados por el software podrido como cualquier computadora. |
Comparación con la utilidad de automatización.
Casi todos los sistemas de gestión de configuración de software representan la implementación de software y la creación de software por separado. Por lo general, la utilidad de automatización de compilación toma los archivos de código fuente que ya están en formato legible por humanos en un sistema y acelera el procedimiento de convertirlos en un paquete ejecutable (binario) en un sistema similar.
Por lo general, un administrador de paquetes que luego se ejecuta en algunos otros sistemas descarga esos paquetes ejecutables (binarios prediseñados) en Internet y luego los instala.
Aunque ambos tipos de herramientas incluyen varios factores comunes que se mencionan a continuación:
- La clasificación topológica del gráfico de dependencia se aplica dentro de un administrador de paquetes para manejar dependencias entre muchos componentes binarios.
- Además, se aplica dentro de un administrador de compilación para manejar la dependencia entre muchos componentes fuente.
- Varios archivos MAKE brindan su soporte, no solo la creación de ejecutables.
- Además, admiten la instalación mediante make install.
- Todos los administradores de paquetes admiten la traducción del código fuente (legible por humanos) a ejecutables binarios y luego lo instalan para la distribución basada en código fuente como Homebrew, Sorcery, Portage, etc.
Algunas herramientas como AAP y Hacer están desarrollados para gestionar tanto la implementación como la construcción. También se pueden utilizar como administrador de paquetes, utilidad de automatización de compilación o ambas.
Gestores de paquetes básicos y sus formatos.
Administrador de paquetes universal
También es llamado administrador de repositorio binario. Este administrador de paquetes es una herramienta de software creada para optimizar el almacenamiento y descargar los archivos binarios, paquetes y artefactos producidos y utilizados dentro de un proceso de desarrollo de software.
Gestores de paquetes universales Nos centramos en estandarizar la moda que los usuarios tratan en cada tipo de envase. Proporcionan a los usuarios la capacidad de utilizar métricas de cumplimiento y seguridad en torno a cada tipo de artefacto. Se les ha asignado que se encuentran en medio de una Cadena de herramientas DevOps.
Sistemas de software libre y de código abierto
Los paquetes de licencias compatibles y similares han existido para su uso en varios sistemas operativos según el comportamiento del software gratuito y de código abierto.
Estos paquetes podrían distribuirse y combinarse utilizando sistemas de empaquetado internamente complejos y configurables para gestionar varios conflictos y dependencias específicas de la versión y permutaciones de software.
Además, algunos sistemas de empaquetado de software libre y de código abierto se publican como software libre y de código abierto.
Una diferencia entre la gestión de paquetes en sistemas operativos como Windows y Mac OS X y aquellos en software de código abierto y libre, como Linux, es que los sistemas de software libre y de código abierto permiten actualizar e instalar paquetes de terceros desde un mecanismo similar. . Considerando que muchos administradores de paquetes de Windows y Mac OS X actualizarán el software proporcionado por Microsoft y Apple respectivamente.
La capacidad de actualizar continuamente software de terceros se agrega al incluir la URL del repositorio correspondiente en el archivo de configuración de la administración de paquetes.
Formatos de paquete
Todos los administradores de paquetes dependen de los metadatos y el formato de los paquetes que pueden administrar. Los administradores de paquetes requieren que los grupos de archivos estén agrupados para el administrador de paquetes en particular con metadatos adecuados, como dependencias.
Una colección principal de utilidades a menudo administra la instalación general a través de estos paquetes y más de un administrador de paquetes aplica estas utilidades para proporcionar funcionalidad adicional.
Ejemplo:
- yum depende de rpm como backend. Yum desarrolla la funcionalidad backend agregando aspectos como una configuración simple para mantener la red del sistema.
- El administrador de paquetes synaptic proporciona una GUI aplicando la biblioteca de la herramienta de empaquetado avanzada que depende de dpkg.
Extraterrestre se puede definir como un programa que traduce entre distintos formatos de paquetes de Linux. Está apoyando la conversión entre Slackware (.tgz, .tlz, .tbz, .txz) paquetes, Paquetes Solaris (.pkg), Stampede (.slp), .deb, .rpm, y Base estándar de Linux (LSB) compatible.
En varios sistemas operativos móviles como Google Play utiliza el formato de paquete del Paquete de aplicaciones de Android (en breve APK ) mientras que la Tienda Windows utiliza los formatos de XAP y APX. Ambos Tienda Windows y Google Play contienen administradores de paquetes del mismo nombre.
Administradores de paquetes a nivel de aplicación
Existen algunos administradores de paquetes (complementos) para sistemas operativos para lenguajes de programación y con capacidades restringidas donde los desarrolladores requieren las bibliotecas actuales. Los administradores de paquetes a nivel de aplicación se concentran en la pequeña parte del sistema de software, a diferencia de los administradores de paquetes a nivel de sistema.
Normalmente, residen en un árbol de directorios. No está organizado por un administrador de paquetes a nivel de sistema como /usr/local/fink o c:cygwin. Sin embargo, puede que no sea la condición para un administrador de paquetes que funcione con bibliotecas de programación, lo que causa un posible conflicto ya que ambos administradores de paquetes pueden interrumpir las actualizaciones y solicitar 'propio' el archivo.