Colección de puertos


Las colecciones de puertos (o árboles de puertos , o simplemente puertos ) son los conjuntos de archivos MAKE y parches proporcionados por los sistemas operativos basados ​​en BSD , FreeBSD , NetBSD y OpenBSD , como un método simple para instalar software o crear paquetes binarios. Por lo general, son la base de un sistema de administración de paquetes , con puertos que manejan la creación de paquetes y herramientas adicionales que administran la eliminación, actualización y otras tareas de paquetes. Además de los BSD, algunas distribuciones de Linux han implementado una infraestructura similar , que incluyeGentoo 's Portage , Arco ' s Arch Build System (ABS) , CRUX 's Puertos y Vacío Linux ' s plantillas.

La principal ventaja del sistema de puertos en comparación con un modelo de distribución binaria es que la instalación se puede ajustar y optimizar de acuerdo con los recursos disponibles. Por ejemplo, el administrador del sistema puede instalar fácilmente una versión de 32 bits de un paquete si la versión de 64 bits no está disponible o no está optimizada para esa máquina. Por el contrario, la principal desventaja es el tiempo de compilación, que puede ser significativo. Por ejemplo, una instalación completa de un sistema FreeBSD, utilizando puertos, puede llevar varios días, dependiendo del hardware.

Jordan Hubbard comprometió su port make macros al repositorio CVS de FreeBSD el 21 de agosto de 1994. [1] Su suite de instalación de paquetes Makefile se había comprometido un año antes (26 de agosto de 1993). [2] En un principio, Hubbard junto con Satoshi Asami mantuvo el marco de los puertos centrales durante varios años. Posteriormente se formó el Equipo de Gestión de Puertos para manejar esta tarea.

La colección de puertos pkgsrc de NetBSD se distingue porque pretende ser portátil y se puede utilizar en varios sistemas operativos además del propio NetBSD, incluidos los otros BSD, SmartOS / illumos , macOS , [3] MINIX 3 , Linux [4] y otros. Me gusta Unix . pkgsrc fue creado en agosto de 1997 basado en el sistema de puertos FreeBSD existente. Sigue un calendario de lanzamiento trimestral y, a partir de octubre de 2018, contiene más de 22.000 paquetes. Con su lanzamiento 1.4, DragonFly BSD anunció que adoptarían pkgsrc como su sistema oficial de administración de paquetes. [5] Sin embargo, DragonFly BSD construyó su propia implementación de puertos llamada dports con la versión 3.4 [6] y la cambió por completo con la 3.6. El desarrollo se realiza a través de su git. [7]

A diferencia de los puertos de FreeBSD , en los que se basó originalmente, el sistema de puertos de OpenBSD está pensado como una fuente utilizada para crear el producto final, paquetes : instalar un puerto primero crea un paquete y luego lo instala. Los puertos se componen de un archivo MAKE, archivos de texto con descripciones y mensajes de instalación, los parches necesarios para ajustar el programa para que funcione en OpenBSD y una lista de empaque que enumera los archivos que se incluirán en los paquetes. El árbol de puertos utiliza un conjunto de archivos MAKE estándar, algunos de los cuales se comparten con el árbol de origen , para proporcionar la mayor parte de su funcionalidad; esta infraestructura compartida incluye muchas funciones de utilidad para los desarrolladores de puertos y significa que los puertos a menudo se pueden hacer de manera muy simple.

A finales de octubre de 2007, el desarrollador de OpenBSD, Nikolay Sturm, anunció que el árbol de portes estable debería considerarse sin mantenimiento debido a la falta de recursos. Esto obligó efectivamente a los usuarios a ejecutar -puertos actuales / árbol base para mantenerse al día con las actualizaciones de seguridad. En 2009, se decidió reactivar el árbol de puertos estable bajo la supervisión de Robert Nagy y Jasper Lievisse Adriaanse. [8]