Linux es un núcleo : una pieza (compleja) de software que funciona con el hardware y exporta una determinada interfaz de programación de aplicaciones (API) y convenciones binarias sobre cómo usarla con precisión (interfaz binaria de aplicaciones, ABI) disponible para el "usuario- aplicaciones espaciales ".
Debian , RedHat y otros son sistemas operativos : entornos de software completos que consisten en el núcleo y un conjunto de programas de espacio de usuario que hacen que la computadora sea útil mientras realizan tareas sensibles (enviar / recibir correo, lo que le permite navegar por Internet, manejar un robot, etc.).
Ahora, cada uno de estos sistemas operativos, aunque proporciona principalmente el mismo software (por ejemplo, no hay tantos programas gratuitos de servidor de correo o navegadores de Internet o entornos de escritorio) difieren en los enfoques para hacer esto y también en sus objetivos establecidos y ciclos de lanzamiento.
Por lo general, estos sistemas operativos se llaman "distribuciones". Este es, en mi opinión, un término un tanto incorrecto derivado del hecho de que técnicamente eres capaz de construir todo el software requerido a mano e instalarlo en una máquina de destino, por lo que estos sistemas operativos distribuyen el software empaquetado para que no necesites construir (Debian, RedHat) o facilitan dicha construcción (Gentoo). También suelen proporcionar un instalador que ayuda a instalar el sistema operativo en una máquina de destino.
Crear y soportar un sistema operativo es una tarea muy complicada que requiere una infraestructura compleja e intrincada (colas de carga, servidores de compilación, un rastreador de errores y servidores de archivo, software de listas de correo, etc., etc.) y personal. Obviamente, esto plantea una gran barrera para crear un nuevo sistema operativo desde cero. Por ejemplo, Debian proporciona ca. Paquetes de 37k para unas cinco arquitecturas de hardware: calcule cuánto trabajo se dedica a apoyar estas cosas
Aún así, si alguien piensa que necesita crear un nuevo sistema operativo por cualquier razón, puede ser una buena idea utilizar una base existente para construir. Y aquí es exactamente donde los SO basados en otros SO entran en existencia. Por ejemplo, Ubuntu se basa en Debian simplemente importando la mayoría de los paquetes y reempacando solo un pequeño subconjunto de ellos, además de empaquetar los suyos, proporcionar sus propias ilustraciones, configuraciones predeterminadas, documentación, etc.
Tenga en cuenta que hay variaciones a esta cosa "basada en". Por ejemplo, Debian fomenta la creación de "mezclas puras" de sí mismo: distribuciones que usan Debian directamente, y solo agregan un montón de paquetes y otras cosas que solo son útiles para grupos bastante pequeños de usuarios, como aquellos que trabajan en educación, medicina o música. industria etc.
Otro giro es que no todos estos sistemas operativos están basados en Linux. Por ejemplo, Debian también proporciona núcleos FreeBSD y Hurd. Tienen grupos de usuarios bastante pequeños, pero de todos modos.