La colección de Ports de FreeBSD[1]​ es un sistema de gestión de paquetes para el sistema operativo FreeBSD, que proporciona una forma fácil y consistente de instalar paquetes de software. En febrero de 2020 había más de 38.487 ports[2]​ disponibles en la colección. También ha sido adoptado por NetBSD como base de su sistema pkgsrc.

La colección de ports utiliza makefiles organizados en una jerarquía de directorios para que el software pueda ser construido, instalado y desinstalado con el comando 'make'. Cuando se instala una aplicación, se requiere muy poca (o ninguna) intervención del usuario 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.

Instalando desde la fuente editar

La colección de puertos utiliza Makefiles organizados en una jerarquía de directorios para que el software pueda construirse, instalarse y desinstalarse con el comando make. Al instalar una aplicación, se requiere muy poca (o ninguna) intervención del usuario después de emitir un comando de inicio como make install o make install clean en el directorio ports de la aplicación deseada. En la mayoría de los casos, el software se descarga automáticamente de Internet, se parcha y configura si es necesario, luego se compila, instala y registra en la base de datos de paquetes. Si el nuevo port ha necesitado dependencias de otras aplicaciones o bibliotecas, estas se instalan previamente de forma automática.

La mayoría de los ports ya están configurados con opciones por defecto que, en general, se han considerado apropiadas para la mayoría de los usuarios. Sin embargo, estas opciones de configuración (llamadas knobs, en español, perillas) a veces se pueden cambiar antes de la instalación usando el comando make config, que abre 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 garantizar la vigencia del port y brindar 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, kde@FreeBSD.org, java@FreeBSD.org, etc.), mientras que los ports no mantenidos se asignan al grupo genérico ports@FreeBSD.org. En general, cualquiera puede convertirse en un mantenedor de ports al contribuir con su software favorito a la colección. También se puede optar por mantener un puerto existente sin un mantenedor activo.[3]

Paquetes editar

Los puertos precompilados (binarios) se denominan paquetes. Se puede crear un paquete desde el puerto correspondiente con el comando make package.

Los paquetes prediseñados 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, incluidas las dependencias de software que pueda tener. De forma predeterminada, los paquetes se descargan del Repositorio principal de paquetes 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 las subcarpetas. En este caso, el 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 pointyhat cluster, en el que se compilan todos los paquetes para todas las arquitecturas admitidas y los principales lanzamientos. Los registros de compilación y los errores conocidos para todos los puertos integrados en paquetes a través del clúster pointyhat están disponibles en una base de datos[4]​ y los registros de compilaciones semanales también están disponibles a través de archivos de listas de correo.[5]

Estos paquetes precompilados se separan en categorías según las arquitecturas para las que están disponibles. Los paquetes se separan aún más en varios directorios de "lanzamiento", uno para cada lanzamiento de producción actual creada a partir de la colección de puertos y enviada con el lanzamiento. Estos directorios de versiones de producción nunca se actualizan.

Están también hay directoriosstable y current para varias ramas de versiones principales. 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 usar en un sistema más nuevo sin dificultad, ya que la compatibilidad binaria con versiones anteriores está habilitada por defecto.

Un sistema de empaquetado para paquetes binarios[6]​ llamado pkg ha reemplazado el sistema de gestión de paquetes en FreeBSD 10.[7]

Historia editar

Jordan Hubbard comprometió su port make macros al repositorio CVS de FreeBSD el 21 de agosto de 1994.[8]​​ Su paquete de instalación de paquetes Makefile había sido comprometido un año antes (26 de agosto de 1993).[9]​​ Hubbard mantuvo al principio el marco de puertos principales junto con Satoshi Asami durante varios años. Más tarde se formó el Ports Management Team para manejar esta tarea.

La colección de ports pkgsrc de NetBSD y de OpenBSD tiene sus raíces en FreeBSD.

DPorts editar

Desde su lanzamiento 3.6, el proyecto DragonFly BSD utiliza FreeBSD Ports como base para su propia colección de ports, llamada DPorts. John Marino del proyecto DragonFly BSD creó el repositorio DeltaPorts: Una colección de parches y archivos que se superponen y modifican los FreeBSD ports para generar DPorts.[10][11]

Véase también editar

Enlaces externos editar

Referencias editar

  1. «About FreeBSD Ports | The FreeBSD Project». www.freebsd.org. Consultado el 12 de agosto de 2021. 
  2. «About FreeBSD Ports». freebsd.org. Consultado el 8 de diciembre de 2019. 
  3. «Porter's Handbook». FreeBSD project. 
  4. «FreeBSD Package building logs and errors (pointyhat cluster)». freebsd.org. Consultado el 26 de marzo de 2010. 
  5. «FreeBSD Mailing lists: subscription for freebsd-pkg-fallout». 
  6. «Chapter 4. Installing Applications: Packages and Ports | FreeBSD Documentation Portal». 
  7. «FreeBSD 10.0-RELEASE Release Notes | The FreeBSD Project». 
  8. «CVS log for ports/Mk/bsd.port.mk». FreeBSD project. Archivado desde el original el 15 de abril de 2013. Consultado el 5 de enero de 2020. 
  9. «CVS log for src/usr.sbin/pkg_install/Makefile». FreeBSD project. Archivado desde el original el 14 de abril de 2013. Consultado el 26 de mayo de 2018. 
  10. Sherrill, Justin (12 de enero de 2013). «An early DPorts education». DragonFly BSD Digest. Archivado desde el original el 28 de febrero de 2014. Consultado el 12 de abril de 2014. 
  11. Marino, John. «DeltaPorts». GitHub. Consultado el 12 de abril de 2014.