fbpx
Wikipedia

Repositorio de software

Un repositorio de software es un lugar de almacenamiento del cual pueden ser recuperados e instalados los paquetes de software en un ordenador.

Visión general

Muchos editores de software y otras organizaciones mantienen servidores en Internet para este fin, ya sea de forma gratuita o por 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 estos repositorios suelen ofrecer un sistema de gestión de paquetes, herramientas destinadas a buscar, instalar y manipular los paquetes de software desde los repositorios. Por ejemplo, muchas distribuciones Linux utilizan Advanced Packaging Tool(APT), encontrado comúnmente en distribuciones basadas en Debian, o yum, encontrado en distribuciones basadas en Red Hat. También hay varios sistemas independientes de gestión de paquetes, como pacman, utilizados en Arch Linux y Equo, encontrados en Sabayon Linux.

Como los repositorios de software están diseñadas para incluir paquetes de útiles, los repositorios importantes están diseñados para estar libre de malware. Si un equipo está configurado para utilizar una firma digital de un repositorio de algún vendedor de confianza, combinado con un sistema de permisos adecuado, reduce significativamente la amenaza de malware en estos sistemas. Como efecto secundario, muchos sistemas que tienen estas capacidades no requieren software antivirus ni software anti-malware.

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

Sistema de gestión de paquetes vs. proceso de desarrollo de paquetes

Un sistema de gestión de paquetes es diferente de un proceso de desarrollo paquetes.

Un uso típico de un sistema de gestión de paquetes es facilitar la integración de código de posibles fuentes diferentes a una unidad operativa coherente e independiente. Por lo tanto, un sistema de gestión de paquetes podría ser utilizado para producir una distribución de Linux, posiblemente, una distribución adaptada a una aplicación restringida específica.

Un proceso de desarrollo de paquetes, por el contrario, se utiliza para gestionar el co-desarrollo de código y documentación de una colección de funciones o rutinas con un tema común, produciendo de esta manera un conjunto de funciones de software que normalmente no será completa y utilizable por sí mismos. Un buen proceso de desarrollo de paquetes ayudará a los usuarios, conforme a una buena documentación y prácticas de codificación, con la integración de cierto nivel de pruebas unitarias. La tabla más abajo proporciona ejemplos de procesos de desarrollo de paquetes.

 Repositorios seleccionados

La siguiente tabla muestra un par de lenguajes con los repositorios de software contribuido. La columna "Autochecks" describe los controles de rutina realizados.

Muy pocas personas tienen la posibilidad de probar su software en múltiples sistemas operativos con diferentes versiones del código del núcleo y con otros paquetes contribuido que pueden utilizar. Para R, la Red Archivo R Integral (CRAN), realiza pruebas de forma rutinaria. Para ver cuán valioso es esto, supongamos que Sally aporta un paquete A. Solo Sally ejecuta la versión actual del software en una versión de Microsoft Windows y solo se ha probado en ese entorno. A intervalos más o menos regulares, CRAN pone a prueba la contribución de Sally en una docena de combinaciones de sistemas operativos y versiones del software núcleo del lenguaje R. Si uno de ellos genera un error, se pone ese mensaje de error. Con suerte, ese mensaje de error puede ser suficiente para que le permita solucionar el error, incluso si ella no puede replicarlo con el hardware y software que tiene. A continuación, supongamos que John contribuye al repositorio un paquete B que utiliza un paquete A. El paquete B pasa todas las pruebas y se pone a disposición de los usuarios. Más tarde, Sally presenta una versión mejorada de A, que por desgracia, rompe B. Los autochecks hacen posible proporcionar información a John para que pueda solucionar el problema.

Este ejemplo expone a la vez una fortaleza y una debilidad en el sistema de paquetes contribuidos R: CRAN provee este tipo de pruebas automatizadas de paquetes contribuidos, pero los paquetes contribuido a CRAN no necesitan especificar las versiones de otros paquetes contribuidos que utilizan. Existen procedimientos para solicitar versiones específicas de paquetes, pero los contribuyentes no podrían utilizar esos procedimientos.

Más allá de esto, un repositorio como CRAN ejecuta comprobaciones regulares de paquetes contribuidos, en realidad ofrece un extenso conjunto de pruebas para las versiones de desarrollo del núcleo del lenguaje. Si Sally (en el ejemplo anterior) obtiene un mensaje de error que no entiende o cree inapropiado, sobre todo a partir de una versión de desarrollo del lenguaje, ella puede (y a menudo lo hace con R) pedir ayuda al equipo de desarrollo principal para el lenguaje. De esta manera, el repositorio puede contribuir a mejorar la calidad del software núcleo del lenguaje.

