Escoge la distro de GNU/Linux apropiadamente

RHEL/CentOS, Fedora, Ubuntu, Debian, OpenSuse y tienen más similitudes que diferencias, pero escoger la equivocada para lo que necesitamos puede hacernos la vida muy difícil.

Infoworld | Paul Venezia

A diferencia de la mayoría de los sistemas operativos de escritorio y servidores, GNU/Linux viene en una gran variedad de sabores, cada uno basado en un kernel común de Linux y varias utilidades GNU. Si estás ejecutando servidores Linux -o escritorio, en este caso- ya debes entender las diferencias importantes entre las distro, y seguramente ya eres más exigente en cuanto a qué versión de Linux es la más adecuada para una situación determinada. Aquí vamos a hacer precisamente eso.

Como Linux es un software de código abierto, el número de distribuciones dedicadas es difícil saber con seguridad. Pero una lista reducida de las principales distribuciones significa la mayoría de los despliegues comerciales de Linux, como: Red Hat Enterprise Linux (RHEL) , CentOS, Fedora, Ubuntu, Debian, y OpenSuse.

Estilo y sustancia

La mayor parte de las diferencias entre estas distribuciones son de apariencia. Se refieren más que todo a detalles en su configuración e implementación en lugar de la funcionalidades profundas. La estructura de archivos del sistema, los ajustes de configuración, los mecanismos de actualización y las herramientas de configuración de paquetes pueden variar, pero las similitudes son mucho mayores que las diferencias.

Aún así, existen diferencias claras entre ellos, sobre todo en el área de diseño del sistema. Cuando se trata de gestionar Linux en un entorno de producción, se encuentran diferencias importantes en todos lados, desde la estabilidad al soporte de los paquetes de código abierto. No poder reconocer estos matices puede significar la diferencia entre trabajar con tranquilidad y trabajar con muchos obstáculos al momento de la implementación y ejecución.

Tome el servidor Web como ejemplo; Todas las distribuciones Linux empaquetan el servidor Web Apache, pero cada uno lo implementa usando diseños del sistema de archivos y configuraciones ligeramente diferentes.

Por ejemplo, Ubuntu llama a Apache versión 2 “apache2“, mientras que CentOS y RHEL le llaman “httpd“. Eso afecta a dónde se encuentran los archivos de configuración de Apache dentro de cada distribución. Las puedes encontrar en …/etc/httpd en CentOS y Red Hat, pero en …/etc/apache2 en Ubuntu. Además, Ubuntu y otras distribuciones similares podrían colocar la raíz del documento Apache en …/var/www, mientras CentOS y RHEL optan por ponerlo en …/var/www/html.

Además, Ubuntu ofrece un esquema de gestión de configuración propia para Apache que permite a un administrador colocarle fragmentos de configuración en /etc/apache2/sites-available y /etc/apache2/sites-enabled, y administrarlos con comandos personalizados como a2ensite y a2dissite que mover esos fragmentos y recargar Apache. Esto significa que puede activar y desactivar sitios web virtuales desde el tablero de comandos. CentOS/RHEL no tiene nada como esto, lo que requiere una gestión manual de los archivos de configuración.

El enfoque de Ubuntu no es necesariamente mejor o peor -es una cuestión de preferencia personal. Por un lado, hace que las operaciones como la creación de un sitio web sea más fácil. Por otro lado, lo necesario para preparar tus configuraciones de tal manera de trabajar con los comandos de configuración personalizados. Administradores puristas de Apache probablemente prefieran trabajar con los archivos directamente. Usuarios nuevos pueden encontrar el enfoque de Ubuntu más útil. En última instancia, le toca a usted decidir qué es preferible.

Hay otras diferencias. Por defecto, Ubuntu bloquea el usuario raíz, pidiendo en cambio que se cree un usuario local durante la instalación; ese usuario se le concede entonces privilegios sudo para realizar tareas como usuario raíz. CentOS/RHEL no tienen esta restricción y permiten el acceso general por el usuario raíz.

Algunas distribuciones también han personalizado las herramientas de configuración. Suse Linux (y OpenSuse) tienen YaST (otro tipo de herramienta de configuración), una administrador de configuración del sistema que no se utiliza en otras distro de Linux.

El diablo está en los detalles

En otros casos, puede haber amplias similitudes entre distrobuciones recientes, pero que en cambio no son compartidas por versiones anteriores. Por ejemplo, systemd se ha introducido como un reemplazo para sysvinit en las últimas versiones de las principales distribuciones de Linux, cambiando fundamentalmente la forma en que los servidores que ejecutan estas distribuciones arranquen, carguen, y gestionen los servicios (cambio que vino con polémica). Las versiones anteriores de estas distribuciones no tienen systemd, y por lo tanto no se beneficiarán de una mayor eficiencia y rendimiento de las mejoras que trae. Eso puede ser un factor que vale la pena considerar si usted está presentado con una selección de versiones de lanzamiento.

