Una distribución Linux [a] (a menudo abreviada como distro ) es un sistema operativo hecho a partir de una colección de software que incluye el núcleo Linux y a menudo un sistema de gestión de paquetes . A menudo se obtienen desde el sitio web de cada distribución, que están disponibles para una amplia variedad de sistemas que van desde dispositivos integrados (por ejemplo, OpenWrt ) y computadoras personales (por ejemplo, Linux Mint ) hasta servidores (por ejemplo, Red Hat Enterprise Linux ) y supercomputadoras potentes (por ejemplo, Rocks Cluster Distribution ).
Una distribución Linux típica comprende un núcleo Linux, un sistema de inicio (como systemd , OpenRC o runit ), herramientas y bibliotecas GNU , documentación y muchos otros tipos de software (como utilidades de configuración de red IP y el programa de configuración TTY getty , entre otros). Opcionalmente, para proporcionar una experiencia de escritorio (más comúnmente los controladores gráficos del espacio de usuario Mesa ), un servidor de pantalla (el más común es X.org Server o, más recientemente, un compositor Wayland como Sway , KWin de KDE o Mutter de GNOME ), un entorno de escritorio (más comúnmente GNOME , KDE Plasma o Xfce ), un servidor de sonido (generalmente PulseAudio o más recientemente PipeWire ) y otros programas relacionados que pueden incluirse con la distribución o que pueden ser instalados por el usuario.
La mayor parte del software incluido es software libre y de código abierto disponible tanto en forma de binarios compilados como en forma de código fuente , lo que permite realizar modificaciones al software original. Por lo general, las distribuciones de Linux incluyen opcionalmente algún software propietario que puede no estar disponible en forma de código fuente, como los blobs binarios necesarios para algunos controladores de dispositivos . [1]
Una distribución Linux también puede describirse como un conjunto particular de aplicaciones y software de utilidades (varias herramientas y bibliotecas GNU, por ejemplo), empaquetado con el núcleo Linux de tal manera que sus capacidades satisfacen las necesidades de muchos usuarios. [2] El software generalmente se adapta a la distribución y luego los mantenedores de la distribución lo combinan en paquetes de software . Los paquetes de software están disponibles en línea en repositorios , que son ubicaciones de almacenamiento generalmente distribuidas por todo el mundo. [3] [4] Además de los componentes "pegamento", como los instaladores de distribución (por ejemplo, Debian-Installer y Anaconda ) y los sistemas de administración de paquetes, muy pocos paquetes son realmente escritos por los mantenedores de una distribución.
Existen casi mil distribuciones de Linux . [5] [6] Debido a la enorme disponibilidad de software, las distribuciones han adoptado una amplia variedad de formas, incluidas aquellas adecuadas para su uso en computadoras de escritorio , servidores, portátiles, netbooks , teléfonos móviles y tabletas, [7] [8] así como en entornos mínimos típicamente para su uso en sistemas integrados. [9] [10] Existen distribuciones respaldadas comercialmente, como Fedora Linux ( Red Hat ), openSUSE ( SUSE ) y Ubuntu ( Canonical Ltd. ); y distribuciones completamente impulsadas por la comunidad, como Debian , Slackware , Gentoo y Arch Linux . La mayoría de las distribuciones vienen listas para usar y precompiladas para un conjunto de instrucciones específico , mientras que algunas (como Gentoo ) se distribuyen principalmente en forma de código fuente y deben compilarse localmente para su instalación. [11]
Linus Torvalds desarrolló el núcleo Linux y distribuyó su primera versión, la 0.01, en 1991. Linux se distribuyó inicialmente sólo como código fuente y, más tarde, como un par de imágenes de disquete descargables : una de arranque que contenía el propio núcleo Linux y la otra con un conjunto de utilidades y herramientas GNU para configurar un sistema de archivos. Dado que el procedimiento de instalación era complicado, especialmente ante la creciente cantidad de software disponible, surgieron distribuciones para simplificarlo. [13]
Las primeras distribuciones incluyeron:
Los dos proyectos de distribución más antiguos y aún activos comenzaron en 1993. La distribución SLS no estaba bien mantenida, por lo que en julio de 1993 Patrick Volkerding lanzó una nueva distribución basada en SLS, Slackware . [24] También insatisfecho con SLS, Ian Murdock se propuso crear una distribución libre fundando Debian en agosto de 1993, con la primera BETA pública lanzada en enero de 1994 y la primera versión estable en junio de 1996. [25] [26]
Los usuarios se sintieron atraídos por las distribuciones Linux como alternativas a los sistemas operativos DOS y Microsoft Windows en las computadoras compatibles con IBM PC , Mac OS en Apple Macintosh y versiones propietarias de Unix . La mayoría de los primeros usuarios estaban familiarizados con Unix por su trabajo o escuela. Adoptaron las distribuciones Linux por su bajo (o nulo) costo y la disponibilidad del código fuente para la mayoría o la totalidad de su software.
A partir de 2017, Linux se ha vuelto más popular en los mercados de servidores y dispositivos integrados que en el mercado de escritorio. Se utiliza en más del 50 % de los servidores web; [27] su participación actual en el mercado de sistemas operativos es de aproximadamente el 1,8 %. [28]
Muchas distribuciones de Linux proporcionan un sistema de instalación similar al que ofrecen otros sistemas operativos modernos. Otras distribuciones, incluida Gentoo Linux , proporcionan únicamente los binarios de un núcleo básico, herramientas de compilación y un instalador; el instalador compila todo el software solicitado para la arquitectura específica de la computadora del usuario, utilizando estas herramientas y el código fuente del software.
Las distribuciones normalmente se dividen en paquetes . Cada paquete contiene una aplicación o servicio específico. Algunos ejemplos de paquetes son una biblioteca para manejar el formato de imagen PNG , una colección de fuentes y un navegador web .
El paquete se proporciona normalmente como código compilado, y la instalación y eliminación de paquetes se gestionan mediante un sistema de gestión de paquetes (PMS) en lugar de un simple archivador de archivos . Cada paquete destinado a un PMS de este tipo contiene metainformación, como su descripción, número de versión y sus dependencias (otros paquetes que necesita para ejecutarse). El sistema de gestión de paquetes evalúa esta metainformación para permitir búsquedas de paquetes, realizar actualizaciones automáticas a versiones más nuevas y comprobar que todas las dependencias de un paquete estén presentes (y notificar al usuario que las instale o instalarlas automáticamente). El paquete también se puede proporcionar como código fuente para compilarlo en el sistema.
La mayoría de las distribuciones instalan paquetes, incluidos el núcleo y otros componentes básicos del sistema operativo, en una configuración predeterminada. Algunas de ellas ahora requieren o permiten realizar ajustes de configuración en el momento de la primera instalación. Esto hace que la instalación sea menos intimidante, en particular para los nuevos usuarios, pero no siempre es aceptable. Para requisitos específicos, gran parte del software debe configurarse cuidadosamente para que sea útil, funcione correctamente con otro software o sea seguro, y los administradores locales a menudo se ven obligados a dedicar tiempo a revisarlo y reconfigurarlo.
Algunas distribuciones (pero no todas) hacen esfuerzos considerables para ajustar y personalizar el software que incluyen, y algunas proporcionan herramientas de configuración para ayudar a los usuarios a hacerlo.
Al obtener e instalar todo lo que normalmente se proporciona en una distribución, un administrador puede crear una instalación "sin distribución". Es posible construir estos sistemas desde cero, evitando por completo las distribuciones. Se necesita una forma de generar los primeros binarios hasta que el sistema sea autoalojado . Esto se puede hacer mediante la compilación en otro sistema capaz de construir binarios para el objetivo deseado (posiblemente mediante compilación cruzada ). Por ejemplo, consulte Linux From Scratch .
En términos generales, las distribuciones de Linux pueden ser:
La diversidad de distribuciones de Linux se debe a variaciones técnicas, organizativas y filosóficas entre proveedores y usuarios. La licencia permisiva del software libre significa que los usuarios con suficiente conocimiento e interés pueden personalizar cualquier distribución existente o diseñar una que se adapte a sus propias necesidades.
Las distribuciones de Linux que se actualizan continuamente se mantienen actualizadas mediante actualizaciones pequeñas y frecuentes. Los desarrolladores de software y los usuarios a veces utilizan los términos "parcialmente actualizado" y "parcialmente actualizado" (junto con los sinónimos "semi actualizado" y "medio actualizado" ), "completamente actualizado" , "realmente actualizado" y "opcionalmente actualizado" . [29] [30] [31] [32] [33] [34]
Los repositorios de distribuciones continuas suelen contener versiones de software muy recientes , a menudo las últimas versiones estables disponibles. [31] Tienen pseudo-versiones y medios de instalación que son simplemente instantáneas de la distribución en el momento de la publicación de la imagen de instalación. Por lo general, un sistema operativo de versión continua instalado desde un medio de instalación más antiguo se puede actualizar por completo después de su instalación. [31] [35]
Dependiendo del caso de uso, pueden existir ventajas y desventajas tanto para las metodologías de desarrollo de software de lanzamiento estándar como para las de lanzamiento continuo . [36]
En términos del proceso de desarrollo de software , las versiones estándar requieren un esfuerzo de desarrollo significativo para mantener las versiones antiguas actualizadas mediante la propagación de correcciones de errores a la rama más nueva, en lugar de centrarse en la rama de desarrollo más nueva . Además, a diferencia de las versiones continuas, las versiones estándar requieren que se desarrolle y mantenga más de una rama de código, lo que aumenta la carga de trabajo de los desarrolladores y mantenedores de software.
Por otra parte, las características del software y la planificación de la tecnología son más fáciles en las versiones estándar debido a una mejor comprensión de las características futuras en las siguientes versiones. Los ciclos de lanzamiento de software también se pueden sincronizar con los de los principales proyectos de software anteriores , como los entornos de escritorio .
En cuanto a la experiencia del usuario , las versiones estándar suelen considerarse más estables y libres de errores, ya que los conflictos de software se pueden abordar más fácilmente y la pila de software se puede probar y evaluar más exhaustivamente durante el ciclo de desarrollo de software. [36] [37] Por este motivo, tienden a ser la opción preferida en entornos empresariales y tareas de misión crítica. [36]
Sin embargo, las versiones continuas ofrecen software más actualizado que también puede proporcionar mayor estabilidad y menos errores de software junto con los beneficios adicionales de nuevas características, mayor funcionalidad, velocidades de ejecución más rápidas y seguridad mejorada del sistema y la aplicación . Con respecto a la seguridad del software , el modelo de versión continua puede tener ventajas en las actualizaciones de seguridad oportunas, la reparación de errores y vulnerabilidades de seguridad del sistema o la aplicación , que las versiones estándar pueden tener que esperar hasta la próxima versión o parchear en varias versiones. En una distribución de versión continua, donde el usuario ha elegido ejecutarla como un sistema altamente dinámico, el flujo constante de paquetes de software puede introducir nuevas vulnerabilidades no deseadas. [36]
Una distribución "en vivo" es una distribución de Linux que se puede iniciar desde un medio de almacenamiento extraíble, como discos ópticos o unidades flash USB , en lugar de instalarse y arrancarse desde un disco duro . La portabilidad de las distribuciones sin instalación las hace ventajosas para aplicaciones como demostraciones, préstamo de la computadora de otra persona, operaciones de rescate o como medio de instalación para una distribución estándar.
Cuando el sistema operativo se inicia desde un medio de sólo lectura, como un CD o DVD, cualquier dato del usuario que deba conservarse entre sesiones no se puede almacenar en el dispositivo de arranque, sino que se debe escribir en otro dispositivo de almacenamiento, como una unidad flash USB o una unidad de disco duro. [38]
Muchas distribuciones Linux proporcionan una forma "viva" además de su forma convencional, que es una imagen basada en red o en un medio extraíble destinada a ser utilizada únicamente para la instalación; tales distribuciones incluyen SUSE , Ubuntu, Linux Mint , MEPIS y Fedora Linux . Algunas distribuciones, incluidas Knoppix , Puppy Linux , Devil-Linux, SuperGamer , SliTaz GNU/Linux y dyne:bolic , están diseñadas principalmente para su uso en vivo. Además, algunas distribuciones mínimas se pueden ejecutar directamente desde tan poco espacio como un disquete sin la necesidad de cambiar el contenido de la unidad de disco duro del sistema. [39]
El sitio web DistroWatch enumera muchas distribuciones de Linux y muestra algunas de las que tienen más tráfico web en el sitio. La Fundación Wikimedia publicó un análisis de los agentes de usuario de los navegadores de los visitantes de los sitios web de WMF hasta 2015, que incluye detalles de los identificadores de sistemas operativos más populares, incluidas algunas distribuciones de Linux. [40] A continuación se enumeran muchas de las distribuciones populares.
Varios sistemas operativos incluyen el kernel de Linux, pero tienen un espacio de usuario que difiere significativamente del de las distribuciones de Linux principales:
Si estos sistemas operativos cuentan como una "distribución Linux" es un tema controvertido. Utilizan el núcleo Linux, por lo que la Linux Foundation [41] y Chris DiBona [42] , ex jefe de código abierto de Google, coinciden en que Android es una distribución Linux; otros, como el ingeniero de Google Patrick Brady, no están de acuerdo y señalan la falta de soporte para muchas herramientas GNU en Android, incluida glibc [43] .
Otros sistemas operativos basados en el kernel de Linux incluyen Tizen , Mer / Sailfish OS , KaiOS y el firmware Kindle de Amazon .
Las distribuciones ligeras de Linux son aquellas que se diseñaron teniendo en cuenta la compatibilidad con hardware antiguo, lo que permite que el hardware antiguo siga utilizándose de forma productiva o, para lograr la máxima velocidad posible en hardware más nuevo, dejando más recursos disponibles para que las utilicen las aplicaciones. Algunos ejemplos son Tiny Core Linux , Puppy Linux y Slitaz .
Otras distribuciones se dirigen a nichos específicos, como:
El Free Standards Group es una organización formada por los principales proveedores de software y hardware que tiene como objetivo mejorar la interoperabilidad entre diferentes distribuciones. Entre sus estándares propuestos se encuentran la Linux Standard Base , que define una ABI y un sistema de empaquetado comunes para Linux, y el Filesystem Hierarchy Standard , que recomienda un cuadro de nombres de archivos estándar, en particular los nombres de directorio básicos que se encuentran en la raíz del árbol de cualquier sistema de archivos de Linux. Sin embargo, estos estándares tienen un uso limitado, incluso entre las distribuciones desarrolladas por miembros de la organización. [ cita requerida ]
La diversidad de distribuciones de Linux implica que no todo el software funciona en todas ellas, dependiendo de qué bibliotecas y otros atributos del sistema se requieran. El software empaquetado y los repositorios de software suelen ser específicos de una distribución en particular, aunque a veces es posible la instalación cruzada en distribuciones estrechamente relacionadas. [ cita requerida ]
Existen varias formas de instalar una distribución Linux. El método más común para instalar Linux es arrancar desde una memoria USB activa , que se puede crear utilizando una aplicación de escritura de imágenes USB y la imagen ISO, que se puede descargar desde varios sitios web de distribuciones Linux. También se pueden utilizar como "medios de instalación" discos DVD, discos CD, instalaciones de red e incluso otros discos duros. [45]
En los años 90, las distribuciones Linux se instalaban utilizando conjuntos de disquetes , pero esta práctica ha sido abandonada por todas las distribuciones principales. En los años 2000, muchas distribuciones ofrecían conjuntos de CD y DVD con los paquetes vitales en el primer disco y los paquetes menos importantes en los siguientes. Algunas distribuciones, como Debian, también permitían la instalación a través de una red después de arrancar desde un conjunto de disquetes o un CD con solo una pequeña cantidad de datos. [46]
Los usuarios nuevos suelen empezar por particionar el disco duro para conservar el sistema operativo instalado anteriormente. De esta forma, la distribución Linux se puede instalar en su propia partición independiente sin afectar los datos guardados previamente. [47]
En una configuración de Live CD, el equipo arranca el sistema operativo completo desde el CD sin instalarlo primero en el disco duro del equipo. Muchas distribuciones tienen un instalador de Live CD , donde el equipo arranca el sistema operativo desde el disco y luego se puede instalar en el disco duro del equipo, lo que proporciona una transición sin problemas desde el SO que se ejecuta desde el CD al SO que se ejecuta desde el disco duro.
Tanto los servidores como las computadoras personales que vienen con Linux ya instalado están disponibles en proveedores como Hewlett-Packard , Dell y System76 .
En los dispositivos integrados, Linux generalmente está incluido en el firmware del dispositivo y puede o no ser accesible para el consumidor.
Anaconda , uno de los instaladores más populares, es utilizado por Red Hat Enterprise Linux , Fedora (que utiliza Fedora Media Writer ) y otras distribuciones para simplificar el proceso de instalación. Debian, Ubuntu y muchas otras utilizan Debian-Installer .
El proceso de cambiar constantemente de distribuciones se conoce a menudo como "saltar de una distribución a otra". [48] [49] El software de máquinas virtuales como VirtualBox y VMware Workstation virtualizan el hardware, lo que permite a los usuarios probar medios en vivo en una máquina virtual sin necesidad de instalar el sistema real. Algunos sitios web como DistroWatch ofrecen listas de distribuciones y enlaces a capturas de pantalla de sistemas operativos como una forma de obtener una primera impresión de las distintas distribuciones.
Algunas distribuciones permiten al usuario instalar Linux sobre su sistema actual, como WinLinux o coLinux . Linux se instala en la partición del disco duro de Windows y se puede iniciar desde dentro de Windows.
Las máquinas virtuales (como VirtualBox o VMware ) también permiten ejecutar Linux dentro de otro sistema operativo. El software de la máquina virtual simula un ordenador independiente en el que se instala el sistema Linux. Después de la instalación, la máquina virtual se puede iniciar como si fuera un ordenador independiente.
También hay varias herramientas disponibles para realizar instalaciones completas de arranque dual desde plataformas existentes sin un CD, entre las que se destacan:
Algunos productos de software propietario específicos no están disponibles en ningún formato para Linux. A partir de septiembre de 2015, el servicio de juegos Steam tiene más de 1500 juegos disponibles en Linux, en comparación con 2323 juegos para Mac y 6500 juegos para Windows. [51] [52] Los proyectos de emulación y traducción de API como Wine y CrossOver hacen posible ejecutar software no basado en Linux en sistemas Linux, ya sea emulando un sistema operativo propietario o traduciendo llamadas API propietarias (por ejemplo, llamadas a las API Win32 o DirectX de Microsoft ) en llamadas API nativas de Linux. Una máquina virtual también se puede utilizar para ejecutar un sistema operativo propietario (como Microsoft Windows) sobre Linux.
El hardware de las computadoras se vende generalmente con un sistema operativo distinto a Linux ya instalado por el fabricante del equipo original (OEM). En el caso de los IBM PC compatibles , el sistema operativo suele ser Microsoft Windows ; en el caso de los ordenadores Mac de Apple , siempre ha sido macOS ; Sun Microsystems vendió hardware SPARC con Solaris instalado; las consolas de videojuegos como Xbox , PlayStation , Wii y Nintendo Switch tienen cada una su propio sistema operativo propietario. Esto limita la cuota de mercado de Linux: los consumidores no saben que existe una alternativa, deben hacer un esfuerzo consciente para utilizar un sistema operativo diferente y deben realizar la instalación ellos mismos o depender del apoyo de un amigo, familiar o profesional de la informática.
Sin embargo, es posible comprar hardware con Linux ya instalado. Lenovo , Hewlett-Packard , Dell , Affordy, [53] Purism , Pine64 y System76 venden portátiles Linux de uso general. [54] Los fabricantes de PC por encargo también construirán sistemas Linux, pero posiblemente con la tecla Windows en el teclado. Fixstars Solutions (anteriormente Terra Soft) vende ordenadores Macintosh y consolas PlayStation 3 con Yellow Dog Linux instalado.
Es más común encontrar dispositivos integrados vendidos con Linux como sistema operativo predeterminado compatible con el fabricante, incluido el dispositivo NAS Linksys NSLU2 , la línea de grabadoras de video personales de TiVo y teléfonos celulares basados en Linux (incluidos los teléfonos inteligentes Android), PDA y reproductores de música portátiles.
La licencia actual de Microsoft Windows permite al fabricante determinar la política de reembolso. [55] Con versiones anteriores de Windows, era posible obtener un reembolso si el fabricante no proporcionaba el reembolso mediante litigio en los tribunales de reclamos menores. [56] El 15 de febrero de 1999, un grupo de usuarios de Linux en el condado de Orange, California, realizó una protesta "Día del reembolso de Windows" en un intento de presionar a Microsoft para que les emitiera reembolsos. [57] En Francia, las organizaciones Linuxfrench y AFUL (Asociación de usuarios de software libre de habla francesa) junto con el activista del software libre Roberto Di Cosmo iniciaron un movimiento "Windows Detax", [58] que condujo a una petición de 2006 contra "racketiciels" (traducción: Racketware ) con 39.415 firmantes y la rama DGCCRF del gobierno francés presentando varias quejas contra el software incluido. El 24 de marzo de 2014, AFUL lanzó una nueva petición internacional en la plataforma Avaaz, [59] traducida a varios idiomas y apoyada por muchas organizaciones de todo el mundo.
No hay cifras oficiales sobre la popularidad, adopción, descargas o base instalada de distribuciones de Linux.
Tampoco existen cifras oficiales sobre el número total de sistemas Linux, [60] [61] en parte debido a la dificultad de cuantificar el número de PC que ejecutan Linux (ver Adopción de Linux en el escritorio ), ya que muchos usuarios descargan distribuciones Linux. Por lo tanto, las cifras de ventas de sistemas Linux y distribuciones comerciales de Linux indican un número mucho menor de sistemas Linux y un nivel de adopción de Linux de lo que es el caso; esto se debe principalmente a que Linux es un software gratuito y de código abierto que se puede descargar de forma gratuita . [60] [62] Un proyecto Linux Counter había realizado un seguimiento de una estimación en ejecución del número de sistemas Linux, pero no distinguió entre distribuciones de lanzamiento continuo y de lanzamiento estándar. Dejó de funcionar en agosto de 2018, aunque se crearon algunas publicaciones de blog relacionadas hasta octubre de 2018. [63]
Desde julio de 2014 [64] el Linux Hardware Project recopila y publica informes estadísticos sobre el uso del escritorio para distribuciones de Linux específicas .
{{cite web}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )