FreeBSD México

Comunidad Mexicana de FreeBSD

Primeras Impresiones de FreeBSD 10.0

FreeBSD Logo

El siguiente artículo es una traducción del sitio: http://distrowatch.com/weekly.php?issue=20140210#feature

 

La familia de sistemas operativos BSD tienen una reputación de ser típicamente conservadores, estables y confiables. FreeBSD incorpora estas características bastante bien, demostrando confiabilidad y ofreciendo algunas sorpresas. Dicho lo anterior, la última liberación de FreeBSD, versión 10.0, introdujo algunos cambios importantes los cuales siento que merecen un vistazo. Algunas de las nuevas características empacadas con FreeBSD 10.0 incluyen el soporte para ZFS en el sistema de archivos raíz, soporte para TRIM y compresión LZ4 para ZFS, mejoras para virtualización y un nuevo administrador de paquetes. La última versión también cambia al venerable compilador GNU por el compilador Clang en arquitecturas soportadas. La liberación 10.0 esta disponible para várias arquitecturas, incluyendo x86, Power PC y Sparc. Yo estaba interesado en las liberaciones  x86 las cuales pueden ser descargadas en paquetes de 32-bit o 64-bit. Nosotros podemos reducir aún más nuestra selección por medio de descargar ya sea una imágen ISO de tamaño CD-ROM o una de 2.2 GB. Yo opté por descargar la imágen grande para mis pruebas.

Instalación y primer arranque

Al arrancar desde el medio de instalación nos aparece un menú de texto donde se nos pregunta si deseamos entrar a una línea de comando de shell, o iniciar una (consola de texto) en un ambiente en vivo para iniciar el proceso de instalación. El sistema instalador de FreeBSD es principalmente una serie de menús de texto con algún pase ocasional a la línea de comando. La mayoría de los pasos en el proceso tienen valores por defecto adecuados y los usuarios pueden proceder generalmente a la siguiente pantalla cuando se tiene dudas de la configuración apropiada. La primera pantalla nos pregunta para confirmar la distribución del teclado y entonces se nos pregunta por el nombre de host para la computadora. Posteriormente se nos pregunta qué paquetes (documentación, juegos, ports y/o código fuente del sistema) vamos a querer instalar. después se nos dan 4 opciones de particionamiento — guiada, o una distribución automátizada ZFS y/o manual usando el instalador o manual usando las herramientas de la línea de comando. Yo opté por la configuración automatizada ZFS. Con ZFS podemos seleccionar que disco usar, opcionalmente cambiar el nombre de nuestro tanque de almacenamiento de datos, configurar el tamáño de nuestro espacio de swap, cambiar la configuración del disco (GPT o MBR) y escoger si queremos habilitar la encripción.

Para la mayor parte Intenté mantenerme apegado a las configuraciones por defecto. Algunos usuarios podrá interesarse en saber que el instalador de FreeBSD soporta RAID y espejeo para gente con multiples discos duros. Las siguientes pantallas de instalación nos llevan a traves de la configuración desde la creación de un password en la cuenta del administrador, hasta seleccionar nuestra zona de tiempo de una lista y configurar la red. También podemos escoger cuáles servicios del sistema podemos correr, incluyendo el shell seguro, sincronización de tiempo de red, dumps de caídas del kernel y el daemon de frecuencia dinámica de CPU. Al final del proceso podemos escoger el agregar una cuenta de usuario al sistema, y se nos da una oportunidad de regresar y cambiar configuraciones que se hubieran selecionado. Me sentí bastante feliz con la última iteración del instalador de sistema de FreeBSD. Funcionó bien, ofreció buenos valores por defecto y se completó tan rápido que honestamente me pregunté si todos los archivos requeridos habían sido copiados a mi disco duro local o si había ocurrido algún error —  al menos eso creí al principio.

