La colección de ports de FreeBSD es un sistema de gestión de paquetes para el sistema operativo FreeBSD . Los ports de la colección varían según el software aportado. Había 38.487 ports disponibles en febrero de 2020 [1] y 36.504 en septiembre de 2024 [2]. También ha sido adoptada por NetBSD como base de su sistema pkgsrc .
La colección de ports utiliza Makefiles organizados en una jerarquía de directorios de modo que el software se pueda compilar , instalar y desinstalar con el comando make . Al instalar una aplicación, se requiere muy poca intervención del usuario (si es que se requiere alguna) después de emitir un comando de inicio como make install o make install clean en el directorio de ports de la aplicación deseada . En la mayoría de los casos, el software se descarga automáticamente de Internet , se le aplican parches y se configura si es necesario, luego se compila , se instala y se registra en la base de datos de paquetes. Si el nuevo port necesita dependencias de otras aplicaciones o bibliotecas, estas se instalan de antemano de forma automática.
La mayoría de los puertos ya están configurados con opciones predeterminadas que se consideran generalmente apropiadas para la mayoría de los usuarios. Sin embargo, estas opciones de configuración (llamadas perillas ) a veces se pueden cambiar antes de la instalación mediante el comando make config , que muestra una interfaz basada en texto que permite al usuario seleccionar las opciones deseadas.
Históricamente, cada port (o paquete de software) ha sido mantenido por un mantenedor de port individual que es responsable de asegurar la vigencia del port y de proporcionar soporte general. Hoy en día, muchos ports son mantenidos por grupos de trabajo especiales o subproyectos, cada uno con una lista de correo dedicada (por ejemplo, [email protected], [email protected], etc.), mientras que los ports sin mantenimiento se asignan al grupo genérico [email protected]. En general, cualquiera puede convertirse en un mantenedor de port contribuyendo con su software favorito a la colección. También se puede elegir mantener un port existente sin un mantenedor activo. [3]
Los puertos precompilados (binarios) se denominan paquetes . Se puede crear un paquete a partir del puerto correspondiente con el comando make package ; los paquetes precompilados también están disponibles para su descarga desde los repositorios de paquetes alojados en FreeBSD. Un usuario puede instalar un paquete pasando el nombre del paquete al comando pkg install . Esto descarga el paquete apropiado para la versión de lanzamiento de FreeBSD instalada , luego instala la aplicación, incluyendo cualquier dependencia de software que pueda tener. De manera predeterminada, los paquetes se descargan desde el repositorio de paquetes principal de FreeBSD (pkg.freebsd.org), pero si hay algún problema después de actualizar los paquetes, la versión anterior de los paquetes no se puede instalar porque el repositorio niega los índices de subcarpetas. En este caso, un usuario debe actualizar la versión del sistema operativo a la última versión e instalar los paquetes más recientes.
FreeBSD mantiene una granja de compilación llamada cluster pointyhat en la que se compilan todos los paquetes para todas las arquitecturas compatibles y las principales versiones . Los registros de compilación y los errores conocidos para todos los puertos integrados en los paquetes a través del cluster pointyhat están disponibles en una base de datos [4] y los registros de compilación semanales también están disponibles a través de los archivos de listas de correo. [5]
Estos paquetes precompilados se dividen en categorías según las arquitecturas para las que están disponibles. Además, los paquetes se dividen en varios directorios de "lanzamiento", uno para cada lanzamiento de producción actual creado a partir de la colección de ports y enviado con el lanzamiento. Estos directorios de lanzamiento de producción nunca se actualizan.
También existen directorios estables y actuales para varias de las principales versiones. Estos se actualizan más o menos semanalmente. En la mayoría de los casos, un paquete creado para una versión anterior de FreeBSD se puede instalar y utilizar en un sistema más nuevo sin dificultad, ya que la compatibilidad binaria con versiones anteriores en las principales versiones está habilitada de forma predeterminada.
Un sistema de empaquetado para paquetes binarios [6] llamado pkg
ha reemplazado al sistema de gestión de paquetes en FreeBSD 10. [7]
Jordan Hubbard envió sus macros de creación de puertos al repositorio CVS de FreeBSD el 21 de agosto de 1994. [8] Su paquete de instalación de paquetes Makefile había sido enviado un año antes (el 26 de agosto de 1993). [9] El marco de trabajo de puertos principal fue mantenido inicialmente por Hubbard junto con Satoshi Asami durante varios años. El Equipo de Gestión de Puertos se formó más tarde para manejar esta tarea.
La colección de puertos pkgsrc de NetBSD y OpenBSD tienen sus raíces en FreeBSD.
Desde su lanzamiento, el proyecto DragonFly BSD 3.6 utiliza los puertos de FreeBSD como base para su propia colección de puertos DPorts . John Marino del proyecto DragonFly BSD creó el repositorio DeltaPorts , una colección de parches y archivos que se superponen y modifican los puertos de FreeBSD para generar DPorts. [10] [11]
{{cite web}}
: CS1 maint: unfit URL (link)