Como elegir una distribución Linux

Una breve guía (lógica) de como elegir una distro entre tantas sugerencias de internet...

Wikipedia: Linux kernel ubiquity

Wikipedia: Linux kernel ubiquity

El bosque de las opiniones

Cualquier persona terrestre que decida adentrarse en el mundo Linux ,con algo de cariño e instalándolo en su equipo, deberá enfrentar una duda que posiblemente lo acompañe durante toda su relación con este sistema operativo: ¿Que distro elegir?. Van unos 15 años desde mi primer contacto con Linux y creo que puedo ahorrarle al publico de este blog algo de tiempo en la lógica de como enfrentar esta pregunta. Esa lógica que busco compartir es una herramienta para evitar caer en el distro-hopping (cambiar de distro constantemente) e intentar no ser influenciado por opiniones vacías que solo son publicadas para reforzar las inseguridades de los interlocutores que las exponen.

Mi cementerio de ISOs y el distro-hopping

La primer distro que utilice fue Ubuntu 6.04 (aunque podría ser 8.04) en una PC del colegio. Cuando pude tener por primera ves un equipo de uso propio me contacte con Canonical para que me enviara un CD de su distro y para mi sorpresa lo enviaron! (a Sudamérica). Era la versión 10.04, con el entorno de escritorio gnome 2 (dato importante) y sus tambores al inicio. Fueron unos meses muy felices, hasta que leí por ahí, en algún foro, que Ubuntu era una distro derivada de Debian y la curiosidad me pudo…No podía entender que sentido tenia usar una cosa derivada de otra cosa…spoiler: tarde 10 años en entenderlo.

Probe Debian y en mi primer año de utilizar Linux en mi escritorio (+ algún home server con apache) no lograba entender cual era la diferencia entre ambas. Lo único destacable era que ?muchas cosas modernas se podían instalar en Ubuntu con algo llamado “PPA” y en Debian no. Si intentabas instalar algo nuevo o fuera de los repositorios oficiales, Debian se “rompía” (DontBreakDebian).

Wikipedia: Ubuntu 8.04 CD’s.JPG

ISOs fisicas (CDs) de ubuntu 8.04 LTS

Unos años después de mis primeros experimentos con Linux (2011) se lanzo la primera versión de Gnome 3. No puedo explicar hoy el boom que fue eso para la comunidad: El 50% lo odiaba por romper las estructuras clásicas de un entorno de escritorio funcional y estar orientado a las nuevas interfaces modernas…obviamente el otro 50% lo amaba por las mismas razones (En esa época Canonical también saco Unity). Yo era parte de los que querían ese entorno, pero Debian, no lo soportaba en su rama estable. Luego de pelear y quedarme sin sistema día por medio por estar en la rama SID y que gnome 3 sea una pesadilla de paquetes rotos, decidí salir de las distros apt y buscar otro lugar en donde si estuviese gnome 3 funcionando. Ahí fue cuando pase por Gentoo, Slackware, Arch, CentOS, Fedora, OpenSuse, Mandriva, Mint, Ubuntu gnome y una larga lista de etceteras que ya no existen ni en mi memoria nostálgica… Lo único que conseguí fueron años de distro-hopping, malestar y perdida de datos por la excesiva cantidad de formateos (Imposible no olvidarse alguna ves de hacer backup). Creo que ese distro-hopping no me dejo casi nada de valor y al contrario, generaba una incomodidad constante con el sistema operativo que me apasionaba tanto. Lo único que lo detuvo fue encontrarme con este excelente video (Tiene sus años y esta en ingles, pero vale la pena verlo):

 ¿Is Distrohopping a Dangerous Addiction?

De manera resumida, lo que explica es el por que de nuestro distro-hopping cuando estamos sobre-influenciados por las opiniones y el contenido que consumimos en momentos de ansiedad y aburrimiento. La falta de tareas reales en entornos reales nos dispersa la creatividad y en muchos de nosotros eso resulta en una obsesión por las herramientas, dejando de lado el verdadero fin de nuestro trabajo. Intentamos elegir la herramienta antes de saber que vamos a hacer con esta.

Lógica para elegir una distro

  • Hay que pensar “que vamos a hacer” con Linux antes de pensar “como lo vamos a hacer”.

  • Para invitar al razonamiento y evitar influenciar nuevos usuarios, en esta lógica no voy a sugerir distros, solo mencionar algunas de sus características.

  • Todas las distros son adaptables a nuestra necesidad, pero creo que esas modificaciones solo deberían agregar características, no quitarlas. Si tenemos que borrar algo de nuestra distro posiblemente estemos en el lugar equivocado.

Primero la vista

Wikipedia: GNOME Shell

Screenshot de GNOME Shell

Creo que lo único que podríamos permitirnos elegir con anterioridad es la parte visual de nuestro entorno. Una interfaz debe generar la menor fricción posible con nuestra tarea, por lo que suelo recomendar que la distro que elijamos tenga una buena versión del entorno de escritorio (o windows manager) que nos gusta. Sugiero que entres al sitio de por ej: Gnome, KDE, XFCE, dwm, i3, etc… y veas cual te gusta mas y como son en su versión “vanilla” (sin grandes modificaciones). Hay distros que suelen mantener sus interfaces por defecto tal como el desarrolladxr las penso, pero otras implementan modificaciones estéticas y funcionales pensando en los que ellos creen que es mejor. Lo importante es que al momento de elegir, busquemos tener que hacer la menor cantidad de modificaciones posibles para sentirnos cómodos y que el entorno nos agrade.

Paquetes, versiones, stable y rolling release.

Wikipedia: Synaptic screenshot