Una vez que FreeBSD se instaló, reinicié la máquina. FreeBSD arrancó en menos de un minuto y me presentó una consola de texto con un prompt de inicio de sesión. Al iniciar sesión en FreeBSD recibo un mensaje de bienvenida que nos informa de donde se puede encontrar la documentación del proyecto y los avisos de seguridad. El sistema inicia usando muy pocos recursos, aproximadamente 10 MB de RAM y (dependiendo de nuestras opciones seleccionadas al momento de la instalación) aproximadamente 1 GB de espacio en Disco Duro. Al hechar un vistazo al sistema encontré que había disponibles herramientas comunes de UNIX junto con las páginas de manual. El compilador Clang estaba disponible y el shell seguro OpenSSH estaba acorriendo en segundo plano. Durante el proceso de instalación solicité que FreeBSD configurará el espacio de intercambio (swap) con 1 GB para mi, de cualquier forma encontré que el sistema operativo no tenía ningún espacio de swap disponible. Una verificación posterior me mostró que el sistema operativo estaba intentando activar la partición swap durante el proceso de arranque — una partición swap que no existía. Esto parece ser un error de la parte del administrador guiado de particiones.

Yo decidí configurar FreeBSD usando un tanque de datos ZFS. Durante mi tiempo con FreeBSD encontré que ZFS tubo un buen rendimiento y el copiado y borrado de archivos era realizado rápidamente. Por defecto ZFS esta configurado de tal forma que secciones clave en el sistema de archivos son montados como sub-volúmenes separados. Eso significa que los directorios “home” de los usuarios, binarios de sistema, archivos de bitacora y los ports de software estan almacenados en áreas diferentes y pueden ser manejados por separado. Por ejemplo, podemos crear instantaneas de archivos de sistema y directorios “home” por separado y, si lo necesitamos podemos regresar a versiones previas del sistema de archivos, un grupo de archivos no tiene que verse afectado cuando restauramos un área diferente.

Administración de Software y Paquetes

Una característica atractiva disponible ahora en FreeBSD 10.0 es el nuevo administrador de paquetes, llamado”pkg”, el cual presenta una aproximación unificada a la administración de paquetes y proporciona una sintáxis simple cuando se compara con las herramientas de administración de paquetes de FreeBSD previas. La primera vez que usamos el nuevo comando pkg el sistema reporto que no estaba completamente instalado y ofreció descargar e instalar el administrador de paquetes por nosotros. Una vez que pkg había sido instalado encontramos que  pkg usa una sintáxis similar al administrador de paquetes zypper o YUM. Ahora podemos realizar instalaciones de software, actualizaciones de software y eliminación de paquetes no deseados. Podemos obtener listas de software instalado y realizar busquedas contra los repositorios de software de FreeBSD. Al igual que los ports de FreeBSD y las colecciones de paquetes son como un blanco en movimiento, pkg permite bloquear paquetes especificos en una versión específica, previniendo actualizaciones accidentales. Encontré que pkg funcionó rápidamente y presentó mucha información mientras estaba trabajando, incluyendo prompts útiles.

El sistema operativo FreeBSD, por si mismo, ofrece muchas utilerías de la línea de comando, pero no ofrece mucos servicios, ni una interfaz gráfica de usuario. Armado con el nuevo administrador de paquetes pkg decidí cambiar ésto. Mi primer taréa fue instalar el ambiente de escritorio Xfce desde los repositorios binarios del proyecto. Hay un metapaquete para Xfce que jala los diversos paneles, menús e iconos que el ambiente de escritorio necesita. Todos ellos instalaron limpiamente, pero noté que había una omisión importante. Instalar el ambiente de escritorio no instala el software de despliegue de servidor subyacente X necesario. Por alguna razón X no es considerado una dependencia de Xfce. La siguiente hora se invirtió descargando X, intentando ejecutar el escritorio, descubriendo que X no quería correr, probando X, leyendo la sección del Manual de FreeBSD para probar X, reconfigurar manualmente X e intentando de nuevo. Al final no pude tener X funcionando correctamente. Algunas veces me mostraba un escritorio, pero la interfase no respondía a la entrada del teclado, o podía tener la entrada de teclado funcionando, pero X no desplegaba nada. Eventualmente puse X y Xfce a un lado y decidí enfocarme en lo que FreeBSD es mejor conocido, como un servidor.

