septiembre 21, 2021

BitCuco

¡Hola Mundo!

FreeBSD: Análisis y Guía de Instalación

freebsd

Hola amigos, el día de hoy no estaremos hablando de Linux, pero si de un sistema del ecosistema del software libre: FreeBSD.

A lo largo de la nota abarcaremos todos los temas referidos a este poderoso sistema, muy utilizado a nivel servidor, pero que puede utilizarse en estaciones de trabajo.

Para quienes no estén muy al tanto, FreeBSD es un unix like al igual que Linux, pero derivado de los antiguos BSD desarrollados por la Universidad de California. Para quienes recién escuchan este nombre, les comento que no es un sistema nuevo. El año pasado cumplieron nada mas ni nada menos que 25 años.

A lo largo de esta nota hablaremos y veremos algunos aspectos del sistema, para que puedan ver que hay otras alternativas en cuanto a sistemas operativos se refiera.

FreeBSD: introducción

Como dije anteriormente, FreeBSD cuenta con 25 años de trayectoria y deriva de los antiguos sistemas BSD (Berkeley Software Distribution). Históricamente los sistemas BSD fueron de código cerrado o privativo.

Esto con el paso del tiempo fue cambiando y finalmente, en el año 1994, comienzan a aparecer los primeros derivados de BSD sin código propietario. Ademas de FreeBSD, podemos mencionar a OpenBSD, un sistema muy enfocado en la seguridad, y a NetBSD, mas enfocado en los sistemas embebidos.

Gracias a la licencia permisiva que tienen los sistemas BSD, es posible incorporar su código tanto en proyectos libres como privativos. De hecho, es bien sabido que grandes empresas utilizan código de FreeBSD. Un ejemplo de esto es Netflix, la gigante del streaming de vídeo.

Netflix utiliza FreeBSD en sus servidores, y se ha convertido en un gran contribuyente del proyecto. Otro de los proyectos donde se ha usado FreeBSD, y que seguramente muchos tengan en su casa, es la famosa consola de Sony: Playstation. Playstation ha utilizado en sus consolas un sistema derivado de FreeBSD.

Y como estos casos que mencione podría citar muchos otros, pero vamos a enfocarnos un poco mas en los aspectos del sistema, y en poder darles las indicaciones lo mas certeras para que puedan instalarlo sin mayores problemas.


No hace falta ser un experto para instalar FreeBSD

Una de las principales cosas que se dicen sobre FreeBSD es que es un sistema dificil o complicado, y muchas veces asociado a expertos. Y déjenme decirles que esto no es del todo cierto. Es verdad que FreeBSD requiere un cierto conocimiento previo, y manejo de la linea de comandos, pero no es algo tan grave ni complejo. De hecho, la mayoría de usuarios que ya han utilizado Linux, estarán familiarizados con FreeBSD. Los comandos básicos son los mismos, por lo cual moverse por la estructura de directorios no será un problema.

Por otro lado, respecto a la instalación, FreeBSD nos ofrece un instalador en interfaz ncurses, que seguramente ya han visto en otras distribuciones. Podemos mencionar los primeros instaladores de la conocida Ubuntu, la robusta Debian e incluso distribuciones como Slackware. O sea, no es algo que no se haya visto antes. Incluso me atrevo a decir que FreeBSD es incluso mucho mas sencillo que otros instaladores en modo texto.

Los pasos son muy simples y resumidos. No tenemos mayores opciones para configurar ni nada complejo. Solo habrá algunos cambios, tal como en las instalaciones de Linux, si es que utilizamos UEFI o MBR. Otra de las cosas que varía es la manera de llamar a las particiones, ya que no usa nombres como sda1, sda2, etc. La verdad, no nos cambia en lo absoluto eso, dado que es el nombre con el cual el sistema llama al disco o discos.

Por otro lado, otra de las diferencias que tendremos en FreeBSD es el sistema de archivos que utilizan. En Linux estamos acostumbrados a utilizar y ver ext4, xfs, btrfs, f2fs, entre otros. En cambio FreeBSD utiliza principalmente dos sistemas de archivos: UFS2 y ZFS. Esto lo veremos mas a detalle cuando estemos realizando la instalación.

Instalación de FreeBSD: primeros pasos

Lo primero que haremos es descargar la imagen ISO del sitio web. Les recomiendo descargar el disc1, el cual pueden obtener del siguiente enlace. FreeBSD esta disponible para múltiples arquitecturas. Tiene versiones para 32 y 64 bits, así como imágenes para deferentes versiones de ARM, RISC y PowerPC. Esto hace que se pueda instalar en muchos dispositivos, sin ser exclusivamente PCs o laptops convencionales.