Screenshot de Synaptic (gestor de paquetes grafico)

Me cuesta pensar que alguien puede elegir una distro por su gestor de paquetes (apt,pacman, dnf, etc). Me parece que ese cuestionamiento no es compatible con alguien que esta en la búsqueda de su distro de manera inicial. Lo que si es importante es el contenido que estos gestionan y sus versiones. Dentro de este mundo de paquetes y versiones vamos a encontrar básicamente 3 mundos de distros: las orientadas a la compilación manual de paquetes, las stable-release y las rolling-release. Sobre las orientadas a la compilación manual de paquetes no hay mucho mas que decir, acá la libertad de las versiones que utilicemos solo esta atada a cuantos conflictos queramos tener con nuestros paquetes instalados. En cuanto a las stable-release (como por ej: Debian) o las Rolling-Release (como por ej:Arch) ya hay mas pautas que entender:

Stable-Release

Por lo general, se suele decir que las distribuciones stable-release suelen ser mas estables y eso crea toda una polémica de mierda alimentada por personas que eligen expresiones incorrectas y personas que lo interpretan de manera mas incorrecta (siempre de manaera convenientes para alimentar su ego y el click-bait). Cuando nos referimos que una distro es mas ESTABLE que otra, no quiere decir que si la dejamos prendida al lado de otra INESTABLE en una habitación vacía sin alteraciones, la primera va a funcionar siempre de manera perfecta mientras la segunda a las pocas horas va explotar por si sola. La estabilidad hace referencia a como la distribución en cuestión maneja el versionado de paquetes. Cuando se establecen versiones en una distribución, nos aseguramos que la lista de paquetes, sus configuraciones y su uso, no cambien mientras nos mantengamos en la misma versión de distribución. Esto es muy conveniente cuando este tipo de distros tienen sus versiones LTS (Long Time Support) que nos dan soporte por muchos años y nos permite configurar entornos de trabajo en donde podemos estar despreocupados por las modificaciones de nuestra plataforma. El caso mas concreto es entornos empresariales y servidores en donde les puedo asegurar que cuando el numero de equipos a administrar supera los 25, esto se vuelve una clave para no perder tiempo en tareas menores para arreglar nuevos errores. Obviamente, los sistemas estables suelen tener repositorios paralelos o manteiners de paquetes que se encargan de aplicar constantemente parches de seguridad en estas versiones para estar tranquilo a las vulnerabilidades que aparezcan.

Rolling-Release

Aclarada la definición de estable la pregunta es: porque alguien quiere lo contrario ? Bueno…la estabilidad tiene la contra en su misma ventaja…la no actualización de paquetes. Esto por un lado nos hace quedarnos en versiones mas viejas de software (con sus bugs y problemas) y nos niega la posibilidad utilizar las ultimas versiones de algunas herramientas. Por eso existen distribuciones Rolling-Release que no están atadas a un ciclo de versionado y cada ves que las instalamos vamos a tener la ultima versión disponible en los repositorios de los paquetes que tengamos instalados. En muchos casos cuando necesitamos que X herramienta este en su ultima versión para utilizar una nueva funcionalidad, esto es muy conveniente y nos permite acompañar (y colaborar) el crecimiento del software que nos gusta.

Comunidad o Empresa.

Wikipedia: Installfest

Install fest de usuarios Linux

Las distribuciones Linux también se dividen en dos categorías: Las que dependen de su Comunidad y las que dependen de una Empresa. Acá, para mi, hay 2 maneras muy diferentes de hacer las cosas. Cuando una distro es mantenida por su Comunidad (por ej: Debian, Arch), los procesos suelen ser mas lentos y suelen estar atravesados por una visión política de lo que debe ser la tecnología y esa distro para con sus usuarios. Sugiero investigar bien como son las diferentes comunidades y como se paran antes las diferentes disyuntivas técnicas y políticas que fueron surgiendo a lo largo del tiempo. Por el otro lado, las distros que son mantenidas por una Empresa (por ej: RedHat, Suse, Canonical) obviamente están mas atravesadas por una visión comercial. Si bien estas también tienen sus propias comunidades que aportan al desarrollo y a la orientación de la distro, suele pesar mas la decisión de la empresa regente, que lo que opina la comunidad.

Los forks no son malos

Wikipedia: DebianFamilyTree1210

Arbol de distribuciones debian-based

En el mar de distribuciones hay arboles genealógicos enteros de derivados de derivados (forks) y aunque en un principio esto pueda indicar que la distro madre tiene un problema o que la hija es de menor calidad que la original, lo que sucede es que son diferentes visiones del mundo y de la tecnología aplicándose en una distribución Linux. Muchas veces utilizar distribuciones “Madres” y modificarlas de manera especifica para que se ajuste a nuestras necesidades es lo mejor, pero no por eso los derivados son peores. En muchas oportunidades estos derivados solucionan un sin fin de problemas que se nos escapan por tiempo o conocimiento y ofrecen un objetivo claro en la función de la distro. Por ej: Ser empresarial, para artistas, para desarrolladores, gaming, etc.

Hacer y decidir en el camino

Si no podes encontrarte en ninguno de estos consejos, elegí cualquiera… aunque sea porque te gusta mas el logo o el nombre y arranca a trabajar. En el camino y en su uso, vas a encontrar problemas reales que te van a indicar si necesitas o no otra distro. No te lo va a decir un youtuber ni un post en un blog perdido, solo el uso y la practica van a presentarte las ventajas y limitaciones de las herramientas que elegimos para afrontar la tarea.

Wikipedia: Linux 0 12

Primer version de linux bajo licencia GPLv2