GNU/Linux
# GNU/Linux

GNU/Linux (pronunciado oficialmente como ñu linux o también ge-ene-u linux en español), es una familia de sistemas operativos tipo Unix compuesto por software libre y de código abierto. GNU/Linux surge de las contribuciones de varios proyectos de software, entre los cuales destacan GNU (iniciado por Richard Stallman en 1983) y el núcleo Linux (iniciado por Linus Torvalds en 1991).

A pesar de que en la jerga cotidiana la mayoría de las personas usan el vocablo Linux para referirse a este sistema operativo, en realidad ese es solo el nombre del kernel o núcleo, que representa menos del 50 por ciento de todo el código del sistema. El sistema completo está formado también por una gran cantidad de componentes del Proyecto GNU junto a componentes de terceros, que van desde compiladores hasta entornos de escritorio. Cabe señalar que existen derivados que usan el núcleo Linux pero que no tienen componentes GNU, como por ejemplo el sistema operativo Android. También existen distribuciones de software GNU donde el núcleo Linux está ausente.

Los sistemas operativos GNU/Linux se encuentran normalmente en forma de compendios conocidos como distribuciones o distros. Entre las más populares se encuentran Debian, Ubuntu, Red Hat y SUSE. El propósito de estas distribuciones es ofrecer GNU/Linux como un producto final para instalar o probar en un ordenador, cubriendo una gama de necesidades, las cuales que van desde el uso cotidiano personal hasta aplicaciones muy específicas en ambientes especializados. Al sistema base las distros añaden su propia selección de aplicaciones y programas preinstalados (por ejemplo ambientes gráficos basados en X11, Gnome y KDE), o aplicaciones que pueden descargarse desde un repositorio para su posterior instalación.

Algunas de estas distribuciones son especialmente conocidas por su uso en servidores de Internet, en supercomputadoras, y en sistemas embebidos; mercados donde GNU/Linux tiene la mayor cuota de participación. El proyecto de ranking Top500.org informa que, desde 2017, las 500 supercomputadoras más potentes del mundo utilizan todas ellas alguna versión del sistema operativo GNU/Linux; y desde 2004 ya era el sistema dominante Diversas encuestas lo han posicionado constantemente como el sistema operativo más popular para servidores web. En aplicaciones embebidas es común encontrar Linux instalado en routers, smart TV y relojes inteligentes, sistemas de entretenimiento de automóviles, y grabadoras de video digital. Aunque con menor participación, el sistema GNU/Linux también se usa en el segmento de las computadoras de escritorio, portátiles, dispositivos móviles, computadoras de bolsillo, videoconsolas y otros.

GNU/Linux es uno de los ejemplos más prominentes de software libre: todo su código fuente puede ser utilizado, modificado y redistribuido libremente por cualquier persona, empresa o institución, bajo los términos de la Licencia Pública General de GNU, así como de otra serie de licencias de derechos de autor.

## Etimología

El acrónimo recursivo GNU, GNU's Not Unix (GNU no es Unix), proviene de las herramientas básicas de sistema operativo creadas por el proyecto GNU, iniciado por Richard Stallman en 1983 y mantenido por la Free Software foundation. El nombre Linux viene del núcleo Linux, inicialmente escrito por Linus Torvalds en 1991.

La contribución del proyecto GNU al sistema es la razón por la que existe controversia a la hora de utilizar Linux o GNU/Linux para referirse al sistema operativo formado por el sistema GNU y el núcleo Linux en su conjunto.

El sistema operativo Unix fue concebido e implementado en 1969 en los laboratorios Bell de AT&T en los Estados Unidos por Ken Thompson, Dennis Ritchie, Douglas McIlroy, y Joe Ossanna. Unix se escribió completamente en lenguaje ensamblador por primera vez en 1971, ya que era una práctica común en el momento. Más tarde, en 1973, en un enfoque innovador, se volvió a escribir en el lenguaje de programación C, por Dennis Ritchie (a excepción del núcleo y del sistema de entrada y salida de datos). La disponibilidad de un lenguaje de alto nivel para implementar Unix propició su portabilidad a diferentes plataformas de computación con mayor facilidad; ayudando así a su propagación.

Debido a un anterior caso antimonopolio que le prohibía entrar en el negocio de las computadoras, AT&T licenciaba gratuitamente el código fuente del sistema operativo Unix a cualquier persona que lo solicitara. Como resultado, Unix creció rápidamente y llegó a ser ampliamente adoptado por las instituciones académicas y empresas. En 1984, AT&T se despojó de Bell Labs; quedando libre de la obligación legal que requería la concesión de dichas licencias.

### Creación

