Comprender diferentes distribuciones de Linux

12

Tengo un poco de confusión al comprender los sistemas operativos basados ​​en Linux. Cuando descargo la versión más reciente de Mint y Ubuntu, ¿no son "iguales" en su núcleo (núcleo)? ¿Parece que tienen diferentes GUI? ¿No es técnicamente una GUI solo un programa que se ejecuta al inicio de una computadora? Igual que con Windows (dos es el núcleo pero explorer.exe es la interfaz gráfica de usuario). ¿Alguien puede explicar esto?

Con el comando sudo apt-get, ¿no puedo instalar Ubuntu desde un terminal perfecto?

Sé que esto es un montón de preguntas, pero espero que alguien pueda aclarar las diferencias entre múltiples distribuciones antes de que aparezca la GUI, y luego después de que aparezca la GUI.

EGHDK
fuente

Respuestas:

10

Primero: Windows no ha sido una GUI de DOS durante bastante tiempo; Windows basado en NT (NT / 2000 / XP / Vista / 7/8) es totalmente independiente del DOS. explorer.exe tampoco es la GUI: es solo un shell (también puede encontrar reemplazos de shell para Windows)

En el fondo, todas las distribuciones se basan en el kernel de Linux; Las principales diferencias (desde el punto de vista del usuario final, hay diferencias en, por ejemplo, los sistemas de inicio, los archivos en /etcy otros lugares), entre las distribuciones son:

  • gestión de paquetes

Ubuntu, Mint y todas las demás distribuciones basadas en Debian usan dpkg / APT como sistema de empaquetado. Otras distribuciones usarán otros sistemas (por ejemplo, Red Hat, Fedora, SuSE usarán RPM, Arch usará pacman).

  • selección de paquetes

Efectivamente, Mint es un Ubuntu con algunos paquetes adicionales (por ejemplo, códecs, no incluidos con Ubuntu por razones de patentes / derechos de autor) y un tema diferente (para crear una identidad personalizada y evitar preguntas sobre marcas registradas / plagio y confusión del usuario).

Por supuesto, puede instalar cualquier otra GUI en Mint: podría usar el entorno de escritorio de Mint ( Cinnamon ) en Ubuntu y técnicamente (la realidad es otra historia: probablemente se tope con conflictos de paquetes) debería poder instalar Unity y la identidad visual de Ubuntu (temas, iconos) en menta.

Entonces, en teoría , podría convertir su Ubuntu en un sistema Mint-ish, pero en la práctica esto es bastante difícil de hacer.


Según el comentario sobre la diferencia entre 'interfaz' y 'shell', lo que puede generar cierta confusión:

En el mundo UNIX, 'shell' ya tiene un significado específico y bien aceptado :

Un shell de Unix es un intérprete de línea de comandos o shell que proporciona una interfaz de usuario tradicional para el sistema operativo Unix y para sistemas similares a Unix.

Compare con el shell de Windows, que es algo completamente diferente :

El shell de Windows es la interfaz gráfica de usuario principal en Microsoft Windows. El shell de Windows incluye componentes conocidos de Windows, como la barra de tareas y el menú Inicio. El shell de Windows no es lo mismo que un "shell de línea de comandos", pero los dos conceptos están relacionados.

En nuestro caso, llamaríamos a Cinnamon (o KDE, GNOME, Unity, XFCE) un entorno de escritorio : un conjunto de aplicaciones (administrador de ventanas, paneles, elementos de la bandeja de notificación, etc.) que proporcionan la experiencia del usuario.

Renan
fuente
La interfaz de Mint (Cinnamon), ¿es esa una "interfaz" o más de un "caparazón" del que estabas hablando?
EGHDK
En UNIX / Linux, el término 'interfaz' es más adecuado para las GUI, ya que 'shell' ya tiene un significado específico (un shell de línea de comandos como basho zsh). O puede llamarlo 'entorno de escritorio'.
Renan
Entonces, ¿la terminal a es un shell?
EGHDK
1
@EGHDK No del todo: un shell (en el sentido de UNIX) se ejecuta dentro de un terminal. Esto se explica en ¿Cuál es la diferencia exacta entre un 'terminal', un 'shell', un 'tty' y una 'consola'?
Renan
Perfecto. Has respondido todas mis preguntas. ¡Gracias! Realmente lo aprecio.
EGHDK
8

Para entender cuál es la diferencia entre las distribuciones, tal vez deberías mirar de nuevo qué es una distribución.

¿Qué es una distro?