El mes pasado, cuando me encontraba evaluando  distribuciones para servidor basadas en Linux, traté de configurar algunos servicios, incluyendo secure shell y WordPress en cuatro distribuciones GNU/Linux. Dado que FreeBSD permite que OpenSSH este habilitado desde momento de la instalación, decidí enfocarme en la configuración del servicio de WordPress en mi nueva caja FreeBSD. Al principio se veía como lo habia pensado extremadamente sencillo y directo ya que el repositorio de software de FreeBSD incluía el paquete de WordPress. Instale el paquete de WordPress y, al final del proceso, se me indicó que corriera un script para configurar la base de de datos de WordPress. Esto parecía realmente conveniente hasta que intente correr el script y encontré que no existe. Como descubrí más adelante, instalar WordPress solo proporciona los archivos de WordPress y no jala dependencias tales como un servidor web, base de datos o archivo de script para configurar automáticamente la base de datos de WordPress. El script fantasma referido por el paquete de WordPress es parte de uno de los paquetes de la base de datos que instalé posteriormente.

También descargué el paquete del servidor web Apache (version 2.2) usando pkg y encontré que el servidor Apache no quería iniciar, indicando que no podía hacer coincidir el nombre de host de mi equipo con una dirección IP. Afortunadamente ya había visto este problema anteriormente y cambié mi nombre de host a algo que pudiera reconocer Apache como un nombre de dominio completamente cualificado. Pensando que esto debería completar mi configuración de WordPress intenté navegar en mi nuevo sitio y descubrí que el soporte para el lenguaje PHP no estaba activado en Apache por defecto, para este caso, se requería  re-instalar PHP desde el código fuente y cambiar la configuración de ports en el proceso. Una vez que todo esto se realizó, tuve que configurar Apache y la base de datos MySQL para que iniciaran al momento del arranque para completar la configuración. Es un proceso sorprendentemente largo y propenso a errores, comparado con las otras plataformas de servidor que revise a principios de año.

Lo que causo la mayoría de mis problemas con FreeBSD fue el problema que se repetía que el software instalado usando pkg no instalaba todas las dependencias requeridas. Algunas dependencias inmediatas pueden ser instaladas, pero no todos los items que estan hasta al final de la cadena de dependencias. El ejemplo anterior de instalar Xfce sin instalar como dependencia X solo fue una instancia, instalar WordPress sin instalar la base de datos o el servidor web en el proceso fue otro ejemplo. En otro día instalé una colección de citas de “fortune” para que se desplieguen cada vez que entro a mi cuenta. El add-on “fortune” se instaló apropiadamente y pude leer manualmente su archivo de texto, pero encontré que el programa fortune no estaba instalado cuando el add-on sí lo estaba, se tiene que buscar e instalar por separado.

Ahora, sospecho que debo de tener una inundación de e-mails de fans de FreeBSD apuntando que el programa “fortune” es una parte opcional del sistema operativo FreeBSD en lugar de un port y por lo tanto fuera del alcance del administrador de paquetes. Eso puede ser cierto, pero eso no hace otra cosa que empeorar las cosas no? Eso significa que el administrador de paquetes no solo esta instalando software para el cual no esta checando dependencias, si no que también no puede checar dependencias. Si el componente es opcional realmente debería estar colocado en la colección de ports donde puede ser encontrado por el administrador de paquetes, de lo contrario nos arriesgamos a tener situaciones donde el software esta roto. Esto no parece ser un problema con el administrador de software pkg mismo, si no en el marco subyacente de los ports. Checando las listas de dependencias en  el  sitio de FreeBSD muestra que las dependencias faltantes no estan especificadas en los ports.