El proyecto GNU, iniciado en 1983 por Richard Stallman, tiene el objetivo de crear un «sistema de software compatible con Unix, compuesto enteramente de software libre». El trabajo comenzó en el año 1984. Más tarde, en 1985, Stallman fundó la Free Software Foundation para financiar el desarrollo de GNU, y redactó la Licencia Pública General de GNU en 1989. A principios de la década de 1990, muchos de los programas que se requieren en un sistema operativo (como bibliotecas, compiladores, editores de texto, un shell Unix, y un sistema de ventanas) ya se habían conseguido desarrollar y estaban operativos en el proyecto GNU. Sin embargo, otros elementos, como los controladores de dispositivos y los daemons, estaban todavía en desarrollo e incompletos.

En retrospectiva, Linus Torvalds declaró que si el núcleo del proyecto GNU hubiera estado disponible en 1991, no se habría decidido a desarrollar su propio núcleo. Asimismo, también declaró que si el núcleo 386BSD (del cual NetBSD, OpenBSD y FreeBSD descienden), cuyo desarrollo es anterior al núcleo Linux y que no se liberó hasta 1992 por temas legales, hubiera estado disponible probablemente tampoco lo habría desarrollado.

En 1991, cuando Torvalds asistía a la Universidad de Helsinki y era usuario del sistema operativo MINIX, creado en 1987 por Andrew S. Tanenbaum, y de los programas provenientes del proyecto GNU, estaba muy interesado por el funcionamiento de los sistemas operativos. Frustrado por la concesión de licencias de uso que utilizaba MINIX, que en ese momento se limitaba a uso educativo, ese mismo año decidió comenzar a desarrollar su propio núcleo adoptando la estructura y código del núcleo de MINIX.

Hacia 1992, Torvalds había trabajado tanto en el desarrollo del núcleo Linux que llegó a superar a otros núcleos que se encontraban también en desarrollo en ese momento. Las aplicaciones GNU también se fueron desarrollando de modo que reemplazaron todos los componentes de MINIX, porque era más ventajoso utilizar el código libre del proyecto GNU con el nuevo sistema operativo. El código GNU con licencia bajo la GPL puede ser reutilizado en otros programas de computadora, siempre y cuando también se liberen bajo la misma licencia o una licencia compatible. Posteriormente Torvalds inició un cambio de su licencia original, la cual prohibía la redistribución comercial, y lo difundió bajo la licencia GPL. Los desarrolladores de ambas partes trabajaron para integrar componentes de GNU con el núcleo Linux, consiguiendo un sistema operativo completamente funcional.

## Diseño

Muchos desarrolladores de código abierto están de acuerdo en que el núcleo Linux no fue diseñado, sino que evolucionó a través de una forma de «selección natural». Torvalds considera que, aunque el diseño de Unix sirvió como andamiaje, «Linux creció con muchas mutaciones, y debido a que las mutaciones eran menos que aleatorias, eran más rápidas y más dirigidas que las partículas alfa en el ADN». Raymond considera que los aspectos revolucionarios de Linux son sociales, no técnicos, antes de que el software complejo de Linux fuera diseñado cuidadosamente por grupos pequeños, pero «Linux evolucionó de una manera completamente diferente. Desde casi el principio, fue pirateado de manera bastante casual por un gran número de voluntarios coordinando sólo a través de Internet. La calidad se mantuvo no por estándares rígidos o autocracia, sino por la estrategia ingenuamente simple de publicar cada semana y obtener comentarios de cientos de usuarios en unos días, creando una especie de selección darwiniana rápida sobre las mutaciones introducidas por los desarrolladores». Bryan Cantrill, un ingeniero de un sistema operativo de la competencia, está de acuerdo en que «Linux no se diseñó, evolucionó», pero considera que esto es una limitación, y propone que algunas características, especialmente las relacionadas con la seguridad, no se pueden convertir en, «este no es un sistema biológico al final del día, es un sistema de software». Un sistema basado en Linux es un sistema operativo modular tipo Unix, que deriva gran parte de su diseño básico de los principios establecidos en Unix durante las décadas de 1970 y 1980. Dicho sistema utiliza un núcleo monolítico, el núcleo Linux, que maneja el control de procesos, las redes, el acceso a los periféricos y los sistemas de archivos. Los controladores de dispositivos se integran directamente con el núcleo o se agregan como módulos que se cargan mientras el sistema está en ejecución.

El espacio de usuario de GNU es una parte clave de la mayoría de los sistemas basados en el núcleo Linux, siendo Android la excepción notable. La implementación del Proyecto de la biblioteca C funciona como un contenedor para las llamadas al sistema del núcleo Linux necesarias para la interfaz kernel-espacio de usuario. La cadena de herramientas es una amplia colección de herramientas de programación vitales para el desarrollo de Linux (incluidos los compiladores utilizados para construir el núcleo Linux así mismo), y las coreutils implementan muchas herramientas básicas de Unix. El proyecto también desarrolla Bash, un popular shell CLI. La interfaz gráfica de usuario (o GUI) que utilizan la mayoría de los sistemas Linux se basa en una implementación del sistema X Window. Más recientemente, la comunidad Linux busca avanzar a Wayland como el nuevo protocolo de servidor de visualización en lugar de X11. Muchos otros proyectos de software de código abierto contribuyen a los sistemas Linux.