Probablemente ya sepas todo esto, pero piénsalo de nuevo. Linux es solo un núcleo. En la mayoría de los casos, eso es completamente inútil por sí mismo. La mayor parte de lo que hace es simplemente proporcionar una interfaz de software al hardware de su máquina para que otros programas la utilicen. Una distribución es mucho más compleja que esto. Tener en cuenta:

  • Una selección de aplicaciones y bibliotecas específicas para el uso de la distribución.
  • Herramientas para gestionar y mantener el sistema.
  • Documentación y canal de soporte.
  • Un ciclo de lanzamiento y gestión comunitaria.

Hay muchas capas de software agregadas sobre Linux para crear algo como Ubuntu o Mint, con infinitas posibilidades de configuraciones y opciones para hacer.

También debe tener en cuenta la naturaleza del editor de la distribución. Proyectos como Red Hat, SuSE o Ubuntu sirven al propósito de las empresas, mientras que otros como Mint, Debian o Gentoo son administrados por voluntarios.

¿Cuál es la diferencia entre una distribución y otra?

Prácticamente cualquier aplicación que se ejecuta en una distribución está disponible (o fácilmente portátil) para otra. Después de todo, todos son sistemas Unix muy similares. Sin embargo, no importa lo que haga, no puede cambiar el ciclo de lanzamiento de su distribución, la velocidad a la que se empaquetan las nuevas versiones, o simplemente la apariencia de su foro oficial. Quizás un ejemplo te muestre mejor:

Digamos que estoy esperando con impaciencia la nueva versión de mi software, por ejemplo Python-3.3, que vence en unos días. ¿Cómo estará disponible para diferentes distribuciones?

  • Las distribuciones de lanzamiento continuo (como Arch Linux o Gentoo) lo harán disponible rápidamente en sus repositorios. Tan pronto como el mantenedor lo empaquete y se ejecuten las pruebas básicas, estará disponible.
  • Las distribuciones empresariales probablemente lo prometen para las "próximas versiones". Mientras tanto, todavía está disponible, pero no estará en ningún canal oficial.
  • Debian no lo pondrá a disposición antes de que sea probado exhaustivamente, un proceso que puede llevar años. Sin embargo, hace que el repositorio de pruebas esté fácilmente disponible para el público. (Por ejemplo, Ubuntu crea sus versiones a partir de este repositorio de versiones cada 6 meses).

¿Cuál es la verdadera diferencia entre Mint y Ubuntu?

Para el registro, debo señalar que no he usado Ubuntu durante más de 2 años y apenas he usado Mint durante unos meses hace 4 años. Lo que digo aquí podría no ser muy preciso.

La diferencia entre Mint y Ubuntu es mínima, después de todo, Mint se basa completamente en Ubuntu. Originalmente, Mint era simplemente un reempaquetado de Ubuntu con 3 diferencias:

  • Proporcionó tecnologías propietarias en su instalación predeterminada (algo que Ubuntu no).
  • Proporcionó algunas herramientas gráficas como el menú de la barra de tareas o el instalador de la aplicación que parchó encima de la instalación básica de Ubuntu.
  • Tenía un mayor enfoque en la estética. Su solgan todavía es "De la libertad vino la elegancia".

Hace unos años, el cisma se amplió a medida que Ubuntu intentaba impulsar el entorno gráfico de Unity, la comunidad Mint hizo un gran problema al rechazarlo. Así es como surgió la canela.

Nunca lo he intentado, pero no me sorprendería que alguien haga que Cinnamon se ejecute en Ubuntu y Unity en Mint. El argumento que estoy tratando de hacer es:

Las diferencias entre distribuciones como Mint y Ubuntu son mucho más sobre la comunidad y las elecciones sutiles que sobre el software en sí.

Otras lecturas

rahmu
fuente
No pude editar la respuesta porque solo quiero agregar una palabra y una edición requiere seis caracteres ... Me gustaría señalar que probablemente te falte una palabra cerca del comienzo de la respuesta, pocas líneas más abajo dice: "otros programas que utilizan" debe ser "otros programas canutilizan"
somethingSomething
5

