FreeBSD es un sistema operativo libre basado en la versión 4.4 BSD-Lite del Computer Systems Research Group (CSRG) de la University of California, Berkeley siguiendo la tradición que ha distinguido el desarrollo de los sistemas BSD. FreeBSD soporta procesadores de arquitectura Intel, incluyendo procesadores Intel 80386, Intel 80486 (versiones SX y DX), y Pentium. También funciona en procesadores compatibles con Intel como AMD y Cyrix. Actualmente también es posible utilizarlo hasta en once arquitecturas distintas como Alpha, AMD64, IA-64, MIPS, PowerPC y UltraSPARC. Además del trabajo realizado por el CSRG, el proyecto FreeBSD ha invertido miles de horas en ajustar el sistema para ofrecer las máximas prestaciones en situaciones de carga real.

FreeBSD es un sistema operativo multiusuario, multitarea, con apropiación y multiproceso en plataformas compatibles con múltiples procesadores. Al igual que varios otros sistemas "clones de UNIX", FreeBSD es compatible con la norma POSIX.

Los servidores de la empresa Yahoo! utilizan este sistema operativo. Más información en Wikipedia y freebsd.org.

En este artículo voy a compartir mis experiencias instalando FreeBSD. Como todos saben, mi profundo desprecio hacia SystemD me llevó, al igual que a muchos otros sysadmins, a buscar nuevos horizontes, nuevas aguas, y creo que FreeBSD puede ser la alternativa, el reemplazo perfecto, para los servidores GNU/Linux en mi organización. No es la primera vez que instalo FreeBSD, ya que hace unos 5 años lo utilicé como parte de un laboratorio de redes y telecomunicaciones. En ese momento me dejó una buena impresión, pero nunca le volví a dar una oportunidad, tal vez porque hacía poco había comenzado a dar mis primeros pasos con Slackware, mi distro de cabecera. Hablando de Slackware, muchos me preguntarán "¿si te gusta tanto Slackware por qué no adoptarla en tus servidores Debian/CentOS?". Mi respuesta a esta cuestión es: no, temo que Slackware, siendo uno de los últimos bastiones de la resistencia (junto con Gentoo y derivadas), se vea forzada a adoptar SystemD.

La versión estable actual de FreeBSD es la 10.0. Descargar la imagen ISO para i386 (x86) o amd64 (x86_64) según corresponda desde la página Getting FreeBSD.

Instalación

El Manual de FreeBSD (FreeBSD Handbook) posee una guía completa de instalación paso a paso en el capítulo 2: FreeBSD Handbook Chapter 2. Installing FreeBSD 9.X and Later. Si se desea actualizar desde una versión previa, revisar las instrucciones en el siguiente enlace: FreeBSD 10.0-RELEASE Installation Instructions.

Bootear con el disco de instalación y presionar enter para comenzar:

Seleccionar el teclado, en mi caso español:

Especificar un nombre de host:

Seleccionar los componentes a instalar:

Especificar el método de particionado del disco:

En mi caso seleccioné el método guiado para utilizar todo el disco. Si se requiere utilizar el método manual, para especificar el tamaño y cantidad de particiones adecuado, en el manual se encuentra el procedimiento completamente detallado: 2.6.3. Manual Partitioning.

Luego de particionar comienza la copia de archivos:

A continuación, especificar la contraseña de root:

Configurar la red. En mi caso utilicé DHCP, pero es posible configurar la dirección IP de forma estática. Además decidí no utilizar IPv6:

Luego, configurar el reloj y zona horaria:

Seleccionar los servicios que se desean iniciar automáticamente (por ejemplo SSH):

Finalmente, agregar un usuario non-root:

Salir del instalador y reiniciar el sistema:

El sistema inicia por primera vez y es posible loguearse con el usuario creado durante la instalación:

A continuación, se recomienda actualizar el sistema.

Diferencia entre ports y paquetes

FreeBSD permite trabajar con ports y paquetes. Los paquetes contienen binarios pre-compilados y se gestionan con la herramienta pkg al igual que cualquier distribución GNU/Linux. Los ports en cambio, son colecciones de archivos diseñados para automatizar el proceso de compilado a partir del código fuente. Los archivos que conforman un port contienen la información necesaria para descargar, extraer, parchar, compilar e instalar una aplicación de forma automágica.

