Linux y GNU
Esta entrada pretende explicar de forma simple y directa las distintas partes en las que se basan los Sistemas Operativos basados en GNU LINUX.
¿Qué es Linux?
Linux es un kernel o núcleo que se encarga de controlar el hardware de un dispositivo asignando los recursos para tal. De alguna forma se podría determinar como el conjunto de “drivers” necesarios para que sea posible comunicarse con cada pieza física de un dispositivo ya sea smartphone, ordenador, equipo embebido en electródomésticos o coches… y muchos dispositivos más.
Gracias a Linus Torvalds quien comenzó este proyecto y actualmente lo lidera surgió Linux (al principio conocido como Minix).
¿Qué es GNU?
Es una colección de herramientas de desarrollo, bibliotecas, software, incluso juegos.
Respetan la libertad de los usuarios (Es software libre al 100%)
Generalmente se utiliza en conjunto con el kernel linux formando de esta forma un sistema Operativo
GNU + Linux
Actualmente la unión del kernel linux, las herramientas GNU y una serie de programas para darle funcionalidad y cómodidad al usuario es lo que se conoce como sistema operativo GNU/Linux.
Un sistema operativo con GNU/Linux puede ser completado por un grupo de personas añadiéndoles unas series de aplicaciones y configuraciones básicas conociéndose a esto como distribución.
Distribuciones
Una distribución de Linux tal y como se suele conocer “Distro” es un conjunto de programas/software que rodean a un kernel (normalmente un núcleo Linux pero también existen distribuciones BSD/GNU entre otras).
No solo se limita a reunir o empaquetar aplicaciones y librerías en un mismo sistema, sino que también puede llevar un gestor de ventanas bajo un entorno gráfico para que sea más cómodo para el usuario en el caso Desktop o sin él para servidores. Incluso en cada distribución los creadores de esta establecen una serie de configuraciones para que una vez instalado el sistema se necesiten menos interacción del usuario antes de comenzar a usarlo.
Normalmente suelen tener un gestor de paquete propio de cada distribución (se suelen heredar en distribuciones basadas en otras). Este gestor de paquetes se utilizará para instalar programas y librerías que añadan nuevo software desde los repositorios oficiales o extraoficiales de cada distribución.
Los repositorios son un recurso compartido en internet donde los desarrolladores de la distribución (o el repositorio si es externo) suelen añadir las nuevas versiones de software una vez pasados una serie de filtros de calidad y estabilidad establecidos por ellos mismos. Suelen venir agregados los oficiales por defecto a la distribución por lo cual estarán disponibles con el sistema recien instalado, o en su defecto se suelen poder activar de forma sencilla en pocos pasos de forma gráfica.
Una distribución puede incluir procesadores de texto, navegador, reproductor multimedia… etc…
Algunas de las distribuciones más conocidas podrían ser las siguientes:
Arch Linux:
Es una distribución que no tiene versiones y se actualizan los programas y paquetes sin necesidad de subir de versión el sistema operativo.
Es algo complicada para las personas que usan linux por primera vez.
Debian:
Es una gran distribución con muchos colaboradores que busca la estabilidad del sistema antes que utilizar la última versión de software. A partir de esta distribución se basan otras como Ubuntu por ejemplo.
Es una distribución sencilla y comprometida con el software libre. Aún así hay otras más recomendadas para empezar antes de cambiar a esta como podría recomendarse “Linux Mint”.
Ubuntu:
Está basada en Debian y la desarrolla una empresa llamada “Canonical”. Pretende marcar nuevas tendencias y aún siendo bastante popular muchos de los usuarios que usaban GNU/Linux antes de existir esta distribución no aceptan algunas de sus políticas como la publicación de una nueva versión cada 6 meses y la inclusión de software para anilizar usabilidad y crear estadísticas de consumo (Ahora parece que esto último es opcional). Personalmente no la recomendaría, en su lugar prefiero Debian o Linux Mint.
Distribución sencilla pero no del todo recomendable por mi parte.
Fedora:
Es una distribución basada en la distribución de la empresa “Red Hat” creada para la comunidad.
Distribución sin demasiada dificultad, muy actualizada y con escritorios bien integrados. Sistemas de empaquetado rpm.
Linux Mint:
Esta es una distribución que toma como base al sistema operativo “Ubuntu” pero con una interfaz gráfica propia llamada “Cinnamon” la cual es similar a gnome2 o windows consiguiendo mejor adaptación para el nuevo usuario de este tipo de sistemas operativos, además cambia una serie de paquetes y programas por otros siempre de cara a los nuevos usuarios.
Distribución muy sencilla y recomendable para comenzar a usar GNU Linux.
Software Libre
Son considerados programas libres aquellos cuales te dan la posibilidad de ejecutarlo, copiarlo, distribuirlo, estudiarlo, modificarlo y con todo estos tenemos la posibilidad de mejorar ese programa o utilizarlo como base para otro programa también libre que cubra todas nuestras necesidades sin tener que empezar a escribirlo desde cero, es decir, partiendo de otro que nos sea posible utilizar como pilar para el nuestro.
Las libertades del software serían:
- Libertad 0: Es la libertad para ejecutar un programa como se desee incluyenco cualquier propósito.
- Libertad 1: Esta es la libertad para estudiar el funcionamiento de un programa y además poder adaptarlo a cualquier necesidad teniendo disponible el código fuente.
- Libertad 2: Esta es la posibilidad de distribuir y redistribuir todas las copias necesarias todas las veces que se requiera.
- Libertad 3: Esta permite modificar el software para adaptarlo o mejorarlo (publicando estos cambios) logrando que toda la comunidad se beneficie y pueda hacer lo mismo con este software. El código fuente tiene que estar disponible y fácilmente accesible