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 tardar varios días, dependiendo del hardware.
Puertos FreeBSD
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] Al 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.
Pkgsrc de NetBSD
La colección de puertos pkgsrc de NetBSD se distingue porque pretende ser portátil y se puede usar 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] DragonFly BSD, sin embargo, 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]
Puertos OpenBSD
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]
Hay dos sitios web no oficiales con una lista de puertos y paquetes de OpenBSD:
- OpenPorts.se , originalmente anunciado como ports.openbsd.nu en 2006, [9] es un sitio web personalizado que realiza su propio análisis de la estructura del árbol de puertos y las actualizaciones, y tiene la funcionalidad de rastrear cambios de un determinado port, que tiene el inconveniente de no admitir algunas de las lógicas Makefile más complicadas y, por lo tanto, falta un 15% de los paquetes que requieren un conocimiento complejo de la estructura del árbol de ports y el uso de las herramientas oficiales. [10]
- ports.su , anunciado en febrero de 2013 y se basa en la base de datos oficial sqlports, [11] teniendo así una colección completa de todos los paquetes y sabores que están disponibles para la plataforma amd64. Al estar basadas en las herramientas oficiales, las categorías "virtuales" (no primarias) están fácilmente disponibles, al igual que la información sobre las dependencias de la biblioteca, la compilación y el tiempo de ejecución. La fuente del sitio web se basa en gran medida en el puerto ports-readmes y está disponible en GitHub .
Ver también
- Android Runtime que realiza una compilación anticipada en la instalación
- MacPorts
- Portage (software) , utilizado en Gentoo Linux e inspirado en el sistema de puertos
Referencias
- ^ "Registro de CVS para puertos / Mk / bsd.port.mk" . Proyecto FreeBSD.
- ^ "Registro de CVS para src / usr.sbin / pkg_install / Makefile" . Proyecto FreeBSD. Archivado desde el original el 14 de abril de 2013.
- ^ "Documentación de paquetes Joyent - Instalar en macOS" . Joyent . Consultado el 10 de octubre de 2018 .
- ^ "Documentación de paquetes Joyent - Instalar en Linux" . Joyent . Consultado el 10 de octubre de 2018 .
- ^ Dillon, Matthew. "PKGSRC será oficialmente compatible a partir de la próxima versión" . Consultado el 23 de enero de 2008 .
- ^ Sherrill, Justin. "Planificación del lanzamiento de DragonFly 3.4" .
- ^ "GitHub - DragonFlyBSD / DPorts: El sistema de compilación de aplicaciones dedicado para DragonFly BSD" .
- ^ Yodlowsky, William. "Puertos 4.6-estables" . Archivado desde el original el 12 de junio de 2011 . Consultado el 29 de diciembre de 2009 .
- ^ "ports.openbsd.nu - interfaz a los puertos" . Diario de OpenBSD . 2006-08-09.
- ^ Espie, Marc (7 de junio de 2013). "Re: ¿Por qué no hay pkg_find (1)?" . [email protected].
- ^ "Introduciendo ports.su - espejo de puertos-readmes y búsqueda de puertos" . Diario de OpenBSD . 2013-05-02.
enlaces externos
- Manual de OpenBSD Porter
- Puertos OpenBSD
- La página de manual de puertos de OpenBSD
- Puertos FreeBSD
- pkgsrc: La colección de paquetes NetBSD
- Las ideas detrás de Compile