Ubuntu Linux  PC
Ubuntu hace que las operaciones como la creación de un sitio web sea más fácil. Por otro lado, lo necesario para preparar tus configuraciones de tal manera de trabajar con los comandos de configuración personalizados.

Otro elemento clave que diferencia las distribuciones de Linux es el mecanismo de actualización de paquetes y la frecuencia en las que se actualizan. En Ubuntu y Debian, se utiliza APT (Advanced Package Tool) para manejar las actualizaciones de la distribución. Esta herramienta permite actualizar paquetes individuales o del sistema en su conjunto. En RHEL, CentOS, Fedora y otros, Yum (Yellowdog Updater, Modified) es el gestor de paquetes. Apt y Yum funcionan de manera similar, los administradores dejar configurar repositorios de paquetes personalizados y actualizar fácilmente los paquetes y mantener el sistema.

Hacer la elección correcta

La elección de la distribución que se utilice normalmente reduce a unos pocos elementos clave:

La familiaridad. Las ventajas de ser fiel a una distribución Linux es que uno se familiariza con el funcionamiento general, y esto supera las ventajas de adoptar una distribución diferentes. Si CentOS y RHEL son lo que usted maneja, mantenerse usando estas distro probablemente sea lo más fácil a largo plazo. A menos que los requisitos del servidor dicten lo contrario, vaya con lo que sabe.

Simplicidad. Hay mucho que decir acerca de la homogeneidad de la distribución en las estructura de trabajo. Manteniendo la misma distribución a través de su estructura de trabajo es casi siempre la mejor manera de proceder. Si los servidores de aplicaciones corren CentOS, entonces los servidores de bases de datos también debería hacerlo, a menos que haya una razón imperiosa de ir una dirección diferente.

Requisitos del servidor. En última instancia, la elección de distribución estará limitada por las aplicaciones y servicios que necesite implementar. Por ejemplo, si el servidor debe ejecutar las últimas versiones de un paquete común como MySQL o PHP, la elección de una distribución más estable como CentOS o RHEL con un calendario de lanzamientos ya que complicará las cosas. Es probable que tenga que recurrir a, repositorios de paquetes adicionales de terceros y paquetes de uso construidos por una variedad de contribuyentes en lugar de las versiones oficiales que soportadas por la distribución. En algunos casos, es posible que tenga que crear su propio paquete RPM o un paquete técnico personalizado para versiones muy recientes.

Como alternativa, un poco de investigación pudiera mostrarle que Fedora ya tiene la versión de MySQL o PHP que necesita, por lo que usar Fedora le ahorrará tiempo y esfuerzo. En otros casos, Ubuntu o Debian podrían asemejarse lo más posible a los requisitos de software de su servidor, y por lo tanto va a valer la pena considerarlos, incluso si usted no está tan familiarizado con esas distro.

También puede encontrar que su aplicación o plataforma de trabajo viene con sugerencias o recomendaciones sobre la distribución que mejor se ajusta. Además, se puede encontrar algunas soluciones con paquetes precompilados para unas distribuciones de Linux. Su mejor apuesta será la de seguir con esas versiones para asegurar la compatibilidad.

Estabilidad. Por último, vale la pena ser conservador. Depender de versiones del sistema operativo estables siempre debe ser el enfoque estándar. Si una versión estable no cumple con los requisitos de software del servidor, pues optar por una versión más reciente tiene más sentido que la adaptar la versión estable anterior con los paquetes más recientes.

Pocas veces debe arriesgarse a ejecutar en un servidor de producción, una distribución de lanzamientos inestable, o para hacer pruebas con otros proveedores. Algunos administradores interpretan esta orientación en el sentido de que las versiones de Fedora y no LTS de Ubuntu nunca se deben ejecutar en servidores de producción. Mientras que eso es un buen consejo en general, siempre hay excepciones. Siempre tenga en cuenta los riesgos implicados, y estar preparado para encontrarse con los problemas ocultos que generalmente afloran cuando se trata de versiones inestables.

En muchos casos, la elección de una distro Linux no es depende totalmente de usted. Si usted va a comprar un VPS (servidor privado virtual, por sus siglas en inglés) o una parte de un servidor cloud, o incluso para un servidor dedicado en un centro de hosting, usted encontrará que los proveedores ofrecen un conjunto limitado de distribuciones para elegir. Para la gran mayoría de esos proveedores, esas distribuciones soportadas serán un subconjunto de RHEL, CentOS, Fedora, Ubuntu, Debian, y OpenSuse.

No es raro encontrar proveedores que ofrecen sólo CentOS y Ubuntu, o tal vez esas distros junto con Fedora y Debian. Menos ofrecerán OpenSuse, por lo que predominantemente la elección se reduce a estas cuatro o cinco distribuciones. Las directrices anteriores, y la tabla de abajo, deben ayudar a determinar cuál es la mejor para su proyecto.

Por supuesto, la mejor opción es sentirse a gusto con la mayor cantidad de distribuciones de Linux como se pueda, y estar preparado para utilizar cada uno cuando sus puntos fuertes sean un beneficio para el trabajo que toque hacer.