Tanto los paquetes binarios como los ports entienden de dependencias y las resuelven de forma automática. A pesar de que son tecnologías similares, los ports y paquetes binarios tienen diferentes beneficios. Por ejemplo, los binarios son paquetes más pequeños y no requieren tiempo de compilación, mientras que los ports permiten mayor flexibilidad, personalización y rendimiento. Más información en 5.2. Overview of Software Installation.

Se puede comportar como Ubuntu o Gentoo, dependiendo de la preferencia del usuario por trabajar con paquetes o ports. Tiene ese nivel de flexibilidad. Por otro lado permite trabajar al mismo tiempo con ambas tecnologías, es decir, es posible compilar la aplicación X desde su port e instalar la aplicación Y desde el paquete binario.

Trabajando con paquetes

La herramienta "pkg" es el reemplazo para las herramientas tradicionales de manejo de paquetes de FreeBSD. Permite trabajar con paquetes binarios de forma simple al igual que cualquier distribución GNU/Linux. La documentación de esta herramienta se encuentra en el manual de FreeBSD: 5.4. Using pkg for Binary Package Management.

Trabajando con ports

La colección de ports (Ports Collection) es un conjunto de Makefiles, parches, y archivos de descripción almacenados en /usr/ports. Se utilizan para compilar aplicaciones. Antes de poder utilizar los ports es necesario instalar y actualizar la colección:

# portsnap fetch
# portsnap extract
# portsnap fetch
# portsnap update

Es recomendable además instalar la herramienta de gestión de ports "portmaster":

# cd /usr/ports/ports-mgmt/portmaster
# make install clean

Más información en el manual: 5.5. Using the Ports Collection.

Actualizar el sistema

Una vez que se ha instalado y actualizado al colección de ports es recomendable actualizar el sistema.

Para actualizar los paquetes ejecutar:

# pkg upgrade

Al ejecutar pkg por primera vez, el sistema detecta que no está instalado, por lo que ofrece descargarlo e instalarlo. Presionar 'y' para instalar la herramienta de gestión de paquetes "pkg".

Luego de instalar pkg se ejecuta la acción, que en este caso consiste en actualizar el sistema.

Para actualizar los ports instalados ejecutar:

# portmaster -a

Si tienen problemas con el paquete docbook-xml, instalar el binario con pkg (pkg install docbook-xml) y retomar la actualización.

Cabe destacar que, generalmente, los ports poseen disponibles versiones más actualizadas que los paquetes binarios, ya que hay un gap en el proceso de pre-compilado. Pero si se ha instalado software que sólo viene disponible en forma de binarios (por ejemplo software no libre) será necesario actualizar con pkg de todos modos.

Instalar el servidor X

Si se desea utilizar FreeBSD como sistema de escritorio, será necesario contar con un entorno gráfico. El paso previo a instalar un entorno de escritorio como GNOME, KDE o Xfce, es instalar el servidor X: FreeBSD Handbook Chapter 6. The X Window System.

Para instalar el servidor X desde el paquete binario ejecutar:

# pkg install xorg

Si en cambio se desea compilar desde el port:

# cd /usr/ports/x11/xorg
# make install clean

Una vez instalado, es necesario habilitar los servicios hald y dbus. Editar el archivo de configuración de servicios:

# vi /etc/rc.conf:

Agregar las siguientes líneas:

hald_enable="YES"
dbus_enable="YES"

Si no se cuenta con experiencia trabajando con el editor vi, el siguiente artículo explica su uso básico: Edición básica de archivos de texto usando 'vi'.

Guardar los cambios e iniciar los servicios hald y dbus:

# service hald start
# service dbus start

El siguiente paso consiste en crear el archivo de configuración del servidor X:

# Xorg -configure

Verificar la configuración ejecutando:

# X -config xorg.conf.new

En mi primer intento el servidor terminó con segfault (Segmentation fault) utilizando el driver "vesa". Para resolver este error, en el archivo de configuración de xorg, dentro de la sección "Device", cambié el driver de "vesa" a "cirrus" (el correspondiente a mi tarjeta gráfica):

# vi xorg.conf.new

Al verificar la configuración nuevamente (ejecutando X -config xorg.conf.new) el servidor arroja el error que indica que no conoce el driver "cirrus" (los errores son las líneas de salida que comienzan con "EE"). Por ende, busco e instalo el driver cirrus faltante:

# pkg search cirrus
# pkg install xf86-video-cirrus

Una vez más...

# X -config xorg.conf.new

Ahora funciona perfectamente. Para detener el servidor presionar la combinación de teclas Ctrl+Alt+F1 (siendo TTY1 la terminal desde donde se inició el servidor).

Finalmente guardar el archivo de configuración en su ubicación definitiva en el directorio /etc/X11 con el nombre xorg.conf e iniciar el servidor para verificar su funcionamiento:

# cp xorg.conf.new /etc/X11/xorg.conf
# startx

Instalar KDE

Es posible escoger entre GNOME, KDE y Xfce como entornos de escritorio. Personalmente decidí probar KDE 4, ya que es el que uso en Slackware 14 y CentOS 7.

Actualmente no es posible instalar KDE desde los paquetes binarios, por lo que se debe compilar e instalar desde los ports. Para instalar KDE 4 es necesario crear el siguiente archivo de configuración:

# vi /etc/make.conf

Y agregar el siguiente contenido:

WITH_NEW_XORG=yes

Luego, actualizar nuevamente el sistema:

# portmaster -af

Finalmente es posible compilar e instalar KDE desde el port "x11/kde4":

# portmaster x11/kde4

Inicialmente se resuelven todas las dependencias. Luego se configuran los paquetes. Para muchos paquetes se presenta un cuadro de diálogo para indicar qué opciones se desean activar/configurar. Luego de un largo proceso de configuración de paquetes... comienza a compilar:

NOTA: KDE tiene muchas dependencias, y es necesario configurar muchos paquetes, en caso de dudas dejar las configuraciones por defecto y todo va a funcionar bien.

En mi caso decidí meter bastante mano en la configuración de paquetes, quise compilarlo con soporte para la mayor cantidad de porquerías disponibles, y el resultado fue que me encontré con un par de fallos al compilar. Primero falló al compilar el paquete linux-realplayer (quién me manda a instalar mplayer con soporte para Quicktime, ¿todavía existe eso?). Como no hay mucho para hacer ante un fallo de compilación, para resolver el problema decidí reconfigurar el paquete mplayer sin soporte para Real:

# portmaster --force-config mplayer

Con eso se resolvió el problema. Pero luego, casi al final del largo proceso de compilación, falló al compilar el editor de texto kate. Esto se debe a un bugcito que anda dando vueltas. Aquí es donde se nota que la comunidad de FreeBSD no se preocupa mucho por los desktops, ya que es una distribución que apunta a servidores, y está bien.

Al intentar reconfigurar kde4-baseapps, no da la posibilidad de no instalar kate:

# portmaster --force-config x11/kde4-baseapps

Así que lo único que se puede hacer es instalar kate desde el paquete binario:

# pkg install kate

Y luego retomar la instalación de KDE:

# portmaster x11/kde4

Así, logré compilar exitosamente KDE con todas sus dependencias. Se observa que resolver errores es simple. Es posible reconfigurar paquetes e incluso instalar directamente desde sus versiones binarias, hasta que la comunidad resuelva el bug.

Al finalizar la instalación se debe configurar el sistema para utilizar KDE. En este punto estamos a un pasito de tener nuestro escritorio KDE funcionando. La configuración de KDE es muy sencilla, tal como se explica en el manual: 6.7.2. KDE.

Primero es necesario montar el sistema de archivos proc. Para ello, editar el archivo de configuración estática de sistemas de archivos:

# vi /etc/fstab

NOTA: Si no quieren usar vi: pkg install nano.

Agregar la siguiente línea:

proc            /proc           procfs  rw      0       0

Luego montar proc ejecutando:

# mount -a

Para ejecutar KDE automáticamente al iniciar el sistema, es necesario habilitar el servicio kdm4. Editar el archivo de configuración de servicios:

# vi /etc/rc.conf:

Agregar la siguiente línea:

kdm4_enable="YES"

Reiniciar el sistema y, ¡voilà! levanta el servicio kdm4 por primera vez:

Al iniciar sesión, la herramienta KResource Migration Tool configura la libreta de direcciones:

Finalmente podemos disfrutar del escritorio KDE 4.12.5:

¿Qué hacer después de instalar FreeBSD 10 con KDE 4? Por ahora se los debo, necesito descansar un poco... Pero ¡sigan sintonizados!


Tal vez pueda interesarte


Compartí este artículo