Si estás pensando en dar tus primeros pasos en el mundo Linux te aviso desde ya que vas a encontrar gente que se fuma tremendos porros.
En la comunidad alrededor de Linux vas a encontrar gente muy toxica que cansará tu alma. No tardará en aparecer alguien diciendo aquello de «No se dice Linux, se dice GNU+Linux» y tendrás amablemente que invitarle a ir a cagar.
- Quiero aprender a usar Linux – Tú
- -Se dice GNU+Linux – Cansa almas
- ¿Puedes irte a cagar? – Tú
- Si – Cansa almas
- Gracias – Tú
Vida fuera de Windows, aparta los juguetes que vienen los mayores
Existen muchos sistemas operativos de andar por casa y otros para uso profesional. Lo mismo te suena Windows porque es un «monopolio de facto» pero existe vida fuera de ese sistema operativo privativo y es muy divertida.
Cuando enciendes un ordenador (por ejemplo un sobremesa, un portátil, un smartphone, una tablet, una smartTV, …) que tenga un sistema operativo instalado este se cargará en la memoria y comenzará a controlar que el ratón, teclado, monitor, altavoces, …. estén conectados y funcionen.
Luego controlará la ejecución de los programas que empieces a utilizar para evitar que fallen y que hagan un uso optimizado de la memoria y los recursos.
Siempre se bromea con lo de que Windows no es un sistema operativo y que es más bien un Market. Se dice medio en broma y medio en serio que más que gestionar los recursos del sistema se los come ya que sus últimas versiones de escritorio precisan de unos recursos mínimos para su funcionamiento bastante elevados.
Al encender el ordenador con Windows instalado es posible que no veas nada salvo un icono que se mueve y luego te pide login mientras que Linux posiblemente arrancará mostrando sus tripas. Irás viendo como va detectando los diferentes sistemas de ficheros, montando estos, levantando la red, etc …
Pero no hablemos más de Windows por favor y dejemos que quien quiera usarlo lo use.
No te creas mejor por usar Linux cabrón/a, se humilde y no seas un/a gilipollas que juzga a las personas por el sistema operativo que usan.
Yo conozco a un amigo de un amigo de un amigo que tiene un conocido que usa Windows y no pasa nada, son también personas.
Linux NO es un Sistema Operativo. Distros y esas cosas
Linux en realidad no es un sistema operativo, es una parte de este conocida como «El Kernel». Cuando nos dicen lo de «No se dice Linux, se dice GNU+Linux» se refieren a que realmente el Kernel Linux no es un sistema operativo por si mismo.
No pasa nada porque digas Linux ya que al final de cuentas el kernel es el elemento principal en este tipo de sistemas operativos.
Históricamente se ha unido el kernel con herramientas del proyecto GNU para crear un sistema operativo funcional. Por ejemplo para compilarlo se ha usado durante muchos años el compilador GCC y muchas otras herramientas.
Llaman por tanto al conjunto de herramientas y programas + el Kernel: distribución de Linux o distribución de GNU+Linux
Al ser todo software libre puedes crearte tu propia distro (diminutivo de distribución) uniendo el kernel junto a otras herramientas y creando un sistema operativo funcional acorde a tus propósitos.
Podrías querer querer usar Linux para gestionar un firewall, para crear un router, para servir webs, etc … y por tanto crearte tu propia distro o usar la de alguien que ya ha creado y mantiene una.
Existen empresas y colectivos de todo tipo que gestionan y mantienen sus propias distros. De eso hablaremos luego con más detalle pero por ejemplo algunas de las más populares son: Debian, Ubuntu, Red Hat, SuSe, …
* Nota: Lo que NO es tampoco Linux es un buscador por más que lo digan tertulianos en televisión: www.youtube.com/watch?v=g–veCrEW5Y
Algunas funciones del Kernel
Se podrían resumir en cuatro tareas las funciones del Kernel Linux:
- Gestión de la memoria: supervisa cuánta memoria se utiliza para almacenar qué tipo de elementos, así como el lugar en que los guarda.
- Gestión de los procesos: determina qué procesos pueden usar la unidad central de procesamiento (CPU), cuándo y durante cuánto tiempo.
- Controladores de dispositivos: actúa como mediador o intérprete entre el hardware y los procesos.
- Seguridad y llamadas al sistema: recibe solicitudes de servicio por parte de los procesos.
Elementos para crear un Sistema operativo basado en el Kernel Linux
Lo que llamamos distribuciones de Linux o distros constan realmente de estos elementos:
– Un Kernel Linux que se puede obtener desde kernel.org/ .
– Las Core Unix Tools. Elementos del proyecto GNU como por ejemplo las Coretuils (Core Utilities). Herramientas para gestionar discos, moverse por sisteamas de archivos, … Por ejemplo algunas de las más conocidas: touch, ls, ln, mkdir, cat, base64, tail, tr, wc, chown, chmod, …
– Software Adicional. No solamente de las utilidades básicas vive el hombre, también en una distro es buena cosa añadir software adicional. Por ejemplo lo mismo te interesa en tu distro añadir un escritorio gráfico como Gnome, Plasma KDE, etc …
– Scripts de arranque. Cada distro puede arrancar como se quiera y como se indique. Puedes arrancar haciendo muchas comprobaciones y en el orden que quieras dependiendo de tus intereses. Cada distro suele arrancar por tanto de forma diferente y tienen sus propios scripts para ello. Tengamos en cuenta que una distro de Linux puede tener como objetivo funcionar en un router, un smartphone o en tu equipo de sobremesa.
– Un instalador. Algunas distros vienen con un instalador (la mayoría salvo algunas raras como LFS que el instalador es un libro). El instalador ayuda a poder configurar nuestros usuarios, el hostname, las redes, la partición de discos, etc …. y suele usarse normalmente para instalar el sistema operativo (nuestra distribución).
Distribuciones más comunes
SuSe y Red Hat son distribuciones comerciales mientras que Debian, Gentoo, Arch, Slackware, Ubuntu, openSuSe son
– Debian suele tener un ciclo de lanzamiento de nueva versión de unos 2 años. Es la distro universal madre de muchas otras como Ubuntu y Mint.
– Ubuntu dicen que es para quienes no supieron instalar Debian. No es realmente así actualmente. Es una distro basada en paquetes deb que tiene su versión para Servers también.
– Arch es una distro rolling release no recomendable para novatos/as.
– Slackware es una distro que lleva muchos años pero que tiene un ciclo de lanzamientos irregular. No usa ni RPM ni DEB y si tarbarlls.
– Gentoo – Esto es para expertos/as también a los que les gusta compilarlo todo.
– …
Las distros actualmente suelen tener versión para al menos arquitecturas x86_64. Hasta 2007 (más o menos) era normal encontrar que las versiones sacaban release para x86 pero a partir de entonces comenzó a ser más usual x86_64.
Es posible también encontrar algunas distros disponibles para arquitecturas como PowerPC, SPARC, ARM, …
Existen muchas distros diferentes y variadas. En la web distrowatch.com/ pueden verse muchas.
Interfaces de usuario: Modo texto y Modo Gráfico
Para interactuar con el sistema operativo hemos de hacerlo mediante otro software que nos permita lanzar ordenes. Esto puede hacerse mediante una interface modo texto mediante una línea de comandos o de forma gráfica a golpe de click.
Si buscamos aprovechar bien los recursos de la máquina que tenemos (CPU, RAM, …) lo mismo nos interesa NO instalar software para gestionar de forma gráfica (un escritorio por ejemplo como GNOME, KDE Plasma, …). Nos puede por tanto interesar tener los mínimos programas instalados y manejarlo todo mediante línea de comandos en modo texto.
Si vamos a interactuar con una interface gráfica con el sistema lo mismo si que queremos tener un escritorio y poder hacer las cosas de forma más visual.
No eres mejor por usar una cosa u otra, son simplemente formas que has de conocer (ambas) para poder moverte en estos sistemas Linux.
Esto no es Windows que te aprendes que pinchando en tal sitio se activa noseque o se desactiva. En Linux vas a tener que manejarte en la línea de comandos y saber al menos manejar un par de editores de texto plano.
No te preocupes porque en realidad todo esto mola mucho.
Ciclos de lanzamientos
La forma de lanzar una nueva versión es diferente dependiendo de la distro que usemos. Algunas sacan nueva versión cada 6 meses, otra cada 2 años, otras sin definir una fecha, … y otras lanzan versiones cada muy poco tiempo viviendo en lo que se llama una «rolling release».
Arch y Gentoo tienen rolling releases mientras que por ejemplo Debian no. Debian saca una versión estable cada x tiempo y trabaja para actualizar esos paquetes si salen bugs.
Debian suele considerarse una buena opción para servidores porque es muy conservadora en cuanto al software. No vas a la última versión pero si que el software que instalas puedes ir parcheándolo años . Debian por ejemplo tiene diferentes ramas de todos modos y puedes a nivel usuario de Escritorio no usar la rama estable y si SID por ejemplo.
No es mejor un sistema u otro en base a si tiene una actualización continua o standard de versiones pero algunas personas opinan que el modelo rolling (actualización continua) puede ser mejor puesto que la subida de versiones es gradual.
Esto de todos modos es algo ya a decidir dentro de un proyecto porque lo mismo no es interesante para tu proyecto ese modelo.
Linux en sistemas embebidos
Es posible compilar el kernel de forma que ocupe muy poco y por tanto ser perfecto para sistemas empotrados. Por ejemplo un smartphone, un router, etc …
Estas distribuciones de linux contienen un kernel para sistemas embebidos y luego suelen llevar software también que ocupe muy poco y consuma muy pocos recursos como busybox.
Compilar el kernel no es algo que en esta serie de posts veamos y no pasa nada :).
Linux viviendo en las nubes
La primera mención a «cloud» se encuentra en la documentación original de la red ARPANET en 1977 (la precursora de lo que hoy llamamos INTERNET). En esa documentación ya usaban la nube como símbolo para representar la red conectada geográficamente dispersa.
Linux es dios en los servidores hasta en las nube de Micro$oft Azure, se instala en todos lados y puedes encontrarlo en una lavadora, un cepillo de dientes o incluso en un tejón muerto si es necesario: strangehorizons.com/non-fiction/articles/installing-linux-on-a-dead-badger-users-notes/
Tanto en las nubes de Amazon como las de Micro$oft como las de Oracle y las de Google Linux es el rey. Eso es así compadre.