Manual de FreeBSD
Anterior | Capítulo 4. Instalación de aplicaciones: «packages» y ports | Siguiente

# 4.2. Aproximación a la instalación de software

Si ha usado un sistema UNIX® con anterioridad sabrá que el procedimiento típico para instalar software de terceros es algo similar a esto:

1. Descargar el software, que puede distribuirse en formato de código fuente o binario.

2. Desempaquetar el software de su formato de distribución (normalmente en un «tarball» comprimido con compress(1), gzip(1) o bzip2(1)).

3. Consultar la documentación (quizás un fichero `INSTALL` o `README`, o los ficheros del subdirectorio `doc/`) para ver como instalar el software.

4. 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.

5. 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 23,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.

Ventajas de los Paquetes

- 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.

Ventajas de los Ports

- 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.

> Aviso 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.

Anterior | Inicio | Siguiente
Instalación de aplicaciones: «packages» y ports | Subir | Cómo encontrar aplicaciones

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>.