Ya con el disco podremos grabarlo a USB con su utilidad preferida e iniciaremos el sistema. Nos recibirá un cartel que nos pregunta si queremos instalar o iniciar un shell de comandos para hacer tareas de administración. Elegiremos instalar y la primer pantalla que aparece, nos permitirá elegir la distribución del teclado:

freebsd

Podremos testear nuestra distribución opcionalmente, o continuar con la instalación. Una vez elegida, configuraremos el hostname de nuestro sistema. Luego de esto, tendremos que seleccionar los componentes opcionales a instalar. En mi caso, solo voy a elegir los paquetes correspondientes las librerías de 32 bits. Pueden también elegir instalar la colección de ports de FreeBSD. Mas adelante entraremos en detalle sobre los ports.

freebsd
Selección de Componentes

Particionamiento e Instalación

Lo que sigue, es uno de los pasos que mas problemas suele traer: el particionamiento del disco. En este caso tendremos varias opciones: automático, utilizando ZFS o UFS, manual, o hacerlo desde la terminal. Voy a elegir la opción manual, y crearé la partición para un esquema no UEFI, pero si GPT. La principal ventaja de GPT es que nos permite crear mas de 4 particiones primarias, sin necesidad de crear particiones lógicas como en MBR convencional. Lo primero que veremos es nuestro disco, presionaremos la tecla C y crearemos una tabla de particiones GPT. Luego de esto, volveremos a presionar C y crearemos una partición con punto de montaje / , que es donde se instalará nuestro sistema. Como pueden ver, los puntos de montaje también son como en Linux. Al crear esta partición, el sistema nos indicará que GPT necesita de una partición de booteo, a lo cual responderemos que si y el instalador se encargará de crearla. Así es como nos quedará el esquema de partición luego de realizar estos cambios.

freebsd

Presionaremos en finish y luego commit para aplicar los cambios e instalar nuestro sistema. Dependiendo de nuestra configuración, la instalación puede demorar mas o menos. Mas allá de esto, suele ser un proceso realmente rápido.

Configuración inicial

Una vez que finalicé nos pedirá que ingresemos contraseña para el usuario root. Tener en cuenta que no verán ningún tipo de carácter en la pantalla por motivos de seguridad. Luego configuraremos los parámetros de nuestra red. Ya finalizando, configuraremos nuestra zona horaria y los servicios que queremos al iniciar el sistema. En la siguiente imagen los que he seleccionado para mi instalación:

free bsd distro
Servicios

Lo siguiente que nos preguntará son las opciones de seguridad o hardening. Si no saben lo que están haciendo, les recomiendo no seleccionar nada en esta parte. Luego pasaremos a la creación de nuestro usuario. Elegiremos el nombre, pondremos nuestro nombre completo y grupo inicial. Luego de esto, viene uno de los pasos importantes para FreeBSD. Cuando nos pregunte si queremos invitar nuestro usuario a otros grupos, agregaremos wheel y operator, separados solo con un espacio. Estos grupos son para que luego no tengamos problemas de permisos a la hora de reiniciar o realizar ciertas tareas. Finalmente, guardaremos los cambios, le daremos que no a la solicitud de agregar otro usuario, y continuaremos.

kde plasma
Usuarios

Finalmente, apretaremos en la primer opción para salir de la instalación y le daremos que no al cartel que nos preguntará si queremos realizar alguna modificación adicional y reiniciaremos. Y eso es todo, tenemos nuestro sistema FreeBSD instalado.

Primer Arranque de nuestro sistema FreeBSD

Al iniciar por primera vez nuestro sistema nos encontraremos, obviamente, con un login en la terminal. La instalación básica solo instala el sistema en modo texto con lo que le hayamos indicado. Lo que explicaré en esta sección, es la configuración y preparación de nuestro entorno para que quede completamente localizado al español. Una vez hecho esto, realizaremos la instalación del escritorio KDE Plasma. Las instrucciones también sirven para el entorno de nuestra elección, con los correspondientes cambios en los paquetes a instalar.

Lo primero que haremos es iniciar sesión con nuestro usuario root. Luego de esto, haremos la instalación de tres paquetes básicos, de la siguiente forma:

pkg install sudo nano mc

Con esta orden, instalaremos los paquetes binarios de estos tres programas. Apenas lo ejecutemos, el sistema descargará los contenidos de pkg, ya que no esta preparado para realizar instalaciones en primera instancia. Vale mencionar que la administración de software se realiza con el comando pkg. El mismo instala paquetes binarios disponibles en los repositorios en linea. Otra manera de instalar el software en FreeBSD es mediante la colección de ports. Con los ports, contamos con las instrucciones necesarias para compilar cada paquete. Pueden ver la documentación en la wiki de FreeBSD.

Algo que seguro querrán hacer, pero es opcional, es agregar nuestro usuario al archivo sudoers para que podamos ejecutar comandos mediante sudo. Esto lo hacemos de la siguiente forma:

nano /usr/local/etc/sudoers

Agregamos nuestro usuario tal como esta en la linea de root. Tendríamos que descomentar dos lineas, con lo que quedaría de la siguiente forma:

nombredeusuario ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
%sudo ALL=(ALL) ALL

Localización del Sistema

Lo primero que haremos es modificar una serie de ficheros para que nuestro sistema se adecue a nuestro idioma. En el ejemplo lo haré con el idioma español de Argentina. Pueden realizarlo con los locales convencionales, al igual que en Linux. El primer archivo a editar será login.conf, que se encuentra en la carpeta /etc:

nano /etc/login.conf

Y ubicaremos las siguientes lineas:

:charset=UTF-8:\
:lang=es_AR.UTF-8:

Una vez que guardamos los cambios, debemos ejecutar el siguiente comando:

cap_mkdb /etc/login.conf

Luego nos dirigiremos el archivo csh.login, de la siguiente forma:

nano /etc/csh.login

Y pondremos las siguientes lineas al final del archivo:

setenv LANG es_AR.UTF-8
setenv MM_CHARSET UTF-8

Por último, modificaremos el archivo profile, también dentro de /etc:

nano /etc/profile

Y pondremos dentro lo siguiente:

LANG=es_AR.UTF-8; export LANG
MM_CHARSET=UTF-8; export MM_CHARSET

Con esto ya podremos desloguearnos y volver a loguearnos, y el sistema estará 100% localizado al español de Argentina. Obviamente esto aplica para todos los paquetes que tienen localización disponible en el idioma de nuestra elección.

Instalación de KDE Plasma

Bueno, llegamos al paso final de esta guía, que será instalar nuestro entorno KDE Plasma. Para esto, haremos nuevamente uso del poderoso pkg para instalar los paquetes requeridos. Primero instalaremos xorg:

pkg install xorg

Y luego, instalaremos lo básico de KDE Plasma, junto con algunos paquetes de uso básico:

pkg install plasma5-plasma plasma5-plasma-pa konsole kate dolphin firefox sddm xdg-user-dirs xdg-utils xf86-video-intel drm-kmod networkmgr

En este ejemplo, instalamos el driver de vídeo de Intel. Para el caso de AMD o Nvidia, deben instalar sus respectivos paquetes. De mas esta decir que pkg resolverá todas las dependencias necesarias para que los componentes funcionen adecuadamente. Por último, para iniciar directamente en nuestro KDE Plasma, debemos editar el archivo rc.conf que se encuentra en /etc:

nano /etc/rc.conf

Y agregar lo siguiente:

dbus_enable="YES"
hald_enable="YES"
sddm_enable=”YES”

De esta forma, tendremos todo listo para reiniciar nuestro sistema y loguearnos desde la interfaz gráfica con el login manager sddm.

kde plasma
FreeBSD con KDE Plasma

Para quienes lo quieran virtualizar, deben realizar unos pasos adicionales. En caso de estar ejecutandolo en Virtualbox, instalaremos las guest additions:

pkg install virtualbox-ose-additions

Y agregaremos las siguientes lineas en /etc/rc.conf:

vboxguest_enable="YES"
vboxservice_enable="YES"

Si por otro lado estamos ejecutando sobre VMWare, lo que debemos hacer es lo siguiente:

pkg install open-vm-tools 

Y luego ejecutar lo siguiente en la terminal:

/usr/local/etc/rc.d/vmware-guestd start

Nota sobre virtualización: el scroll del mouse, al ir hacia arriba, en ciertas páginas actuará como que apretamos el botón de atrás. Puede suceder en Firefox, Falkon o Chromium.

Conclusiones y aclaraciones finales

FreeBSD es un excelente sistema operativo, mayormente orientado a servidores. Vale aclarar que, si bien en esta guía preparamos una instalación para equipo desktop, hay ciertas cosas que no funcionan de manera nativa. Un ejemplo de esto es el componente DRM en navegadores, por lo cual estaremos imposibilitados de reproducir contenido de Netflix o Spotify. Hay formas de hacerlo, mediante la capa de compatibilidad con Linux, conocida como Linuxulator, pero eso quedará para otra ocasión. Por otro lado, también debemos ser conscientes que hay software que no tiene port para FreeBSD, como es el caso de algunos navegadores como Opera, Vivaldi o Chrome. No es algo determinante pero debe saberse.

Los invito a probarlo y a que nos cuenten sus experiencias personales. Espero que la nota haya sido de su agrado. Nos vemos en la próxima ocasión.

Sobre el Autor

Bruno Ernesto Russo

Apasionado de la tecnología. Mis principales áreas de interés son los sistemas GNU/Linux y software libre, virtualización, servidores, redes y hardware.