Varias capas dentro de Linux, que también muestran la separación entre el espacio de usuario y el espacio del kernel :

| Modo de usuario | Aplicaciones de usuario | Por ejemplo, bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, etc. | Por ejemplo, bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, etc. | Por ejemplo, bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, etc. | Por ejemplo, bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, etc. | Por ejemplo, bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, etc. |
| - | - | - | - | - | - | - |
| Modo de usuario | Componentes del sistema de bajo nivel:: | Demonios del sistema: systemd, runit, logind, networkd, PulseAudio,... | Sistema de ventanas: X11, Wayland, SurfaceFlinger (Android) | Otras bibliotecas: GTK+, Qt, EFL, SDL, SFML, FLTK, GNUstep, etc. | Otras bibliotecas: GTK+, Qt, EFL, SDL, SFML, FLTK, GNUstep, etc. | Graficos: Mesa, AMD Catalyst,... |
| Modo de usuario | Biblioteca estándar de C | open, exec, sbrk, socket, fopen, calloc,... (hasta 2000 subrutinas) glibc pretende ser rápido, musl y uClibc sistemas embebidos, bionic escrito para Android, etc. Todos pretenden ser compatibles con POSIX/SUS. | open, exec, sbrk, socket, fopen, calloc,... (hasta 2000 subrutinas) glibc pretende ser rápido, musl y uClibc sistemas embebidos, bionic escrito para Android, etc. Todos pretenden ser compatibles con POSIX/SUS. | open, exec, sbrk, socket, fopen, calloc,... (hasta 2000 subrutinas) glibc pretende ser rápido, musl y uClibc sistemas embebidos, bionic escrito para Android, etc. Todos pretenden ser compatibles con POSIX/SUS. | open, exec, sbrk, socket, fopen, calloc,... (hasta 2000 subrutinas) glibc pretende ser rápido, musl y uClibc sistemas embebidos, bionic escrito para Android, etc. Todos pretenden ser compatibles con POSIX/SUS. | open, exec, sbrk, socket, fopen, calloc,... (hasta 2000 subrutinas) glibc pretende ser rápido, musl y uClibc sistemas embebidos, bionic escrito para Android, etc. Todos pretenden ser compatibles con POSIX/SUS. |
| Modo de Núcleo | Núcleo Linux | stat, splice, dup, read, open, ioctl, write, mmap, close, exit, etc. (alrededor de 380 llamadas al sistema) La interfaz de llamada al sistema del núcleo Linux (SCI, tiene como objetivo ser compatible con POSIX/SUS) | stat, splice, dup, read, open, ioctl, write, mmap, close, exit, etc. (alrededor de 380 llamadas al sistema) La interfaz de llamada al sistema del núcleo Linux (SCI, tiene como objetivo ser compatible con POSIX/SUS) | stat, splice, dup, read, open, ioctl, write, mmap, close, exit, etc. (alrededor de 380 llamadas al sistema) La interfaz de llamada al sistema del núcleo Linux (SCI, tiene como objetivo ser compatible con POSIX/SUS) | stat, splice, dup, read, open, ioctl, write, mmap, close, exit, etc. (alrededor de 380 llamadas al sistema) La interfaz de llamada al sistema del núcleo Linux (SCI, tiene como objetivo ser compatible con POSIX/SUS) | stat, splice, dup, read, open, ioctl, write, mmap, close, exit, etc. (alrededor de 380 llamadas al sistema) La interfaz de llamada al sistema del núcleo Linux (SCI, tiene como objetivo ser compatible con POSIX/SUS) |
| Modo de Núcleo | Núcleo Linux | Subsistema de planificador | Subsistema de IPC | Subsistema de gestión de memoria | Subsistema de archivos virtuales | Subsistema de red |
| Otros componentes: ALSA, DRI, evdev, LVM, device mapper, Linux Network Scheduler, Netfilter Linux Security Modules: SELinux, TOMOYO, AppArmor, Smack |||||
| Hardware (CPU, memoria principal, dispositivos de almacenamiento de datos, etc.) |||||||

Los componentes instalados de un sistema GNU/Linux incluyen los siguientes:

* Un cargador de arranque, por ejemplo GNU GRUB, LILO, SYSLINUX o Gummiboot. Este es un programa que carga el núcleo Linux en la memoria principal de la computadora, al ser ejecutado por la computadora cuando se enciende y después de que se realiza la inicialización del firmware.
* Un programa de inicio, como el sysvinit tradicional y el systemd más nuevo, OpenRC y Upstart. Este es el primer proceso lanzado por el núcleo Linux, y está en la raíz del árbol de procesos: en otros términos, todos los procesos se inician a través de init. Inicia procesos como los servicios del sistema y las solicitudes de inicio de sesión (ya sean gráficos o en modo terminal).
* Bibliotecas de software, que contienen código que pueden utilizar los procesos en ejecución. En los sistemas Linux que utilizan archivos ejecutables en formato ELF, el enlazador dinámico que gestiona el uso de bibliotecas dinámicas se conoce como ld-linux.so. Si el sistema está configurado para que el usuario compile el software por sí mismo, también se incluirán archivos de cabecera para describir la interfaz de las bibliotecas instaladas. Además de la biblioteca de software más utilizada en los sistemas Linux, la biblioteca GNU C (glibc), existen muchas otras bibliotecas, como SDL y Mesa.
   * La biblioteca estándar C es la biblioteca necesaria para ejecutar programas C en un sistema informático, siendo la biblioteca GNU C el estándar. Para los sistemas embebidos, se han desarrollado alternativas como musl, EGLIBC (una bifurcación glibc usada una vez por Debian) y uClibc (que fue diseñado para uClinux), aunque las dos últimas ya no se mantienen. Android usa su propia biblioteca C, Bionic.
* Comandos básicos de Unix, siendo GNU Core Utilities la implementación estándar. Existen alternativas para los sistemas embebidos, como el copyleft BusyBox y el Toybox con licencia BSD.
* Los kits de herramientas de widgets son las bibliotecas que se utilizan para crear interfaces gráficas de usuario (GUI) para aplicaciones de software. Hay numerosos kits de herramientas de widgets disponibles, incluidos GTK y Clutter desarrollados por el proyecto GNOME, Qt desarrollado por Qt Project y dirigido por Digia, y Enlightenment Foundation Libraries (EFL) desarrolladas principalmente por el equipo de Enlightenment.
* Un sistema de gestión de paquetes, con un formato de paquetes específico. Alternativamente, los paquetes se pueden compilar a partir de archivos tar binarios o fuente.
* Programas de interfaz de usuario como shells de comandos/órdenes o gestores de ventanas.

### Entorno gráfico

Los sistemas operativos GNU/Linux pueden funcionar tanto en entorno gráfico como en modo consola, ya que el entorno gráfico no va explícitamente unido al resto de programas de manejo del sistema y puede usarse de forma opcional. La consola es común en distribuciones para servidores, mientras que la interfaz gráfica está orientada al usuario final, tanto de hogar como empresarial. Asimismo, también existen los entornos de escritorio, que son un conjunto de programas formado por gestores de ventanas, iconos y muchas aplicaciones que facilitan la utilización de la computadora en modo gráfico. Los escritorios más populares en GNU/Linux son: GNOME, KDE Plasma, LXQt, Xfce, MATE y Cinnamon, aunque existen muchos más, también puede usarse con solo los gestores de ventanas, que son la columna vertebral de los entornos de escritorio, y los encargados de dibujar la interfaz de las aplicaciones y la composición.

* Escritorio GNOME 43
* Escritorio KDE Plasma 5.22
* Escritorio XFCE 4.18
* Entorno de escritorio de Deepin 23
* Escritorio Cinnamon 4.4.8
* Escritorio MATE 1.20
* Escritorio LXQt
* Escritorio Openbox

### Como sistema de programación

La colección de utilidades para la programación de GNU es con diferencia la familia de compiladores más utilizada en este sistema operativo. Cuenta con capacidad para compilar código fuente de lenguajes de programación como: C, C++, Java, Ada, Pascal, D y Fortran, entre muchos otros. Además, soporta diversas arquitecturas de procesador mediante la compilación cruzada, lo que hace que sea un entorno adecuado para desarrollos heterogéneos.

Existen varios entornos de desarrollo integrados disponibles para GNU/Linux, incluyendo Anjuta, KDevelop, Lazarus, Ultimate++, Code::Blocks, NetBeans IDE y Eclipse. También existen editores extensibles como Emacs o Vim. GNU/Linux también dispone de capacidades para lenguajes de guion (script), aparte de los clásicos lenguajes de programación de shell, o el de procesado de textos por patrones y expresiones regulares conocido como awk. La mayoría de las distribuciones tienen instalado Python, Perl, PHP y Ruby y en caso de no venir instalados estos lenguajes, es muy sencilla su instalación, generalmente a través de un repositorio común.

### Aplicaciones de usuario

