Professional Documents
Culture Documents
19 Septiembre 2014
FreeBSD
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.
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.
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:
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.
# 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
Actualizar el sistema
# 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.
# 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.
# 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'.
# Xorg -configure
# 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
# X -config xorg.conf.new
# 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
WITH_NEW_XORG=yes
# portmaster -af
# 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:
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.
Así que lo único que se puede hacer es instalar kate desde el paquete binario:
# 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
# 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:
kdm4_enable="YES"
¿Qué hacer después de instalar FreeBSD 10 con KDE 4? Por ahora se los debo, necesito descansar
un poco... Pero ¡sigan sintonizados!
El ISO de instalación podemos obtenerlo desde:
http://ftp.freebsd.org/
Una vez instalada el sistema base actualizamos los ports con el siguiente comando:
Conviene y mucho actualizar los ports antes de compilar, debido que si no los actualizamos. Al
compilar el entorno gráfico los paquetes viejos podrían chocar con los paquetes más nuevos, y
esto sería un caos.
Podemos hacer con el siguiente comando para instalar con el paquete pre compilado:
3.-Configuracion de xorg
Y agregamos:
hald_enable="YES" dbus_enable="YES"
Presionamos escape y cerramos guardando los cambios. Tecleamos reboot now para reiniciar, o
tecleamos éxito y reiniciamos vía hardware.
Una vez logeados tras reiniciar, escribimos lo siguiente:
#Xorg -configure
Si llegaste hasta acá y el Xorg -configure se ejecutó sin problemas, ya tienes tu servidor-X
instalado correctamente.
Ahora instalamos el entorno grafico que más nos guste (Gnome, kde4, etc. ) Muchos otros más:
Para instalar KDE4 podemos hacerlo con este comando:
4.1.-Instalación de KDE4
O sino...
#ee /etc/rc.conf
4.2.-Instalación de Gnome2
O sino
#ee /etc/rc.conf
gdm_enable="YES" gnome_enable="YES"
#cd /usr/ports/shells/bash
#make install clean
y listo la próxima vez que hagas login tendrás a bash como default para el usuario maría(maría es
solo un ejemplo de usuario).
#make config-recursive (este comando nos consultara acerca de todas las configuraciones antes
de instalarlo)
#make fetch-recursive (este comando descarga todas las dependencias que xorg necesite antes
de compilarlo).
ejemplo de uso:
#cd /usr/ports/x11/xorg && make config-recursive && make fetch-recursive && make install clean
con eso tendriamos una compilacion, mas rapida, desatendida, limpia y mas segura.
FreeBSD es un sistema operativo libre para computadoras basado en las CPU 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 distintas1 como Alpha, AMD64, IA-64, MIPS,
PowerPC y UltraSPARC. FreeBSD está 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. 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.
Características
FreeBSD es compatible con binarios de varios sistemas operativos de tipo Unix, incluyendo
GNU/Linux. La razón de esto es la necesidad de ejecutar algunas aplicaciones desarrolladas para
ser ejecutadas en sistemas con el nucleo Linux en las que el código fuente no se distribuye
públicamente y, por tanto, no pueden ser portadas a FreeBSD. Algunas de las aplicaciones usadas
bajo esta compatibilidad son la versión de GNU/Linux de Adobe Flash Player, Linux-Firefox, Linux-
Opera, Netscape, Adobe Acrobat, RealPlayer, VMware, Oracle, WordPerfect, Skype, Doom 3,
Quake 4, Unreal Tournament, SeaMonkey y varias más. Generalmente no se siente pérdida de
rendimiento, y funcionan igual de rápido que las versiones nativas. Incluso puede ser más veloz
ejecutar un binario de GNU/Linux en FreeBSD, que un binario nativo (como en el caso de Firefox,
no obstante es muy relativo ya que FreeBSD compila el código y GNU/Linux en la mayoría de los
casos no, pero si compilara, obtendría una funcionalidad similar al de FreeBSD, unos programas
funcionan mejor en GNU/Linux mientras que otros en FreeBSD). Si bien algunas aplicaciones
funcionan perfectamente, otras se ven limitadas debido a que la capa de compatibilidad solo
incluye las llamadas de sistema del núcleo Linux 2.4.2, una versión antigua. Una emulación
incompleta del núcleo Linux 2.6 está incluida en FreeBSD 7.x, aunque todavía no viene activada
por defecto. FreeBSD 8.x implementa compatibilidad con las llamadas nativas del núcleo linux 2.6 y
el conjunto de librerías base de Fedora y Centos.
referencia