Si ha usado un sistema UNIX® con anterioridad sabrá que el procedimiento típico para instalar software de terceros es algo similar a esto:
Descargar el software, que puede distribuirse en formato de código fuente o binario.
Desempaquetar el software de su formato de distribución (normalmente en un «tarball» comprimido con compress(1), gzip(1) o bzip2(1)).
Consultar la documentación (quizás un fichero
INSTALL
o
README
, o los ficheros del subdirectorio
doc/
) para ver como instalar el software.
Si el software se distribuye como fuente, compilarlo. Esto
puede requerir que editemos el fichero Makefile
o que ejecutemos el «script»
configure
, entre otras cosas.
Instalar y probar el software.
Y esto solamente si todo marcha bien. Si está instalando un software que no ha sido portado específicamente para FreeBSD, puede que sea necesario editar el código para que funcione correctamente.
Si lo desea puede continuar instalando software de la forma «tradicional» en FreeBSD, aunque FreeBSD dispone de dos tecnologías que le pueden ahorrar gran cantidad de tiempo y esfuerzo: los packages y los ports. En el momento de escribir esto existen más de 24,000 aplicaciones de terceros.
En cualquier aplicación el paquete de FreeBSD es un solo fichero que tiene que descargar. Los paquetes contienen copia de los programas binarios precompilados de la aplicación, así como cualquier fichero de configuración o documentación. Los paquetes descargados se pueden manipular con las herramientas de gestión de paquetes de FreeBSD: pkg_add(1), pkg_delete(1), pkg_info(1), etc. Instalar una aplicación nueva puede realizarse con una sola orden.
Un port de FreeBSD es una colección de ficheros diseñada para automatizar el proceso de compilación desde el código fuente.
Recuerde que existen ciertos pasos que deberá llevar a cabo para compilar un programa por usted mismo (descargar, desempaquetar, parchear, compilar e instalar). Los ficheros que conforman un port permiten que el sistema se encargue de todo esto. Usted ejecuta un conjunto simple de órdenes y el código fuente se descarga, desempaqueta, parchea, compila e instala.
De hecho el sistema de ports también se puede usar para crear
paquetes que posteriormente se pueden manipular con
pkg_add
y las
demás utilidades de gestión de packages que veremos en
breve.
Tanto el sistema de ports como el de paquetes entienden las
dependencias. Suponga que desea instalar una
aplicación que depende de que una biblioteca
específica esté instalada. Tanto la biblioteca como la
aplicación existen en FreeBSD como paquete o port. Si utiliza
pkg_add
o el sistema de ports para instalar
la aplicación ambos notarán que la biblioteca no
está instalada y procederán a instalarla antes que
nada.
Dado que ambas tecnologís son similares quizás se pregunte por qué FreeBSD se toma la molestía de contar con ambas. Los Packages y los Ports tienen sus propias ventajas, así que cuál utilizar dependerá de su elección en cada momento.
El fichero tarball de un package es normalmente más pequeño que el tarball con el código fuente de la aplicación.
Los paquetes no requieren compilación. En el caso de aplicaciones grandes, como Mozilla, KDE, o GNOME este detalle puede ser importante, especialmente si usa un equipo lento.
Los paquetes no requieren que comprenda el proceso que envuelve el compilar software bajo FreeBSD.
Normalmente los paquetes se compilan con opciones conservadoras, en virtud del gran número de equipos donde se instalarán. Al instalar como port puede usted editar las preferencias para (por ejemplo) generar código específico para un procesador Pentium IV o Athlon.
Algunas aplicaciones tienen opciones sobre lo que pueden y lo que no pueden hacer. Por ejemplo Apache se puede configurar con una gran variedad de opciones. Al compilarlo desde los ports usted no tiene por que aceptar las opciones predefinidas, puede seleccionar que opciones desea.
En algunos casos existen varios paquetes para la misma
aplicación con diferentes opciones. Por ejemplo,
Ghostscript está disponible
como paquete
ghostscript
y como paquete
ghostscript-nox11
, dependiendo de si usted
cuenta o no con servidor X11. En este caso decidir puede ser
sencillo e incluso pueden facilitarse packages con ambas opciones,
pero elegir se puede volver un problema si hay más de
una o dos opciones de compilación.
Las condiciones de la licencia de algunas aplicaciones prohiben la distribución de binarios. Solo permiten la distribución del código fuente.
Existe gente que no confía en los binarios. Al menos puede usted (en teoría) revisar el código fuente y localizar problemas potenciales.
Si tiene parches locales necesitará el código fuente para poder aplicarlos.
Hay gente a la que le gusta tener el código fuente para poder leerlo en ratos de ocio, modificarlo, tomar partes prestadas (cuando la licencia lo permite, claro está), etc.
Para tener constancia de los ports actualizados, suscríbase a la lista de correo sobre los ports de FreeBSD y a la lista de correo sobre errores en los ports de FreeBSD.
Antes de instalar cualquier aplicación
consulte http://vuxml.freebsd.org
para
comprobar los posibles problemas de seguridad relacionados con
ella.
También puede instalar security/portaudit que automáticamente
comprobará las vulnerabilidades conocidas de todas las
aplicaciones instaladas; también lo comprobará antes de
compilar cualquier port. Mientras tanto, puede usar
portaudit -F -a
después de instalar
algunos packages.
El resto de este capítulo le explicará cómo usar los ports y los packages para instalar software de terceros en FreeBSD.
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>.