Buena pregunta. Entiendo que teóricamente podrías, pero podría no funcionar como se esperaba. Aunque Mint se basa en Ubuntu, Ubuntu y Mint usan repositorios de software diferentes. Estos repositorios son los que hacen que cada distribución sea única. En cualquier sistema de escritorio Mint o Ubuntu, puede configurar los repositorios a lo que desee. Por lo tanto, puede tomar un sistema que se instaló como Mint y cambiar todos los repositorios a repositorios de Ubuntu. Luego, si reinstalas todos los paquetes, esencialmente tienes Ubuntu. Sin embargo, Ubuntu y Mint hacen sus propios pequeños ajustes al código (que a su vez se basa en Debian). Entonces, si los paquetes de Mint esperan un conjunto de ajustes, pero los paquetes de Ubuntu proporcionan un conjunto de ajustes completamente diferente, entonces podría terminar con un sistema muy roto.

Incluso algunas de las diferentes "versiones" de Ubuntu tienen ajustes realmente extraños en su código. Esto se debe a que Canonical se centra en la facilidad de uso en lugar de la corrección del código o la interoperabilidad. Recientemente, intenté instalar Xfce4 en una instalación de "servidor" de Ubuntu 13.04. Terminé con un sistema completamente roto. Fue un completo desastre. Terminé instalando el Ubuntu 13.04 normal y luego instalando xfce encima. Todo funcionó misteriosamente. Ciertos menús y programas incluso se veían mejor, como si estuvieran renderizados con un motor completamente diferente. Sin embargo, utilicé todos los mismos archivos y paquetes de configuración que había utilizado en la instalación del servidor (y para una instalación de Debian que se ejecuta sin problemas en la misma computadora).

Eso es solo magia canónica para ti. Si dejas todo como lo proporcionan, entonces generalmente funciona bien. Si tocas incluso lo más mínimo, las cosas pueden comenzar a ponerse realmente extrañas.

James Harris
fuente
Por cierto, perdón por publicar en una publicación anterior, pero esta pregunta aparece cerca de la parte superior de ciertas búsquedas de Google.
James Harris
¡Bienvenido a Unix y Linux StackExchange! Contestar viejas preguntas no está mal visto aquí. Asegúrese de pasar por las preguntas frecuentes .
4

Me centraría en los objetivos de las diferentes distribuciones en lugar de en detalles como qué administrador de paquetes usan o qué versiones de software envían actualmente. Un buen objetivo puede llevarlo de cero a líder del mercado en su espacio si eso es lo que busca (eso es Ubuntu cuando se lanzaron, pero anteriormente también Red Hat) y algunas decisiones tecnológicas bastante fundamentales pueden cambiar si eso se percibe como importante para el objetivo (la insistencia de Ubuntu en Unity podría ser un ejemplo).

  • Red Hat: originalmente, (en ese momento, extremadamente novedoso) éxito comercial al proporcionar servicios pagos a los usuarios de su producto gratuito. Más recientemente, realmente cobra por ese producto (no estoy seguro de cómo se ve la visión ahora). La base de clientes de grandes empresas significa renuencia al cambio: la estabilidad triunfa sobre la innovación.
  • Debian: libertad y portabilidad. "Universal" significa intentar ejecutar en muchas plataformas; un fuerte enfoque en el código abierto significa que cualquier cosa con componentes de código cerrado es dudosa. La estabilidad es importante, por lo tanto, bastante lenta y conservadora.
  • Fedora: originalmente, la versión gratuita de Red Hat una vez que se comercializaron. En la práctica, es similar a Debian en el celo de código abierto, pero es más probable que pruebe cosas nuevas y audaces. Utilizado por Red Hat como banco de pruebas para nuevos desarrollos.
  • CentOS: Red Hat gratis.
  • Ubuntu: dominio de escritorio. Facilidad de uso (o al menos facilidad para familiarizarse) y conjunto de aplicaciones estandarizadas para atraer una amplia base de usuarios. Mejore el ritmo lento de Debian manteniendo un ciclo fijo de lanzamiento de seis meses basado en las pruebas de Debian.
  • Menta: Ubuntu sin unidad.
  • Arch: proporcione la última versión estable de cada paquete ascendente con un embalaje mínimo específico de la distribución, etc., y un modelo de lanzamiento continuo.
  • Slackware: sea simple y parecido a Unix, y salga del camino.
  • Gentoo: control detallado sobre la compilación de paquetes locales basada en un nuevo administrador de paquetes llamado emerge.

Esta lista obviamente está resumida. Muchas distribuciones populares son variantes, spin-offs o tenedores de los anteriores. La lista de distribuciones de Linux de Wikipedia es bastante completa y razonablemente estructurada. Consulte también https://distrowatch.com/ para obtener detalles como las estadísticas de popularidad actuales.