Propósito / de lengua Proceso de gestión de paquetes Repositorio Cómo para instalar Collaborative Plataforma de desarrollo Autochecks
C++ Impulso
Haskell Arquitectura común para Construir Aplicacirones y Bibliotecas (CABAL) Hackage
Java Maven
.NET NuGet NuGet
Node.js NPM
Perl CPAN
PHP PECL
Python Setuptools PyPI pip, EasyInstall, PyPM
R R CMD check process[1][2] CRAN install.packages R-Forjar Aproximadamente semanal en 12 plataformas o combinaciones de versión diferente de R (devel, prerel, parcheado, liberación) con hasta 7 sistemas operativos diferentes (diferentes versiones de Linux, Windows y Mac)
Bioconductor BiocLite.R[1]
Ruby RubyGems Ruby Application Archive RubyForge
TeX, LÁTEX CTAN

(Partes de esta tabla fueron copiadas de.[3]​)

Gestores de Repositorios

Software para gestionar repositorios (gestores de repositorios) incluyen:

  • Apache Archiva @– "software de gestión de repositorio para la construcción del repositorio de artefactos"[4]
  • MyGet @– "servicio de entrega continua de alojamiento, 1000 de los repositorios de paquetes NuGet, Bower y NGP"[5]
  • JFrog Artifactory @– "gestión de los binarios a lo largo del ciclo desarrollo"[6]
  • Sonatype Nexus @– "utilizado por más de 20.000 organizaciones"[7]
  • Paquete Drone @– "un repositorio gestor de paquetes de OSGi"[8]

Referencias

  1. Leisch, Friedrich.
  2. Graves, Spencer B.; Dorai-Raj, Sundar.
  3. repository - List of Top Repositories by Programming Language - Stack Overflow
  4. "Apache Archiva: The Build Artifact Repository Manager".
  5. "MyGet: Hosted NuGet, NPM, Bower and Vsix".
  6. "Artifactory.
  7. "Nexus Repository Manager".
  8. "Package Drone".
  •   Datos: Q1334294