Las aplicaciones para GNU/Linux se distribuyen en una variedad de formatos debido a la diversidad de métodos de manejo de paquetes de software, algunos más preparados para ser ejecutados que otros. Mientras que en sistemas como Windows o MacOS el usuario normalmente busca el software de terceros por su cuenta; las distribuciones GNU/Linux fueron pioneras en los repositorios de aplicaciones soportadas oficialmente por el sistema operativo, similar a las tiendas de aplicaciones modernas, donde el usuario acude a buscar el software que desea instalar. Las aplicaciones precompiladas existen mayoritariamente en los formatos.deb y .rpm, usados en Debian y Red Hat respectivamente y sus descendientes. También existe la posibilidad de compilar los programas en forma de recetas make a partir de su código fuente, y algunos desarrolladores de aplicaciones solo distribuyen su software de esta manera, transfiriendo la labor de crear un programa ejecutable a las distribuciones interesadas en empaquetar su aplicación, o al usuario por su propia cuenta, si lo desea.

Durante la primera época había pocas aplicaciones de código cerrado para GNU/Linux. Con el tiempo se fueron uniendo programas no libres al sistema GNU/Linux, entre ellos Adobe Reader, Adobe Flash, Opera, entre muchos otros. Algunos ejemplos de aplicaciones en GNU/Linux se pueden ver a continuación.

| Ofimática Libreoffice Calligra Suite WPS Office Softmaker Office Navegadores web Firefox • Chrome • Opera Epiphany • Midori • Brave Waterfox • Pale Moon • GNU IceCat Reproductores multimedia VLC Rhythmbox Amarok Audacious | Editores de imagen GIMP Krita Inkscape Editores de audio Audacity Editores de vídeo DaVinci Resolve Kdenlive Lightworks OpenShot Pitivi Plataforma de videojuegos Steam RetroArch | Entornos de desarrollo integrado Visual Studio Code Code::Blocks Sublime Text Geany Qt Creator Anjuta GNOME Builder Vim Emacs Virtualización VirtualBox QEMU GNOME Cajas Almacenamiento en la nube Dropbox MEGA Redes Sociales Red LinuxClick |
| - | - | - |

## Discos, particiones y sistemas de archivos

En el entorno de GNU/Linux, los dispositivos de bloques, como los discos duros, desempeñan un papel esencial en el almacenamiento de datos. Estos dispositivos se dividen en unidades lógicas más pequeñas llamadas particiones, lo que permite una organización y gestión eficiente del espacio de almacenamiento.

Cada partición se representa como un archivo en el sistema de archivos de GNU/Linux y se encuentra ubicada en el directorio /dev. Por ejemplo, el archivo /dev/sda representa el primer disco duro, mientras que /dev/sdb representa el segundo. Estos archivos de dispositivo de bloques se pueden acceder y manipular como cualquier otro archivo en el sistema.

Para asociar una partición a un sistema de archivos accesible, es necesario realizar un proceso de montaje. Durante el montaje, se conecta el sistema de archivos asociado a la partición a un punto específico en el árbol de directorios. Esto se puede hacer de forma explícita o mediante programación en el arranque del sistema.

La estructura y configuración de los dispositivos de bloques se puede examinar y modificar utilizando comandos como fdisk. Con fdisk, es posible examinar la estructura de un dispositivo conocido o realizar cambios en su estructura particionando el disco.

En el sistema de archivos de GNU/Linux, cada partición se puede formatear con un sistema de archivos específico, como ext4, XFS o NTFS. El sistema de archivos define la forma en que se organizan y almacenan los datos en la partición, permitiendo la creación y gestión de archivos y directorios.

La información sobre los dispositivos de almacenamiento disponibles en el sistema se puede obtener de diferentes maneras. Una de ellas es a través del archivo /etc/fstab, que indica los dispositivos preparados para el montaje durante el arranque del sistema o los dispositivos extraíbles que se pueden montar. Sin embargo, no es necesario que estén listados todos los dispositivos del sistema en este archivo, ya que es posible montarlos bajo demanda utilizando el comando mount o desmontarlos mediante el comando umount.

## Empresas que patrocinan su uso

Con la adopción por numerosas empresas fabricantes, un buen número de computadoras se venden con distribuciones preinstaladas, y GNU/Linux ha comenzado a tomar su lugar en el vasto mercado de las computadoras de escritorio.

Algunas de las empresas que colaboran en la difusión de este sistema operativo ya sea trabajando en el núcleo Linux, proporcionando soluciones de software o preinstalando el sistema operativo, son: Intel , Google, IBM, AMD, Sun Microsystems, Dell, Lenovo, Asus, Hewlett-Packard (HP), Silicon Graphics International (SGI), Renesas Technology, Fujitsu, Analog Devices, Freescale, VIA Technologies, Oracle, Novell y RedHat, entre otras.

El respaldo de compañías de software también está presente, ya que, entre otras aplicaciones, Nero, Java, Google Earth, Google Desktop, Adobe Reader, Adobe Flash, RealPlayer y Yahoo! Messenger están disponibles para GNU/Linux. Al haber software equivalente, es innecesario instalar los precisamente mencionados con anterioridad.

## Cuota de mercado

