Repositorio de software


Un repositorio de software , o "repositorio" para abreviar, es una ubicación de almacenamiento para paquetes de software . A menudo, también se almacena una tabla de contenido, junto con los metadatos. Un repositorio de software suele ser gestionado por administradores de repositorio o de control de fuente. Los administradores de paquetes permiten instalar y actualizar los repositorios (a veces llamados "paquetes") en lugar de tener que hacerlo manualmente.

Muchos editores de software y otras organizaciones mantienen servidores en Internet para este propósito, ya sea de forma gratuita o mediante una tarifa de suscripción. Los repositorios pueden ser únicamente para programas particulares, como CPAN para el lenguaje de programación Perl , o para un sistema operativo completo . Los operadores de dichos repositorios suelen proporcionar un sistema de gestión de paquetes , herramientas destinadas a buscar, instalar y manipular paquetes de software de los repositorios. Por ejemplo, muchas distribuciones de Linux usan Advanced Packaging Tool (APT), que se encuentra comúnmente en distribuciones basadas en Debian , o yum que se encuentra enDistribuciones basadas en Red Hat . También hay varios sistemas de gestión de paquetes independientes, como pacman, que se utiliza en Arch Linux y equo, que se encuentra en Sabayon Linux .

Como los repositorios de software están diseñados para incluir paquetes útiles, los repositorios principales están diseñados para estar libres de malware . Si una computadora está configurada para usar un repositorio firmado digitalmente de un proveedor de renombre y se combina con un sistema de permisos apropiado , esto reduce significativamente la amenaza de malware para estos sistemas. Como efecto secundario, muchos sistemas que tienen estas capacidades no requieren software anti-malware como el software antivirus . [1]

La mayoría de las principales distribuciones de Linux tienen muchos repositorios en todo el mundo que reflejan el repositorio principal.

En un entorno empresarial, un repositorio de software se usa generalmente para almacenar artefactos o para reflejar repositorios externos que pueden ser inaccesibles debido a restricciones de seguridad. Dichos repositorios pueden proporcionar funcionalidad adicional, como control de acceso, control de versiones, verificaciones de seguridad para el software cargado, funcionalidad de clúster, etc. y, por lo general, admiten una variedad de formatos en un paquete, para satisfacer todas las necesidades de una empresa y, por lo tanto, con el objetivo de proporcionar un solo punto de verdad. Ejemplos populares son JFrog Artifactory [2] [3] y el repositorio Nexus. [4]

En el lado del servidor, un repositorio de software generalmente es administrado por administradores de repositorio o de control de fuente. Algunos de los administradores de repositorios permiten agregar otra ubicación de repositorio en una URL y proporcionan un proxy de almacenamiento en caché. Cuando se realizan compilaciones continuas, se producen muchos artefactos y, a menudo, se almacenan de forma centralizada, por lo que es importante eliminar automáticamente los que no se publican.