Una distribución de Linux [a] (a menudo abreviada como distro ) es un sistema operativo creado a partir de una colección de software que incluye el kernel de Linux y, a menudo, un sistema de administración de paquetes . Suelen obtenerse del sitio web de cada distribución, los cuales 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 típica de Linux comprende un kernel de 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 getty TTY, entre otros). Opcionalmente, para proporcionar una experiencia de escritorio (más comúnmente los controladores de gráficos del espacio de usuario de Mesa ) un servidor de visualización (el más común es el servidor X.org o, más recientemente, un compositor Wayland como Sway , KWin de KDE o GNOME ). s Mutter ), 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 pueden incluirse con la distribución o el usuario puede instalarlos.
La mayor parte del software incluido es gratuito y de código abierto y está disponible tanto como binarios compilados como en forma de código fuente , lo que permite realizar modificaciones en el 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 de Linux también puede describirse como una variedad particular de software de aplicaciones y utilidades (varias herramientas y bibliotecas de GNU, por ejemplo), empaquetadas con el kernel de Linux de tal manera que sus capacidades satisfagan 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 en todo el mundo. [3] [4] Además de los componentes "pegantes", como los instaladores de la distribución (por ejemplo, Debian-Installer y Anaconda ) y los sistemas de administración de paquetes, muy pocos paquetes son 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] también. como en entornos mínimos típicamente para uso en sistemas integrados. [9] [10] Existen distribuciones respaldadas comercialmente, como Fedora Linux ( Red Hat ), openSUSE ( SUSE ) y Ubuntu ( Canonical Ltd. ); y distribuciones totalmente 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 kernel de Linux y distribuyó su primera versión, 0.01, en 1991. Inicialmente, Linux se distribuyó únicamente como código fuente y más tarde como un par de imágenes de disquete descargables : una de arranque y que contenía el propio kernel de 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 gratuita al fundar 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 de Linux como alternativas a los sistemas operativos DOS y Microsoft Windows en 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 el trabajo o la escuela. Adoptaron las distribuciones de Linux por su bajo (o nulo) costo y la disponibilidad del código fuente para la mayor parte 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 computadoras de escritorio. Se utiliza en más del 50% de los servidores web; [27] su cuota de mercado actual de sistemas operativos es de aproximadamente el 1,8%. [28]
Muchas distribuciones de Linux proporcionan un sistema de instalación similar al de otros sistemas operativos modernos. Otras distribuciones, incluida Gentoo Linux , proporcionan sólo los binarios de un kernel 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 segmentan en paquetes . Cada paquete contiene una aplicación o servicio específico. Ejemplos de paquetes son una biblioteca para manejar el formato de imagen PNG , una colección de fuentes y un navegador web .
El paquete generalmente se proporciona como código compilado, y la instalación y eliminación de paquetes se realiza mediante un sistema de administración de paquetes (PMS) en lugar de un simple archivador de archivos . Cada paquete destinado a dicho PMS contiene metainformación como su descripción, número de versión y sus dependencias (otros paquetes que requiere para ejecutarse). El sistema de administración de paquetes evalúa esta metainformación para permitir búsquedas de paquetes, realizar actualizaciones automáticas a versiones más nuevas y verificar 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, incluido el kernel y otros componentes centrales del sistema operativo, en una configuración predeterminada. Algunos ahora requieren o permiten ajustes de configuración en el momento de la primera instalación. Esto hace que la instalación sea menos desalentadora, especialmente 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 todo lo posible 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 este tipo de sistemas desde cero, evitando por completo las distribuciones. Se necesita una forma de generar los primeros binarios hasta que el sistema sea autohospedado . Esto se puede hacer mediante compilación en otro sistema capaz de crear archivos binarios para el objetivo previsto (posiblemente mediante compilación cruzada ). Por ejemplo, consulte Linux desde cero .
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. Las licencias permisivas del software libre significan 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 continuas de Linux se mantienen actualizadas mediante actualizaciones pequeñas y frecuentes . Los desarrolladores y usuarios de software utilizan a veces los términos parcialmente rodante y parcialmente rodante (junto con sinónimos semi-rodante y medio rodante ), completamente rodante , verdaderamente rodante y opcionalmente rodante . [29] [30] [31] [32] [33] [34]
Los repositorios de distribuciones móviles suelen contener versiones de software muy recientes , a menudo las últimas versiones estables disponibles. [31] Tienen pseudo-lanzamientos y medios de instalación que son simplemente instantáneas de la distribución en el momento del lanzamiento de la imagen de instalación. Normalmente, un sistema operativo de lanzamiento continuo instalado desde un medio de instalación anterior se puede actualizar completamente después de su instalación. [31] [35]
Dependiendo del caso de uso, las metodologías de desarrollo de software tanto de lanzamiento estándar como de lanzamiento continuo pueden tener ventajas y desventajas . [36]
En términos del proceso de desarrollo de software , las versiones estándar requieren un esfuerzo de desarrollo significativo para mantener actualizadas las versiones antiguas 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 otro lado, las características del software y la planificación tecnológica son más fáciles en las versiones estándar debido a una mejor comprensión de las próximas características en las próximas 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 a menudo se consideran 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 prueba y evalúa más exhaustivamente durante el ciclo de desarrollo del software. [36] [37] Por esta razón, 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 actual que también puede proporcionar mayor estabilidad y menos errores de software junto con los beneficios adicionales de nuevas funciones, mayor funcionalidad, velocidades de ejecución más rápidas y seguridad mejorada del sistema y las aplicaciones . En cuanto a la seguridad del software , el modelo de lanzamiento continuo puede tener ventajas en cuanto a actualizaciones de seguridad oportunas, corrección de errores y vulnerabilidades de seguridad del sistema o de las aplicaciones , para las cuales los lanzamientos estándar pueden tener que esperar hasta el próximo lanzamiento o parche en varias versiones. En una distribución de lanzamiento continuo, 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 medios de almacenamiento extraíbles, como discos ópticos o unidades flash USB , en lugar de instalarse e iniciarse desde una unidad de 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 medios de instalación para una distribución estándar.
Cuando el sistema operativo se inicia desde un medio de solo lectura, como un CD o DVD, cualquier dato del usuario que deba conservarse entre sesiones no se puede almacenar en el dispositivo de inicio, sino que se debe escribir en otro dispositivo de almacenamiento, como una memoria flash USB. unidad o una unidad de disco duro. [38]
Muchas distribuciones de Linux proporcionan una forma "en vivo" además de su forma convencional, que es una imagen de medio extraíble o basada en red destinada a usarse ú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 uso en vivo. Además, algunas distribuciones mínimas se pueden ejecutar directamente desde tan poco espacio como un disquete sin necesidad de cambiar el contenido del 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 del navegador 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] Muchas de las distribuciones populares se enumeran a continuación.
Varios sistemas operativos incluyen el kernel de Linux, pero tienen un área de usuario que difiere significativamente de la de las principales distribuciones de Linux:
Si estos sistemas operativos se consideran una "distribución de Linux" es un tema controvertido. Usan el kernel de Linux, por lo que la Fundación Linux [41] y Chris DiBona , [42] ex jefe de código abierto de Google, coinciden en que Android es una distribución de Linux; otros, como el ingeniero de Google Patrick Brady, no están de acuerdo al señalar la falta de soporte para muchas herramientas GNU en Android, incluido 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 han diseñado teniendo en cuenta la compatibilidad con hardware antiguo, lo que permite que el hardware antiguo siga utilizándose productivamente o, para obtener la máxima velocidad posible en hardware más nuevo, dejando más recursos disponibles para que los utilicen las aplicaciones. Los ejemplos incluyen Tiny Core Linux , Puppy Linux y Slitaz .
Otras distribuciones se dirigen a nichos específicos, como:
Free Standards Group es una organización formada por importantes proveedores de software y hardware que tiene como objetivo mejorar la interoperabilidad entre diferentes distribuciones. Entre sus estándares propuestos se encuentran el Linux Standard Base , que define un ABI común y un sistema de empaquetado para Linux, y el Filesystem Hierarchy Standard , que recomienda una tabla de nombres de archivos estándar, en particular los nombres de directorios básicos que se encuentran en la raíz del árbol de cualquier sistema de archivos Linux. Sin embargo, esos estándares tienen un uso limitado, incluso entre las distribuciones desarrolladas por miembros de la organización. [ cita necesaria ]
La diversidad de distribuciones de Linux significa que no todo el software se ejecuta en todas las distribuciones, dependiendo de las bibliotecas y otros atributos del sistema que se requieran. El software empaquetado y los repositorios de software suelen ser específicos de una distribución particular, aunque a veces es posible la instalación cruzada en distribuciones estrechamente relacionadas. [ cita necesaria ]
Hay varias formas de instalar una distribución de 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 grabación de imágenes USB y la imagen ISO, que se puede descargar desde varios sitios web de distribución de Linux. Los discos DVD, los discos CD, las instalaciones de red e incluso otros discos duros también se pueden utilizar como "medios de instalación". [45]
En la década de 1990, las distribuciones de Linux se instalaban utilizando conjuntos de disquetes, pero todas las distribuciones principales lo abandonaron. En la década de 2000, muchas distribuciones ofrecían conjuntos de CD y DVD con los paquetes vitales en el primer disco y paquetes menos importantes en los posteriores. Algunas distribuciones, como Debian, también permitieron 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 nuevos usuarios tienden a comenzar particionando un disco duro para conservar su sistema operativo previamente instalado. Luego, la distribución de Linux se puede instalar en su propia partición separada sin afectar los datos guardados previamente. [47]
En una configuración de Live CD, la computadora inicia todo el sistema operativo desde el CD sin instalarlo primero en el disco duro de la computadora. Muchas distribuciones tienen un instalador de Live CD , donde la computadora inicia el sistema operativo desde el disco y luego se puede instalar en el disco duro de la computadora, lo que proporciona una transición perfecta del sistema operativo que se ejecuta desde el CD al sistema operativo que se ejecuta desde el disco duro. .
Tanto los servidores como las computadoras personales que vienen con Linux ya instalado están disponibles a través de proveedores como Hewlett-Packard , Dell y System76 .
En los dispositivos integrados, Linux generalmente se encuentra 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 usa Fedora Media Writer ) y otras distribuciones para simplificar el proceso de instalación. Debian, Ubuntu y muchos otros usan Debian-Installer .
El proceso de cambiar constantemente entre distribuciones a menudo se denomina "salto de distribución". [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 instalarlos en 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 varias distribuciones.
Algunas distribuciones permiten al usuario instalar Linux encima de su sistema actual, como WinLinux o coLinux . Linux se instala en la partición del disco duro de Windows y se puede iniciar desde el propio Windows.
Las máquinas virtuales (como VirtualBox o VMware ) también hacen posible que Linux se ejecute dentro de otro sistema operativo. El software VM simula una computadora separada en la que está instalado el sistema Linux. Después de la instalación, la máquina virtual se puede iniciar como si fuera una computadora independiente.
También hay disponibles varias herramientas para realizar instalaciones completas de arranque dual desde plataformas existentes sin un CD, en particular:
Algunos productos de software propietarios específicos no están disponibles de ninguna forma para Linux. En septiembre de 2015, el servicio de juegos Steam tiene más de 1.500 juegos disponibles en Linux, en comparación con 2.323 juegos para Mac y 6.500 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 Microsoft Win32 o DirectX API) en llamadas API nativas de Linux. También se puede utilizar una máquina virtual para ejecutar un sistema operativo propietario (como Microsoft Windows) sobre Linux.
El hardware de la computadora generalmente se vende con un sistema operativo distinto de Linux ya instalado por el fabricante del equipo original (OEM). En el caso de los PC compatibles con IBM , 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 personalizados también construirán sistemas Linux, pero posiblemente con la tecla Windows en el teclado. Fixstars Solutions (anteriormente Terra Soft) vende computadoras 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 NSLU2 de Linksys, la línea de grabadoras de video personales de TiVo y teléfonos celulares basados en Linux (incluidos los teléfonos inteligentes con Android), PDA y dispositivos portátiles. reproductores de música.
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 un 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, celebró una protesta del "Día de 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 en 2006 contra los "racketiciels" ( traducción: Racketware ) con 39.415 firmantes y la rama DGCCRF del gobierno francés presentando varias quejas contra el software empaquetado. 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 existen cifras oficiales sobre la popularidad, adopción, descargas o base instalada de distribuciones de Linux.
Tampoco hay 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 de escritorio ), ya que muchos usuarios descargan distribuciones de Linux. Por lo tanto, las cifras de ventas de sistemas Linux y distribuciones comerciales de Linux indican un número de sistemas Linux y un nivel de adopción de Linux mucho menores que en 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 de contador de Linux había realizado un seguimiento de una estimación aproximada 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] Linux Hardware Project ha recopilado y publicado informes estadísticos de uso de escritorio para distribuciones particulares de Linux .
{{cite web}}
: Mantenimiento CS1: nombres numéricos: lista de autores ( enlace )