Numerosos estudios cuantitativos sobre software de código abierto están orientados a temas como la cuota de mercado y la fiabilidad, y ciertamente muchos de estos estudios examinan específicamente a GNU/Linux.

La medición "cuota de mercado" puede resultar inservible ya que es un concepto basado en ventas comerciales (unidades materiales vendidas). Por otro lado Linux es utilizado frecuentemente en servidores con acceso público desde Internet por lo que la cuota de mercado es extremadamente inferior a la cuota de uso. Baste notar, p.ej, que Facebook, Gmail, LinkedIn o Yahoo funcionan sobre servidores GNU/Linux, de tal forma que cuando se está accediendo desde un navegador ejecutándose en Windows/Mac, la aplicación real se está ejecutando en servidores Linux y los datos están almacenándose igualmente en dichos servidores.

Hay varias empresas que comercializan soluciones basadas en GNU/Linux: IBM, Red Hat (RHEL), Rxart, Canonical Ltd. (Ubuntu), así como miles de PYMES que ofrecen productos o servicios basados en esta tecnología.

Una aproximación estadística básica y estimada sobre número de usuarios de GNU/Linux a escala global lo ofrece el proyecto Linux Counter.

## Aplicaciones

### Supercomputadoras

Dentro del segmento de las supercomputadoras, a noviembre de 2017, el uso de este sistema ascendió al 100 % de las computadoras más potentes del mundo por su confiabilidad, seguridad y libertad para modificar el código. De acuerdo con TOP500.org, que lleva estadísticas sobre las 500 principales supercomputadoras del mundo, a noviembre de 2017: las 500 usaban una distribución basada en GNU/Linux.

GNU/Linux, además de liderar el mercado de servidores de Internet debido, entre otras cosas, a la gran cantidad de soluciones que tiene para este segmento, tiene un crecimiento progresivo en computadoras de escritorio y portátiles. Además, es el sistema base que se ha elegido para el proyecto OLPC: One Laptop Per Child.

El CERN (Organización Europea para la Investigación Nuclear) usa Linux, primero Scientific Linux y luego crearon CCentSO (CERN CentOS), una versión de CentOS específica para las aplicaciones del CERN.

Para saber más sobre las arquitecturas soportadas, lea el artículo "Portabilidad del núcleo Linux y arquitecturas soportadas".

## Implantación

### Administración Pública

Hay una serie de administraciones públicas que han mostrado su apoyo al software libre, sea migrando total o parcialmente sus servidores y sistemas de escritorio, sea subvencionándolo. Como ejemplos se tiene a Alemania, Argentina, Australia, Brasil, España, Chile, China, Cuba, México, Perú, Ecuador, El Salvador, Uruguay y Venezuela.

### Fuerzas Armadas

El sistema operativo del General Atomics MQ-1 Predator está basado en GNU/Linux, así como el del Boeing P-8 Poseidon.

## Denominación GNU/Linux

Parte de la comunidad y numerosos medios prefieren denominar a esta combinación como Linux, aunque GNU/Linux (con las variantes GNU con Linux y GNU+Linux) es la denominación defendida por el Proyecto GNU y la FSF junto con otros desarrolladores y usuarios para el conjunto que utiliza el sistema operativo Linux con las aplicaciones de sistema creadas por el proyecto GNU y por muchos otros proyectos de software.

Desde 1984, Richard Stallman y muchos voluntarios están intentando crear un sistema operativo libre con un funcionamiento similar a UNIX, recreando todos los componentes necesarios para tener un sistema operativo funcional. A comienzos de los años 1990, unos seis años desde el inicio del proyecto, GNU tenía muchas herramientas importantes listas, como editores de texto, compiladores, depuradores, intérpretes de comandos de órdenes etc., excepto por el componente central: el núcleo.

GNU tiene su propio proyecto de núcleo, llamado Hurd. Sin embargo, su desarrollo no continuó como se esperaba al aparecer el núcleo Linux. De esta forma, se completaron los requisitos mínimos y surgió el sistema operativo GNU que utilizaba el núcleo Linux.

El principal argumento de los defensores de la denominación GNU/Linux es resolver la posible confusión que se puede dar entre el núcleo (Linux) y gran parte de las herramientas básicas del resto del sistema operativo (GNU), y del sistema completo que usualmente se usa como combinación de GNU, Linux, y otros proyectos de software. Además, también se espera que con el uso del nombre GNU, se dé al proyecto GNU el reconocimiento por haber creado las herramientas de sistema imprescindibles para ser un sistema operativo compatible con UNIX, y se destaque la cualidad de estar compuesto solo por software libre. La primera distribución que incluyó el GNU en su nombre fue Yggdrasyl en 1992, donde aparecía como Linux/GNU/X. La FSF denominó a este sistema "Linux" hasta al menos junio de 1994 y recién a partir de enero de 1995 empezó a llamarlo "GNU/Linux" (también GNU+Linux y lignux, términos que han caído en desuso a instancias del propio Stallman).

