Capítulo 4: Instalación de Ubuntu server
4.1. Introducción
Una de las señas de identidad más claras del sistema operativo Linux es que su código fuente está a disposición de cualquiera. Esto quiere decir que puede utilizarse, modificarse y distribuirse libremente, lo que ha derivado en que su evolución se base en el trabajo de multitud de programadores distribuidos por todo el planeta, que no sólo colaboran en el código del propio sistema operativo, sino que además escriben su propio software de aplicación.
El resultado ha sido una evolución sólida y constante del sistema operativo y la aparición de una cantidad ingente de programas escritos para él.
Linux se ofrece bajo licencia GPL (General Public License) de GNU o alguna licencia derivada.
Puedes encontrar la versión original en http://www.gnu.org/licenses/gpl.html, aunque también disponemos de su traducción al español en http://www.gnu.org/licenses/licenses.es.html#GPL.
Esta característica fundamental ha hecho que diversas empresas, grupos de usuarios u otras entidades, partiendo del mismo sistema operativo Linux, le hayan añadido su combinación particular de programas de aplicación y utilidades. Estos subconjuntos de Linux reciben el nombre de distribuciones.
Normalmente, la mayor parte de una distribución está formada por software libre. Sin embargo, en ocasiones pueden incorporar software de aplicación o, más frecuentemente, controladores de hardware con alguna licencia propietaria.
En la siguiente tabla, se incluyen los nombres de las distribuciones más famosas (ordenadas por número de visitas según la página http://distrowatch.com) en enero de 2019.
Es muy común que las distribuciones publiquen versiones diferentes para equipos de escritorio y para servidores.
Además, en este último segmento, según los resultados ofrecidos por la página http://www.top500.org, que muestra un ranking con los 500 mayores superordenadores del planeta, en noviembre de 2018, todos los superordenadores de la lista Top500 funcionaban gracias a algún sistema operativo de la familia GNU/Linux.
Además, existen fabricantes que utilizan Linux como base para crear los sistemas embebidos que controlan multitud de dispositivos, como teléfonos móviles o tabletas, televisores, videoconsolas o incluso frigoríficos, automóviles, etc.
Quizás, el alumno más aventajado en este sentido es Android, el sistema operativo para dispositivos móviles de Google, basado en el núcleo de GNU/Linux, que ha revolucionado su segmento.
Para saber más, puedes consultar el libro Aprende a programar en Android: Nivel básico
Un poco de historia
Aunque el objetivo no es incluir un relato pormenorizado de la evolución histórica de Linux, pensamos que es interesante mencionar algunos datos que nos sirvan de contexto cuando hablemos de él.
La historia de Linux comienza en Unix. A finales de la década de los 60, dos empleados de los Laboratorios Bell, llamados Ken Thompson y Dennis Ritchie colaboraron en la creación de un nuevo sistema operativo, utilizando lenguaje ensamblador. Finalmente, en 1969 presentan el primer resultado de su trabajo, al que denominan Unics. Sin embargo, hasta 1970, el proyecto no recibe apoyo financiero de Bell. Es entonces cuando se bautiza oficialmente como Unix.
En 1971 se presenta la primera versión, pero, poco después, el equipo de desarrollo decide reescribirlo todo utilizando el lenguaje C (creado por Dennis Ritchie). El objetivo era conseguir que fuese más fácil adaptar el sistema a diferentes arquitecturas.
Finalmente, en 1976 se presenta la versión 6. Basándose en esta versión, Andrew S. Tanenbaum, profesor de sistemas operativos en la Vrije Universiteit de Amsterdam, escribe un nuevo sistema operativo llamado Minix que, finalmente, es publicado en 1987.
El objetivo final de Tanenbaum consistía en que sus alumnos aprendieran los conceptos de diseño de los sistemas operativos, por lo que funcionaba en los ordenadores de la época (el IBM PC original y todos sus compatibles). Además, difundió su código fuente.
El 25 de agosto de 1991, un estudiante de Ciencias de la Computación de la universidad de Helsinki (Finlandia) llamado Linus Benedict Torvalds, de 21 años, publicó en el grupo de noticias comp.os.minix un mensaje que cambiaría la historia de los sistemas operativos:
“Estoy haciendo un sistema operativo (gratuito, sólo un hobby, no será nada grande ni profesional como GNU) para clones AT 386(486). Llevo en ello desde abril y está empezando a estar listo. Me gustaría saber su opinión sobre las cosas que les gustan o disgustan en minix, ya que mi SO tiene algún parecido con él.[…] Actualmente he portado bash(1.08) y gcc(1.40), y parece que las cosas funcionan. Esto implica que tendré algo práctico dentro de unos meses…”
El 17 de septiembre lo ofrece de forma desinteresada a través del servidor FTP de su universidad y el 5 de octubre de ese mismo año, Linux ya es capaz de ejecutar perfectamente el intérprete de comandos BASH (Bourne Again Shell) y GCC, el compilador de lenguaje C. Ambos tomados directamente del proyecto GNU.
El proyecto GNU fue iniciado en 1983 por Richard Stallman, que tenía la intención de crear un sistema operativo libre.
En enero de 1992, Torvalds adopta la licencia GPL, permitiendo su modificación, redistribución, copia y uso ilimitado. A partir de aquí, su evolución es imparable.
A pesar de que el núcleo del sistema operativo tuvo su origen en el desarrollo de Linus Torvalds, no hay que olvidar que la interacción entre el núcleo y el usuario y muchos programas de aplicación (incluida la interfaz gráfica Gnome) se tomaron directamente del proyecto GNU (acrónimo recursivo que significa GNU is Not Unix). Por este motivo, hay muchos usuarios que prefieren el término GNU/Linux para referirse a este sistema operativo.
Por último, comentar que Unix no sólo ha sido el origen de Linux, sino que también ha servido como germen para otros grandes sistemas operativos, como BSD, Solaris, OSX, etc. A continuación puedes ver una imagen que ilustra, de forma resumida, esta evolución:
Si quieres conocer más datos sobre la historia de Unix, de Linux o sobre cualquiera de sus protagonistas, te recomiendo que consultes la Wikipedia, que contiene numerosos artículos sobre estos temas.
Ventajas y desventajas de Linux y del software libre en general
Son muchas las ventajas, pero también algunos inconvenientes, los que aporta el uso del software libre. Aquí nos limitaremos a enumerar algunas de ellas, aunque, probablemente no serán las únicas. En algunos casos, dependerá incluso de la óptica de cada usuario en particular.
Entre las ventajas, incluiremos las siguientes:
-
El software libre es más económico o, en muchas ocasiones, no repercute ningún coste. Esto permite a las empresas con menos recursos seguir creciendo sin estar limitadas por el coste de la inversión. No debemos olvidar que en España se gastan más de 1,000 millones de euros en licencias de productos de la compañía Microsoft cada año.
-
El soporte puede ser local, con lo que se evita la dependencia de una economía extranjera y se potencia la economía nacional.
-
Los programas se pueden instalar tantas veces y en tantos equipos como sea necesario. Además, puede compartirse libremente con cualquiera.
-
El uso de formatos abiertos, no propietarios, facilitan la interoperabilidad entre sistemas, siendo independientes del hardware, de la aplicación e incluso del sistema operativo. No olvidemos que, para que una programa pueda utilizar un formato propietario de otra empresa, se deben pagar los derechos de uso a la empresa que lo creó. En este sentido, la Unión Europea ha anunciado su decisión de adoptar formatos abiertos como ODF (Open Document Format) y en Estados Unidos, algunos estados como el de Massachusetts han suscrito el uso obligatorio del formato ODF a partir de 2007.
-
La posibilidad de acceder al código fuente permite la creación de nuevos productos a partir de los ya creados por otras empresas o entidades y que están ampliamente probados y aceptados, evitando la necesidad de comenzar desde cero.
-
Como consecuencia de lo anterior, este modelo ayuda a la reducción de las fallas tecnológicas entre países avanzados y países en vías de desarrollo.
-
A lo largo del tiempo se ha demostrado que, cuando aparece un fallo de seguridad en un producto del software libre, la comunidad reacciona rápidamente para resolverlo en un plazo muy breve. En el caso del software propietario, aunque parezca una paradoja, las empresas disponen de menos medios humanos dedicados a estas tareas y la solución puede tardar semanas, o incluso meses.
-
El modelo de negocio del software libre suele basarse en el servicio y no en las licencias. Esto repercute en que las empresas que ofrecen los servicios compitan en igualdad de condiciones. El resultado es una mayor atención al cliente y la creación de empleos en el entorno de las empresas clientes.
-
No existe la obsolescencia programada. Es decir, no existe un interés comercial por que el producto deje de funcionar, en beneficio de un producto nuevo. Veamos, por ejemplo lo que pasó con Windows XP, que dejó de ofrecer soporte para dispositivos nuevos, probablemente con la intención de que el consumidor se actualizara (comprara) las versiones más modernas del sistema operativo.
-
El software libre es más seguro, ya que el acceso al código fuente ofrece la absoluta seguridad de que no incluye ningún tipo de código malintencionado o, sencillamente, no autorizado.
-
El uso de repositorios hace que los usuarios tengan acceso a miles de aplicaciones y otras herramientas, revisadas y garantizadas de forma totalmente gratuita. Además, el método de instalación es muy sencillo y no varía según el programa instalado. La alternativa en el mundo del software propietario es recurrir a descargas ilegales en las que se obtienen programas que, en muchos casos, incluyen virus, troyanos, etc. sin que el usuario sea consciente de ello.
Entre los inconvenientes, podemos incluir estos:
-
Aunque esta norma no puede aplicarse de forma general, sí es común que el acabado estético sea inferior al del software propietario. La explicación es que en las empresas de desarrollo de software privativo suelen tener un departamento especializado en estas tareas, mientras que los desarrolladores de aplicaciones libres suelen ser expertos en programación.
-
Existen muchas aplicaciones propietarias que son un estándar de facto en algunos ámbitos y, no conocerlas, puede suponer una desventaja. Por ejemplo, Microsoft Office, Dreamweaver, AutoCAD, Photoshop, etc.
-
Lo mismo ocurre con los programas de juegos que, por cuestiones puramente comerciales, suelen estar disponibles sólo para Microsoft Windows.
-
Dado que son sistemas menos conocidos, suele haber un mayor desconocimiento de su funcionamiento y, por lo tanto, es necesario un mayor esfuerzo formativo del personal de mantenimiento.
-
Existen dispositivos hardware que sólo disponen de controladores (drivers) compatibles con Microsoft Windows, por lo que su utilización en Linux suele acarrear múltiples inconvenientes o, incluso, puede ser inviable.
-
Al existir una menor implantación de los sistemas libres en ciertos ámbitos, también existe un mercado laboral inferior, aunque también es cierto que más especializado.