Intente ejecutar FreeBSD en dos ambientes. El primero fue una máquina virtual en VirtualBox y la segunda fue en mi PC de escritorio (dual-core 2.8 GHz CPU, 6 GB de RAM, tarjeta de video Radeon y tarjeta de red Realtek). En ambos ambientes FreeBSD arrancó rápidamente, corrió perfectamente y permaneció estable. El sonido funcionó directamente después de la instalación, con un poco de esfuerzo fuí capaz de tener X funcionando con mi tarjeta de video. El sistema operativo fue muy ligero en cuanto a RAM, especialmente considerando las muchas características de ZFS.

Conclusiones

Debido a los grandes huecos en las dependencias y problemas al obtener software de terceros y dejarlo funcionando, mis impresiones de FreeBSD llegaron a dos puntos importantes. La primera es que FreeBSD — las herramientas de línea de comando, el kernel, el sistema de archivos ZFS y el instalador — es un gran sistema operativo. En ambos ambientes de prueba FreeBSD fue estable y ejecuto perfectamente.  Realmente me gustó el trabajo que se ha realizado en el sistema de instalación para esta liberación y me gustó ver que ZFS es fácil de instalar y de usar. La documentación que viene con FreeBSD es detallada y de mucha ayuda. El nuevo administrador de paquetes es rápido y amigable cuando se compara con sus predecesores. Todo esto significa que es muy fácil instalar FreeBSD, explorar el sistema y, una vez que esta arriba, un administrador difícilmente encontrará un sistema incompleto o roto.

Por otro lado, tengo la impresión de que la colección de ports de FreeBSD no recibe el mismo nivel de cuidado y atención que el sistema operativo base. Algunos de los ports disponibles obviamente no han sido probados en una instalación limpia de FreeBSD para asegurarse de que todas las dependencias han sido cumplidas. El estado de los ports X, en corto, desafortunado. Este hueco entre la calidad de la base del sistema operativo FreeBSD y los ports disponibles se ha hecho mas evidente ahora que un paquete de administración de calidad como pkg esta presente en el sistema. Es más fácil que nunca buscar e instalar nuevo software, pero se necesita demasiado esfuerzo para rastrear las dependencias y cambiar las configuraciones de ports clave. Lo que resulta en un maravilloso sistema operativo base que esta plagado de problemas una vez que intentas agregar funcionalidad de terceros en él.

Otra cosa que sobresalió durante mi tiempo con FreeBSD no fue una característica que estuviera ahí, si no mas bien una que sentí que hacía falta. FreeBSD tiene una útil y sorprendente característica, llamada Jails, para aislar procesos en ella, lo que escencialmente es, un ambiente de virtualización de muy bajos recursos. Hay algunas herramientas útiles por ahí para trabajar con jails y una jail hace que correr servicios, tales como un servidor web, more secure. Jails también nos permite correr software en nuestra computadora sin afectar al resto del sistema operativo. Lo que yo siento que falta es un repositorio oficial de jail pre-construidas. En el ecosistema Linux hay un proyecto llamado Turnkey Linux el cual proporciona imágenes Linux pre-hechas para tareas comunes tales como servir páginas web, correr forums, correr rastero de bugs de software y hospedaje de software de mensajería instantanea.

Con las jails de FreeBSD debería ser posible hacer y redistribuir plantillas de jails que hagan esas mismas cosas.  Los proyectos FreeNAS y PC-BSD, ambos basados en FreeBSD, proporcionana algunas  plantillas de jail sencillas para gente que quiere experimentar con los ports o que quieren tener un contenedor limpio en el cual configurar servicios. De cualquier manera, ninguno de estos proyectos, ni FreeBSD, parecen tener una colección de jails del estilo Turnkey para tareas específicas, tales como un host para un sitio de WordPress, corriendo un servidor de medios o un host de TorrentFlux. La poderosa tecnología incluida en FreeBSD, junto con la combinación de estabilidad y ahorro de recursos del sistema operativo, lo hacen parecer ideal para este tipo de soluciones contenidas y prefabricadas. Espero que tal idea sea adoptada ya que creo que sería grandioso ser capaz de correr un comando como “pkg install-jail amp_server” y tener una jail apropiada creada en el sistema operativo host.

