FreeBSD Ports Collection , al igual que los paquetes binarios , es una tecnología para instalar software de terceros en el sistema operativo FreeBSD . Un puerto de FreeBSD para cualquier aplicación determinada es un conjunto de archivos diseñados para automatizar el proceso de compilación de una aplicación desde el código fuente . Actualmente, la colección de puertos tiene más de 32 mil aplicaciones para diversos fines. [1] [2]
El término puerto es la abreviatura de portabilidad, es decir, portabilidad : el mismo puerto se puede instalar en máquinas con diferentes arquitecturas y versiones del sistema operativo, mientras que los paquetes se crean para una versión específica de FreeBSD y una plataforma de hardware.
La mayoría de los puertos le permiten crear paquetes (o "paquetes" del inglés paquete - paquete, paquete), usando el paquete "objetivo" para la utilidad bsd make . Un paquete es un archivo que contiene un ejecutable compilado y otros archivos necesarios, así como datos y scripts para una rápida instalación o eliminación automática de este programa. Junto con el programa, se instalan todas las dependencias : otros paquetes con programas o bibliotecas necesarios para este programa.
La desventaja de distribuir software en paquetes es la limitación de la arquitectura, así como la falta de flexibilidad inherente a los puertos: los puertos complejos se pueden configurar dentro de un conjunto predefinido de configuraciones para admitir una funcionalidad ampliada o, por el contrario, para reducir la cantidad de puertos innecesarios. dependencias Los paquetes, por otro lado, generalmente se crean para una (simple) o varias opciones de configuración populares. Además, los términos de licencia de algunas distribuciones de software prohíben la redistribución en forma binaria, lo que hace inaceptable la distribución de estas aplicaciones en paquetes.
Además de todo esto, para asegurar la operatividad en el máximo número de sistemas, los paquetes se ensamblan con parámetros conservadores. Entonces, para la arquitectura x86, la generación de código para el procesador i486 es típica , mientras que la generación de código para los procesadores de la familia 686 ( Pentium Pro y superior), según algunas estimaciones, puede dar un aumento de rendimiento (en cálculos matemáticos) de hasta un 20 %. y reducir el tamaño de los archivos ejecutables. Por supuesto, tales sutilezas son críticas para servidores con una gran carga computacional.
Estas desventajas hacen que los paquetes sean una buena forma de instalar rápidamente programas simples que no tienen requisitos especiales.
Un paquete está vinculado a un rango específico de versiones de bibliotecas de aplicaciones y sistemas, por lo que a veces un paquete de compatibilidad (misc/compat3x; misc/compat4x; misc/compat5x; etc.) . P.). Pero la necesidad de recurrir a tales medidas surge muy raramente: poco después del lanzamiento de una nueva versión del sistema, el conjunto completo de paquetes para las arquitecturas x86 y amd64 está disponible, de acuerdo con el estado del árbol de puertos en el momento de la liberación. Por lo general, cuando se lanza una nueva versión de FreeBSD, se construye un árbol completo de paquetes de puertos. Los paquetes más populares se incluyen en las imágenes de instalación. El árbol completo siempre está disponible para recibir a través de la Web.
Una característica de los puertos es la presencia de dos tipos de dependencias: B-deps y R-deps.
Por lo tanto, se pueden instalar en el sistema hasta varias docenas de puertos que no se utilizan: gmake, autoconf, automake, etc. El comando pkg autoremove se usa para limpiar el sistema de dichos puertos. [3]
Proyecto FreeBSD | ||
---|---|---|
Gente |
| |
Proyectos derivados |
| |
Otros proyectos |
|