| GNU | / | Linux |
| - | - | - |

Algunas distribuciones apoyan esta denominación, e incluyen GNU/Linux en sus nombres, como Debian GNU/Linux o GNU/LinEx, mientras que otras, como Slackware, Gentoo o Ubuntu, eligen denominarse basadas en Linux.

En ocasiones, el proyecto KDE ha utilizado una tercera denominación: GNU/Linux/X para enfatizar los tres proyectos sobre los que se apoya su entorno de escritorio.

## Distribuciones

Una distribución de Linux es una distribución de software basada en el núcleo Linux que incluye determinados paquetes de software para satisfacer las necesidades de un grupo específico de usuarios, dando así origen a ediciones domésticas, empresariales y para servidores. La distribución más famosa es Ubuntu, la cual ha sido una de las que han hecho famoso a Linux en el mundo y equiparable a otros sistemas como Windows o macOS, pero Ubuntu no existiría sin Debian, una de las más antiguas y grandes distribuciones de la cual se basó Canonical para desarrollar Ubuntu.

### Principales distribuciones GNU/Linux

| Distribución | Distribución | Descripción | Captura de pantalla |
| - | - | - | - |
| Logo | Nombre | Descripción | Captura de pantalla |
| | Debian | Es una distribución de GNU/Linux realizada por una comunidad de desarrolladores y usuarios. Esta asociación de personas unidas por la causa de crear un sistema operativo 100 % libre, y lo denominaron Proyecto Debian. Además se la considera una distribución madre, ya que a partir de Debian nacieron infinidad de distribuciones como Ubuntu, Linux Mint, SteamOS, Kali Linux, PureOs, Deepin, entre otras. El proyecto Debian también desarrolla sistemas GNU basados en otros núcleos aparte de Linux como (Debian GNU/Hurd, Debian GNU/NetBSD y Debian GNU/kFreeBSD). El modelo de desarrollo del proyecto es ajeno a motivos empresariales o comerciales, siendo llevado adelante por los propios usuarios, aunque cuenta con el apoyo de varias empresas en forma de infraestructuras. Debian no vende directamente su software, lo pone a disposición de cualquiera en Internet, aunque sí permite a personas o empresas distribuirlo comercialmente mientras se respete su licencia. Es la quinta distribución más popular según DistroWatch. | Debian 10 sobre GNOME |
| | Ubuntu | Distribución basada en Debian, desarrollada y mantenida por la empresa Canonical, siendo una de las más utilizadas. Se orienta a usos generales y se caracteriza por su compatibilidad de software y facilidad de uso equiparable a Mac OS X o Windows. Cuenta con varias versiones, entre las que destacan: Ubuntu Desktop, Kubuntu, Xubuntu, Lubuntu y Ubuntu Server. Cada seis meses se publica una nueva versión de Ubuntu. Esta recibe soporte por parte de Canonical durante nueve meses por medio de actualizaciones de seguridad, parches para bugs críticos y actualizaciones menores de programas. Las versiones LTS (Long Term Support), que se liberan cada dos años, reciben soporte durante cinco años en los sistemas de escritorio y de servidor. | Ubuntu 21.10 |
| | Fedora | Distribución para propósitos generales, que hace uso de la paqueteria RPM. Se caracteriza por ser estable y seguro, la cual es desarrollada y mantenida por la empresa Red Hat y una comunidad internacional de ingenieros, diseñadores gráficos y usuarios que informan de fallos y prueban nuevas tecnologías. Sus usos se orientan más al desarrollo de software y servidores. El proyecto no busca solo incluir software libre y de código abierto, sino ser el líder en ese ámbito tecnológico. Algo que hay que destacar es que los desarrolladores de Fedora prefieren hacer cambios en las fuentes originales en lugar de aplicar los parches específicos en su distribución, de esta forma se asegura que las actualizaciones estén disponibles para todas las variantes de GNU/Linux. Max Spevack en una entrevista afirmó que: "Hablar de Fedora es hablar del rápido progreso del software libre y de código abierto." De acuerdo a DistroWatch, Fedora es la octava distribución de GNU/Linux más popular, por detrás de MX Linux, Manjaro, Linux Mint, Ubuntu, Debian, elementary OS y SolusOS. | Fedora 32 GNOME |
| | OpenSUSE | Distribución auspiciada por SUSE Linux GmbH (una división independiente de The Attachmate Group), y AMD. Se orienta en ofrecer un sistema operativo estable, potente y administrable para usos realmente avanzados, pero con una gran facilidad para todo público en general. Usa la paqueteria RPM. | OpenSUSE 15.1 KDE |
| | Arch Linux | Es una distribución Linux para computadoras x86-64, orientada a usuarios avanzados. Se compone en su mayor parte de software libre y de código abierto (FOSS) y apoya la participación comunitaria. Su modelo de desarrollo es de tipo liberación continua (en Idioma inglés, "Rolling Release") y el enfoque de diseño persigue el Principio KISS A diferencia de las distribuciones populares basadas en el Núcleo Linux como Ubuntu o Linux Mint, Arch Linux se caracteriza por la gran necesidad de manualmente configurar el sistema operativo, comparándose con otras distribuciones como Slackware o Gentoo Linux. Para instalar y configurar este sistema operativo se necesita un grado de conocimiento superior al básico. No obstante, se puede mantener y administrar el sistema de forma sencilla. | Archlinux GNOME 3.2 |
| | Manjaro | Manjaro Linux está basado en Arch Linux, pero tiene su propio conjunto de repositorios. La distribución apunta a ser amigable con el usuario manteniendo las características de Arch, como por ejemplo el gestor de paquetes Pacman y la compatibilidad con AUR (Arch User's Repository). Manjaro utiliza tres repositorios: el unstable que contiene los más recientes paquetes de Arch, probablemente con un retraso de uno a dos días; el repositorio testing que agrega paquetes desde el repositorio unstable cada semana; y el repositorio stable que contiene solo paquetes que son considerados estables por el equipo de desarrollo, además de scripts que ayudan a que las actualizaciones conflictivas se configuren automáticamente sin necesidad de intervención del usuario, como en el caso de las otras ramas, o en Arch Linux. Esta distribución llegó al segundo puesto en DistroWatch, está enfocada en la facilidad de uso. Usa un modelo de desarrollo denominado rolling release o de Liberación continua. | Manjaro KDE 20 |
| | Gentoo | Gentoo Linux es una metadistribución basado en el modelo de Liberación continua ("Rolling Release" en Idioma inglés) destinada a usuarios que quieran control completo del sistema. Debido a esto, es compatible con una gran multitud de arquitecturas por el hecho que se tiene que compilar los paquetes (a partir del código fuente) que se deseen instalar a medida del usuario y máquina destino. Todo esto está permitido por Portage, un gestor de paquetes basado en Ports, la base de los gestores de paquetes en los sistemas operativos basados en BSD. | Gentoo Linux corriendo KDE Plasma |

### Totalmente libres

Son distribuciones seriamente comprometidas con el Software libre y se abstienen de incluir aplicaciones, manuales y documentación que no sean libres. Algunas de ellas son:

* Dragora GNU/Linux: Una distribución GNU/Linux independiente basada en la idea de simplicidad.
* Dyne:bolic: Una distribución de GNU/Linux con especial énfasis en la edición de audio y vídeo. Es una distribución «estática», que normalmente se ejecuta desde un CD autónomo. Debería utilizarse sin conexión a la red, ya que no recibe actualizaciones de seguridad.
* gNewSense: Una distribución de GNU/Linux basada en Debian, con el patrocinio de la FSF.
* Guix System: Una distribución GNU/Linux avanzada basada en GNU Guix, un gestor de paquetes puramente funcional para el sistema GNU.
* Hyperbola GNU/Linux-libre: Una distribución enfocada en la simplicidad y con soporte a largo plazo, basada en Arch GNU/Linux.
* Parabola GNU/Linux: Una distribución basada en Arch que prioriza la gestión sencilla del sistema y de los paquetes.
* PureOS: Una distribución de GNU basada en Debian enfocada en la privacidad, la seguridad y la comodidad.
* Trisquel: Una distribución de GNU/Linux basada en Ubuntu y destinada a las pequeñas empresas, usuarios domésticos y centros educativos.
* UTUTO S: Una distribución de GNU/Linux 100 % libre. Fue el primer sistema GNU/Linux completamente libre reconocido por el Proyecto GNU.

### Ligeras

Distribuciones para dispositivos pequeños con recursos limitados, como por ejemplo un router inalámbrico. Estas distribuciones no son autónomas sino que deben poder ser desarrolladas y compiladas sobre una de las distribuciones libres completas de la lista anterior, posiblemente con el auxilio de herramientas de desarrollo libres distribuidas junto a la misma.

* libreCMC: Es una distribución GNU/Linux embebida para dispositivos con recursos muy limitados. Aunque está pensada principalmente para routers, ofrece soporte para una amplia gama de dispositivos y situaciones de uso. En 2015, LibreWRT se fusionó con libreCMC.
* ProteanOS: Es una nueva distribución, pequeña y veloz, para dispositivos embebidos. Posee una funcionalidad de configuración que permite configurar los paquetes binarios en el momento de la compilación o en tiempo de ejecución, según los diferentes tipos de hardware y usos.

### Otras distribuciones

* Elementary OS 7.0 Horus
* Deepin 15.4
* KDE neon
* SolusOS 4.1
* Xubuntu 20.04
* MX Linux 19
* Linux Mint 20.3
* Zorin OS 16