Calificación general

  • Sistema de Archivos Avanzado (Btrfs/ZFS): 4
  • Documentación: 5
  • Facilidad de Instalación: 4
  • Facilidad de mantener/actualizar: 3
  • Tiempo de soporte para cada liberación: 3
  • Rendimiento: 5
  • Estabilidad: 5
  • Pasos requerido para activar servicios: 1

_________________________

Nos leeremos en el siguiente artículo.

FreeBSD rulez!

Si esta información te resultó útil considera hacer una donación a mi cuenta de LiteCoin:

LTC:    LhyHJC2eXVCrwHKX1jnMuSHgSijW3XHX2j

_________________________

Eric De La Cruz Lugo, es Licenciado en Informática Administrativa (LIA) con especialidad en sistemas, egresado del Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO), ha sido usuario de FreeBSD desde 1993 y de sistemas UNIX desde 1992, y de Linux desde 1997 (actualmente cuenta con certificación Linux+CompTIA) es profesor de asignatura de la Universidad Tecnológica Metropolitana en Mérida, Yucatán, donde administra servidores corriendo con FreeBSD que hospedan aplicaciones administrativas y la plataforma educativa en línea de la división de TIC (Tecnologías de la Información y Comunicación) de la Universidad. También brinda de forma independiente consultoría profesional a empresas e instituciones, e imparte cursos relacionados con UNIXLinux y desde luego FreeBSD!, forma parte del equipo de traducción al español del sitio bsdcertification.org, así como Proofreader y betatester de artículos de la revista BSDMag editada en Polonia, que se puede leer mensualmente en bsdmag.org,  también es astrónomo amateur y asesor externo del Planetario Arcadio Poveda Ricalde de Mérida, Yucatán y esta felizmente casado con su amada esposa Marisol Alvarez, puede ser alcanzado en: eric@freebsd.mx, eric_delacruz@yahoo.com y en eric@iteso.mx y en twitter: @COSMICBOY123)

One Response to “Primeras Impresiones de FreeBSD 10.0”



  1. jcalvezNo Gravatar says:

    Hola Eric, comparto tu opinión. Fue muy facil instalar la base. Pero quise instalar un entorno grafico y ahi comenzaron los problemas. Probe con XFCE y se instalo, pero no tenia Xorg instalado. Solucionado eso, quise optimizar la parte grafica e instalar los drivers de nVidia. Desde pkg me instalo uno, pero las X no arrancaban. En el log decia que ese driver no soportaba mi placa de video, asi que tuve que ver que numero correspondia a mi placa e instalar el driver especifico. Quise agregar efectos 3D al XFCE con compiz, y mas problemas. Cuando logre instalar, activo compiz y desaparecen las barras de titulo de las aplicaciones. Pense que era problema de compatibilidad con XFCE asi que instale GNOME, despues de pelear bastante. Pasó lo mismo. Asi que quise probar con KDE, que ya tenia funcionando en un FreeBSD 9.1 sin problemas. Pues KDE esta roto y no se puede instalar via PKG asi que fui a los ports, y dice que esta broken. Actualice los ports con portsnap y se corrigió, pero fallo varias veces, corregi varios errores, pero me quede en la libEGL que no me dejó compilar, asi que me rendi. Gnome funciona bien, pero sin compiz. Instale QT Creator, pero no me tomo el compilador, tuve que setear a mano, hasta que funciono. Y ahi dejé… mi FreeBSD 9.1 no me dió tantos dolores de cabeza, y esta con KDE, driver nVidia y efectos 3D, QT Creator y CodeBlocks, ambos funcionando perfectamente. Si logras hacer andar KDE, o los otros con Compiz, me avisas como hiciste? Mi email esta ahi.



Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*