repositorio, software, repositorio, software, lugar, almacenamiento, cual, pueden, recuperados, instalados, paquetes, software, ordenador, Índice, visión, general, sistema, gestión, paquetes, proceso, desarrollo, paquetes, repositorios, seleccionados, gestores. Un repositorio de software es un lugar de almacenamiento del cual pueden ser recuperados e instalados los paquetes de software en un ordenador Indice 1 Vision general 2 Sistema de gestion de paquetes vs proceso de desarrollo de paquetes 3 Repositorios seleccionados 4 Gestores de Repositorios 5 ReferenciasVision general EditarMuchos editores de software y otras organizaciones mantienen servidores en Internet para este fin ya sea de forma gratuita o por una tarifa de suscripcion Los repositorios pueden ser unicamente para programas particulares como CPAN para el lenguaje de programacion Perl o para un sistema operativo completo Los operadores de estos repositorios suelen ofrecer un sistema de gestion de paquetes herramientas destinadas a buscar instalar y manipular los paquetes de software desde los repositorios Por ejemplo muchas distribuciones Linux utilizan Advanced Packaging Tool APT encontrado comunmente en distribuciones basadas en Debian o yum encontrado en distribuciones basadas en Red Hat Tambien hay varios sistemas independientes de gestion de paquetes como pacman utilizados en Arch Linux y Equo encontrados en Sabayon Linux Como los repositorios de software estan disenadas para incluir paquetes de utiles los repositorios importantes estan disenados para estar libre de malware Si un equipo esta configurado para utilizar una firma digital de un repositorio de algun vendedor de confianza combinado con un sistema de permisos adecuado reduce significativamente la amenaza de malware en estos sistemas Como efecto secundario muchos sistemas que tienen estas capacidades no requieren software antivirus ni software anti malware La mayoria de las principales distribuciones de Linux tienen muchos repositorios en todo el mundo que reflejan el repositorio principal Sistema de gestion de paquetes vs proceso de desarrollo de paquetes EditarUn sistema de gestion de paquetes es diferente de un proceso de desarrollo paquetes Un uso tipico de un sistema de gestion de paquetes es facilitar la integracion de codigo de posibles fuentes diferentes a una unidad operativa coherente e independiente Por lo tanto un sistema de gestion de paquetes podria ser utilizado para producir una distribucion de Linux posiblemente una distribucion adaptada a una aplicacion restringida especifica Un proceso de desarrollo de paquetes por el contrario se utiliza para gestionar el co desarrollo de codigo y documentacion de una coleccion de funciones o rutinas con un tema comun produciendo de esta manera un conjunto de funciones de software que normalmente no sera completa y utilizable por si mismos Un buen proceso de desarrollo de paquetes ayudara a los usuarios conforme a una buena documentacion y practicas de codificacion con la integracion de cierto nivel de pruebas unitarias La tabla mas abajo proporciona ejemplos de procesos de desarrollo de paquetes Repositorios seleccionados EditarLa siguiente tabla muestra un par de lenguajes con los repositorios de software contribuido La columna Autochecks describe los controles de rutina realizados Muy pocas personas tienen la posibilidad de probar su software en multiples sistemas operativos con diferentes versiones del codigo del nucleo y con otros paquetes contribuido que pueden utilizar Para R la Red Archivo R Integral CRAN realiza pruebas de forma rutinaria Para ver cuan valioso es esto supongamos que Sally aporta un paquete A Solo Sally ejecuta la version actual del software en una version de Microsoft Windows y solo se ha probado en ese entorno A intervalos mas o menos regulares CRAN pone a prueba la contribucion de Sally en una docena de combinaciones de sistemas operativos y versiones del software nucleo del lenguaje R Si uno de ellos genera un error se pone ese mensaje de error Con suerte ese mensaje de error puede ser suficiente para que le permita solucionar el error incluso si ella no puede replicarlo con el hardware y software que tiene A continuacion supongamos que John contribuye al repositorio un paquete B que utiliza un paquete A El paquete B pasa todas las pruebas y se pone a disposicion de los usuarios Mas tarde Sally presenta una version mejorada de A que por desgracia rompe B Los autochecks hacen posible proporcionar informacion a John para que pueda solucionar el problema Este ejemplo expone a la vez una fortaleza y una debilidad en el sistema de paquetes contribuidos R CRAN provee este tipo de pruebas automatizadas de paquetes contribuidos pero los paquetes contribuido a CRAN no necesitan especificar las versiones de otros paquetes contribuidos que utilizan Existen procedimientos para solicitar versiones especificas de paquetes pero los contribuyentes no podrian utilizar esos procedimientos Mas alla de esto un repositorio como CRAN ejecuta comprobaciones regulares de paquetes contribuidos en realidad ofrece un extenso conjunto de pruebas para las versiones de desarrollo del nucleo del lenguaje Si Sally en el ejemplo anterior obtiene un mensaje de error que no entiende o cree inapropiado sobre todo a partir de una version de desarrollo del lenguaje ella puede y a menudo lo hace con R pedir ayuda al equipo de desarrollo principal para el lenguaje De esta manera el repositorio puede contribuir a mejorar la calidad del software nucleo del lenguaje Proposito de lengua Proceso de gestion de paquetes Repositorio Como para instalar Collaborative Plataforma de desarrollo AutochecksC ImpulsoHaskell Arquitectura comun para Construir Aplicacirones y Bibliotecas CABAL HackageJava Maven NET NuGet NuGetNode js NPMPerl CPANPHP PECLPython Setuptools PyPI pip EasyInstall PyPMR R CMD check process 1 2 CRAN install packages R Forjar Aproximadamente semanal en 12 plataformas o combinaciones de version diferente de R devel prerel parcheado liberacion con hasta 7 sistemas operativos diferentes diferentes versiones de Linux Windows y Mac Bioconductor BiocLite R 1 Ruby RubyGems Ruby Application Archive RubyForgeTeX LATEX CTAN Partes de esta tabla fueron copiadas de 3 Gestores de Repositorios EditarSoftware para gestionar repositorios gestores de repositorios incluyen Apache Archiva software de gestion de repositorio para la construccion del repositorio de artefactos 4 MyGet servicio de entrega continua de alojamiento 1000 de los repositorios de paquetes NuGet Bower y NGP 5 JFrog Artifactory gestion de los binarios a lo largo del ciclo desarrollo 6 Sonatype Nexus utilizado por mas de 20 000 organizaciones 7 Paquete Drone un repositorio gestor de paquetes de OSGi 8 Referencias Editar Leisch Friedrich Graves Spencer B Dorai Raj Sundar repository List of Top Repositories by Programming Language Stack Overflow Apache Archiva The Build Artifact Repository Manager MyGet Hosted NuGet NPM Bower and Vsix Artifactory Nexus Repository Manager Package Drone Datos Q1334294Obtenido de https es wikipedia org w index php title Repositorio de software amp oldid 132577457, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos