3. Packages y Ports: Instalación de software en FreeBSD

Aparte del método tradicional de instalar software en UNIX® (descargar fuentes, descomprimir, editar el fuente y compilar), FreeBSD ofrece dos alternativas para instalar programas: packages y dos alternativas para instalar programas: package y ports. Una lista y ports. Hay una lista completa de los ports disponibles aquí.

3.1. Packages

Los “packages” son programas precompilados, equivalentes en FreeBSD a los ficheros .deb en sistemas Debian/Ubuntu y .rpm en sistemas Red Hat/Fedora. Los packages se instalan usando pkg_add(1). Por ejemplo, puede instalar Apache 2.2 del siguiente modo:

# pkg_add /tmp/apache-2.2.6_2.tbz

Al usar la opción -r, pkg_add(1) automáticamente descargará el package indicado y lo instalará, así como todos aquellos que necesite para su funcionamiento. Esto son las dependencias.

# pkg_add -r apache22
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/apache22.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/All/expat-2.0.0_1.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/All/perl-5.8.8_1.tbz... Done.
[snip]

To run apache www server from startup, add apache22_enable="YES"
in your /etc/rc.conf. Extra options can be found in startup script.

Nota: Si usa una versión release de FreeBSD (6.2, 6.3, 7.0, etc., lo que seguramente es una instalación desde CD-ROM) pkg_add -r descargará packages compilados para esa release específica. Estos packages pueden ser versiones desactualizadas del programa. Puede usar la variable PACKAGESITE para ignorar este comportamiento, que es el que se espera por omisión del programa. Por ejemplo, asigne a PACKAGESITE el valor ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/ si quiere descargar los packages más recientes compilados para la versión 6.X.

Si quiere saber más sobre las versiones de FreeBSD consulte el artículo Cómo elegir la versión apropriada de FreeBSD.

Para más información sobre los packages consulte la sección 4.4 del Handbook: Uso del sistema de packages.

3.2. Ports

El segundo método que ofrece FreeBSD para instalar programas es usar la Colección de Ports. la Colección de Ports es un entorno de ficheros Makefile y parches adaptados específicamente para poder instalar desde el código fuente aplicaciones de lo más variopinto en sistemas FreeBSD. Si instala un port el sistema descargará los fuentes, aplicará los parches necesarios, compilará el código e instalará el programa (y hará exactamente los mismo con todas las dependencias).

La Colección de Ports, también conocida como árbol de ports, está en /usr/ports si se instaló durante el proceso de instalación de FreeBSD. Si la Colección de Ports no está instalada puede hacerlo puede hacerlo desde los discos de instalación mediante sysinstall(8) o desde los servidores de FreeBSD gracias a csup(1) o portsnap(8). Tiene instrucciones detalladas para instalar la Colección de Ports en la sección 4.5.1 del Handbook.

Instalar un port es (generalmente) tan simple como entrar en el directorio del port y ejecutar el proceso de compilación. El ejemplo que se muestra a continuación instala Apache 2.2 desde la Colección de Ports:

# cd /usr/ports/www/apache22
# make install clean

Una de las principales ventajas del uso de ports para instalar software es la posibilidad de ajustar las opciones de la instalación. Por ejemplo, es posible activar mod_ldap dentro de su Apache 2.2 durante la instalación mediante el uso de la variable WITH_LDAP de make(1):

# cd /usr/ports/www/apache22
# make WITH_LDAP="YES" install clean

Para más información sobre la Colección de Ports consulte la sección del Handbook dedicada a la Colección de Ports.

3.3. ¿Qué debería usar? ¿Ports o Packages?

Los packages son simplemente ports precompilados, así que es cuestión de elegir entre instalar desde los fuentes (ports) o instalar binarios directamente (packages). Cualquiera de los dos tiene sus propias ventajas:

Package (binario)

Ports (fuente)

Si no tiene requisitos especiales los packages probablemente cubran sus necesidades sin problema. Si alguna vez necesita algo más ajustado puede recurrir a los ports. Tenga en cuenta que si necesita un programa a su medida pero sigue prefiriendo usar packages puede hacerse uno su gusto mediante make patch y luego copie el package a otras máquinas.

Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Si tiene dudas sobre FreeBSD consulte la documentación antes de escribir a la lista <questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a <doc@FreeBSD.org>.