Un corolario importante es el manejo de expectativas. Una distribución que se centra en la compatibilidad universal y la libertad puede tomar la usabilidad o compatibilidad con un gizmo específico actualmente popular con menos seriedad, y viceversa. Es probable que una distribución que se centre en una huella pequeña y un rendimiento en el hardware heredado no quiera poner mucho esfuerzo en los atractivos ojos como los efectos de escritorio animados o casos de uso como edición de video, simulaciones 3D o juegos fotorrealistas que superan incluso las últimas novedades. generación de hardware. Una distribución cuyo objetivo es proporcionar una experiencia simple y uniforme para las personas que son nuevas en las computadoras no les importará si un controlador de núcleo de sistema de archivos de última generación se ejecuta en sus sistemas. Etc.

Esto también debería informar la respuesta a su pregunta concreta. Probablemente no sea demasiado difícil hacer que Unity se ejecute en Mint, pero ¿por qué preferirías eso en lugar de simplemente ejecutar Ubuntu? Es claramente posible ejecutar Ubuntu con Cinnamon, pero terminarías reinventando Mint, y el esfuerzo probablemente sea significativo; de lo contrario, ¿por qué habrían escindido un proyecto separado solo para proporcionar eso? Y esto realmente ilustra cómo una distribución podría considerar una política o arquitectura particular como lo suficientemente crítica técnica o estratégicamente como para afectar a otros componentes de arriba a abajo de la cadena de dependencia de manera no trivial, lo que por supuesto también significa que se requieren muchas soluciones alternativas si lo intenta para eliminarlo de todos modos.

Y sin embargo, estas son dos distribuciones estrechamente relacionadas; Si intenta portar software entre distribuciones, se vuelve cada vez más difícil cuanto más lejos están unos de otros en términos de objetivos, políticas y las decisiones arquitectónicas resultantes, así como el patrimonio compartido y la infraestructura, como las redes de distribución de paquetes, estándares para soportar, por ejemplo periféricos de hardware o internacionalización, etc.

tripleee
fuente
Me quedé sin fuerzas. Siéntase libre de actualizar o agregar a esto.
tripleee
Como reúne todo, también puede consultar las distribuciones de slackware, es decir, Porteus.
George Vasiliou
Supongo que openSUSE también debería estar en la lista, pero no puedo entender si tienen un objetivo de algún tipo, más allá de "ser alemán".
tripleee
0

Las distribuciones de Linux son mucho más que un núcleo. Son todas las aplicaciones que también se ejecutan en la parte superior del núcleo (incluidas apt-get), incluidas muchas cosas de muy bajo nivel, como el sistema init. De hecho, la elección de las aplicaciones utilizadas es el punto de definición de muchas distribuciones.

No puede instalar Ubuntu desde Mint más de lo que podría llevar su Cadilac a una tienda de automóviles y pedirles que lo conviertan en un Porsche, pero mantener el Cadilac intacto. Podrían convertir su Cadilac en un Porsche con mucho esfuerzo y gasto: después de todo, ambos tienen motores similares debajo del capó. De manera similar, teóricamente podrías convertir una instalación de Linux Mint en una instalación de Ubuntu (no intentes esto, es un gran esfuerzo), pero son dos productos distintos. Tener uno instalado en el mismo lugar que otro no es significativo o posible.

Matthew Scharley
fuente
0

En pocas palabras: lo que hace que la identidad de una distribución de Linux esté compuesta por:

  • La configuración del kernel: sí: todas las distribuciones se originan en el mismo código fuente, pero entre el código fuente y el binario real que se ejecuta en la computadora, existe el proceso de compilación, que implica 'configurar', es decir, tomar decisiones.

  • La elección del software que crea la interfaz entre el hardware y el núcleo, junto con su configuración en tiempo de compilación

  • La elección del software que crea la interfaz que usted, el usuario, utilizará. Aquí es donde va el 99% del código de una distribución. Una vez más, todo se reduce a: qué software se elige y cómo se configura y compila.

Todas estas opciones están ocultas para usted en una distribución, ya que ya están hechas y 'empaquetadas' para usted. De esa manera, se construye una distribución de Linux con la esperanza de que se adapte a la mayoría de los usuarios. Pero el efecto secundario es que no está ajustado para sus necesidades.

Si desea aprender muchas cosas sobre cómo se crean las distribuciones de Linux, le sugiero que intente construir su propia distribución. El proyecto 'Linux From Scratch' me ayudó mucho.

Vincent Achard
fuente