Linux GNU: 10 cosas que todavía no sabes y que te van a sorprender
Linux GNU, con sus múltiples distribuciones, es el sistema operativo libre –que no necesariamente gratuito– de mayor difusión a nivel mundial. El próximo 25 de agosto cumplirá 26 años y aquí traemos 10 datos que tal vez no conozcan sobre el S.O. del pingüino, desde el punto de vista de un programador de aplicaciones.
Hay diferentes historias por las que tuvieron que pasar los creadores del kernel, hasta llegar al momento en el que nos encontramos. ¡Vamos a conocerlas!
1. La aplicación “matadora” fue el Apache WebServer: En los años 90, cuando se masificaron las computadoras personales (y antes del advenimiento de Internet), la aplicación “matadora” fue la hoja de cálculo Lotus 123. Es decir, la gente compraba un ordenador con el fin de ejecutar esa aplicación en particular. Luego cuando Internet se masificó, el Apache WebServer fue la aplicación que la mayoría utilizó para sus primeras páginas web y este software corría bajo… Linux GNU. Hoy en día, las combinaciones LAMP (Linux, Apache, MySQL y PHP) se ejecutan en la mayoría de las páginas web, incluyendo los gigantes Twitter, Google, Amazon, Wikipedia, Instagram y Facebook.
2. Linus Torvalds, el creador de Linux GNU, actualmente colabora con el 2% del kernel: Esto es así porque alberga más de 18 millones de líneas escritas por miles de programadores. ¿Cómo se coordinan tantas personas para codificar en lenguaje C? La aplicación “matadora” para desarrollar Linux GNU fue, y es, el sistema de control de versiones ideado por Linus Torvalds, pero escrito por otros talentosos desarrolladores: el famoso Git. Por ser software libre, ahora sitios como GitHub hospedan decenas de miles de proyectos incluso no relacionados con software: libros, leyes y todo aquello que necesite ser registrado de forma minuciosa y de manera colaborativa.
Actualmente, a 25 años de haber lanzado su proyecto universitario, el sueldo anual pagado a Linus Torvalds es de 10 millones de dólares estadounidenses, y antes de fallecer Ian Murdock (creador de la distribución “Debian” basada en Linux GNU) ganaba 295 millones anuales. Se estima que todo el tiempo invertido por los desarrolladores suma ya más de 5 millones US$.
3. Android no es el único S.O. basado en Linux GNU: La mayoría de las personas piensan que para los teléfonos móviles el único sistema operativo basado en Linux GNU es Android, pero hay variedad de otros proyectos como “Firefox OS” y “Ubuntu Mobile”, entre otros. Y por cierto, Android no es software libre, sino de fuente abierta, que es diferente: todo software libre cumple con las definiciones de fuente abierta pero todo código de fuente abierta NO califica como software libre debido a su naturaleza restrictiva.
4. Aparte de los móviles, Linux GNU está en sitios inesperados: Desde los pilotos que corren en Fórmula 1 para recoger datos de los sensores instalados en sus autos, a aeronaves no tripuladas (drones), pasando por pequeños dispositivos que se encuentran en nuestros hogares, tales como los sistemas de vigilancia o el aire acondicionado, hasta sonares para submarinos nucleares de la armada de los Estados Unidos (que usan Red Hat Linux). En Europa incluso la policía utiliza Linux GNU. ¡Puedes ver cómo en miles de entornos se usa Linux GNU!
La estación espacial utiliza Debian, la NASA usa Ubuntu y la Agencia Espacial Europea se ha decantado por SUSE. El CERN se apunta con “Scientific Linux” (que deriva de “Red Hat Enterprise”) y tampoco olvidemos las supercomputadoras utilizadas por los gobiernos de todo el mundo en materias tales como pronósticos meteorológicos, calentamiento global, búsqueda de vida extraterrestre o el tráfico de grandes ciudades. Linux GNU domina en 485 de las 500 máquinas de gran poder de cómputo, incluso haciendo posible el estudio de los próximos ordenadores cuánticos.
5. Linux GNU permite compilar software a medida en cualquier ordenador: No siempre va a funcionar a la primera, pero esto es totalmente cierto. Las distribuciones más populares como Fedora y Debian (con sus derivados) comparten kernels comunes que se adaptan a la mayoría del hardware moderno. El kernel de Linux, en sí, ocupa un 5% y los controladores poco más del 55%. No obstante, cada distribución tiene su forma y manera de buscar controladores actualizados para explotar de mejor manera los recursos a nivel de sistema operativo, pero las aplicaciones también se benefician de esto. Por nombrar un caso particular tenemos a VirtualBox, un programa que permite instalar máquinas virtuales y aprovechar así plenamente los procesadores multinúcleo actuales. Dado el caso de que necesitemos instalarlo en alguna distribución nueva debemos compilar de nuevo los kernels para los dispositivos virtuales (esto es especialmente útil si usamos una distro no probada con VirtualBox).
¡Una base de datos PostgreSQL puede ser optimizada y afinada según el hardware donde se está ejecutando! Esto hace que Linux GNU sea infinitamente escalable, y que se pueda ejecutar en dispositivos muy diferentes, escogiendo el kernel correspondiente y compilando para afinar detalles en aplicaciones específicas. ¡Esto es tener flexibilidad!
6. GNU Linux viene listo para usar: No, no estamos mintiendo. La mayoría de las distribuciones vienen con un completo juego de programas preconfigurados con la seguridad siempre presente; es por ello que no hallaréis un antivirus en ellos. No decimos que los virus no existan en Linux GNU, es que son muy pocos, debido que el sistema operativo no ofrece recoveco alguno al cual no podamos llegar para monitorizar su arranque y desempeño. Sin embargo, como Linux GNU corre en grandes redes de servidores de bases de datos, que almacenan millones de documentos para todo tipo de sistemas operativos, se hizo necesario escribir algunos antivirus para ese propósito, el controlar lo que suben los usuarios a esas “nubes”. Uno de estos populares “antivirus” es Clamav. Incluso aunque tengáis cualquier otro sistema operativo siempre tendréis al alcance de vuestra mano el Linux GNU, sin necesidad de instalarlo en vuestro ordenador.
7. Linux GNU es solo una séptima parte de un todo, ¡pero es esencial¡: Antes de que Linus Torvalds lanzara su núcleo –kernel en alemán- ya existían los demás componentes básicos en sus miles de versiones distintas. Dichos componentes son, de manera categorizada y simplificada (en ese orden de importancia/arranque en ordenador):
-
-
- Gestión de arranque (“boatloader”).
- Núcleo (“kernel”, en este caso Linux GNU).
- Servicios (programas sin interfaz gráfica llamados “demonios” o “daemons”).
- Ventana terminal de comandos, “shell” o “bash” (hasta aquí llegan los servidores web, datos, etc. No necesitamos nada más para administrarlos y/o monitorizarlos).
- Servidor gráfico, o “graphical server”. Cambia vuestro monitor de modo texto a modo gráfico (explicarlo es largo, pero os decimos que vuestro monitor “sabe” como dibujar una letra en pantalla en modo texto con solo pasar el código numérico ASCII; en modo gráfico dibuja puntito a puntito, cada píxel: pues de eso se encarga el servidor gráfico).
- Ambiente de escritorio “desktop environment”. Es el que dibuja los efectos de ventanas, papel tapiz, etc., y pudiéramos decir que es la interfaz gráfica con nosotros los usuarios (y el componente que desata las mayores y encarnizadas batallas de programación, para cumplir fielmente con el famoso refrán “entre gustos y colores no han escrito los autores”).
- Aplicaciones “applications” o “apss”. Similares a las que vimos en el punto número uno, que incluso impulsan todo el bloque completo.
-
8. Windows 10 soporta “Windows Subsystem for Linux” (mejor conocido como “WSL”), ¡PERO NO UTILIZA LINUX!: Por esa razón os hablábamos en el punto siete de las “capas” del sistema operativo; el bash y las aplicaciones que no requieren entorno gráfico, con su debida configuración y ajustes de seguridad para que los programadores o administradores tengamos todo el ambiente Linux GNU, bajo el kernel de dicho software privativo.
¿Recordáis la nota sobre los antivirus? Pues si tenéis instalado “Windows Defender” en Windows 10 (o cualquier otro software de monitorización), en teoría estos tendrán acceso a las aplicaciones libres que ejecutemos bajo “WSL”. Podremos instalar las aplicaciones que corren en Linux GNU (Ubuntu, para ser específicos) e incluso las podremos actualizar con el comando “apt-get update” de manera independiente al sistema operativo Windows 10. ¿Aquí hay seguridad en este ambiente? Nos reservamos nuestras opiniones, pero no podemos tapar el sol con un dedo: el software libre llegó para ocupar todos los espacios.
9. Reiniciar, con Linux GNU, no es necesario: Así, claro y tajante como lo leéis… si tenéis un buen administrador de sistemas y si vuestro hardware tiene elementos redundantes propios de un servidor (un kernel panic puede sobrevenir debido a una falla de hardware). Como os explicamos, están los demonios y aplicaciones que debes actualizar frecuentemente según sea posible en nuestra distribución seleccionada, y por medio de guiones o archivos de procesos por lotes debemos reiniciar cada uno de estos demonios y aplicaciones, sin necesidad de reiniciar el equipo. Pero actualizar el kernel es otro tema. Debemos tener las habilidades necesarias para recargar el nuevo núcleo; es una materia delicada y metódica. En este punto debemos sopesar si el trabajo de crear un trabajo de recarga de nuevo kernel es mejor que reiniciar el equipo: solo si tenemos un servidor de misión crítica valdrá la pena el preocuparnos por aplicar la actualización de esta manera.
Otra cosa: deberíamos actualizar el kernel si estamos físicamente presentes en el ordenador; sin embargo, hemos conocido casos de administradores que han desarrollado guiones para hacerlo de manera remota. Guiones que responden preguntas necesarias y que no podremos responder porque perdemos brevemente la conexión mientras se detienen los demonios y servicios para luego ser recargados con el nuevo núcleo.
10. Hay 115 millones de líneas en proyectos colaborativos de la Fundación Linux: proyectos como “Let’s encrypt”, que provee certificados digitales gratuitos para instalar servidores web que ejecutan protocolos seguros de comunicación (que no pueden ser interceptados por terceros), “NodeJS”, que permite herramientas en tiempo de ejecución con JavaScript, o “Xen Project”, el cual se encarga de desarrollar “Hypervisor” en software libre para máquinas virtuales (que a su vez involucra gigantes como Google, AMD, Intel y Oracle, por nombrar unos pocos). Todos estos y muchísimos más componen el extenso universo que fue posible gracias al desarrollo del kernel monolítico denominado Linux. Por sí sola, la Fundación Linux aporta el 0,6% de las líneas programadas y Red Hat, Intel y AMD juntas suman un 20% del código. Así que ya imagináis el largo interés económico involucrado en el desarrollo del software libre.
Distribuciones principales de Linux GNU
- Debian (con su hijo pródigo, Ubuntu y su familia).
- SLS (de donde proviene Slackware y sus derivados).
- Red Hat (con su famosos descendientes Fedora, CentOS, CERN, Oracle Enterprise y muchos más).
Y no las nombramos todas. Aquí podéis observar un resumen gráfico e histórico.
Conclusión
No podemos negar que Linux GNU tiene sus detractores, pero incluso ellos tienen su respuesta implícita: ¡tenéis el código, reparadlo vosotros mismos!
Encontramos muchísimas cosas que hacen de Linux GNU una experiencia realmente innovadora, ya sea desde el momento que lo instalamos en nuestro ordenador, mientras navegamos por Internet , cuando ejecutamos múltiples escritorios una vez instalado o cuando particiona nuestros discos duros sin perder datos y permite poder utilizar el mismo hardware durante más de 5 años. Sin mencionar que no tendremos “puertas secretas” ni estamos siendo espiados por gobiernos u otros entes, cualesquiera sean las razones que tengan para atacarnos. Todo eso es una gran paz mental para nosotros (y para nuestros datos).
Programador desde 1993 en KS7000.net.ve (desde 2014 soluciones en software libre para farmacias comerciales en Venezuela). Escribe regularmente para Pandora FMS y ofrece consejos en el foro. También colaborador entusiasta en Wikipedia y Wikidata. Machacador de hierros en gimnasios y cuando puede se ejercita en ciclismo también. Fanático de la ciencia ficción. Programmer since 1993 in KS7000.net.ve (since 2014 free software solutions for commercial pharmacies in Venezuela). He writes regularly for Pandora FMS and offers advice in the forum. Also an enthusiastic contributor to Wikipedia and Wikidata. Crusher of irons in gyms and when he can he exercises in cycling as well. Science fiction fan.