Verschiedene Linux-Distributionen verstehen

12

Ich bin ein wenig verwirrt, wenn ich Linux-basierte Betriebssysteme verstehe. Wenn ich die neueste Version von Mint und Ubuntu herunterlade, sind sie dann nicht in ihrem Kern (Kernel) "gleich"? Es scheint nur, dass sie verschiedene GUIs haben? Ist eine GUI technisch gesehen nicht nur ein Programm, das beim Start eines Computers ausgeführt wird? Wie bei Windows (dos ist der Kern, aber explorer.exe ist die GUI). Kann jemand das erklären?

Kann ich Ubuntu mit dem Befehl sudo apt-get nicht von einem Mint-Terminal aus installieren?

Ich weiß, dass dies ein Durcheinander von Fragen ist, aber hoffentlich kann jemand die Unterschiede zwischen mehreren Distributionen klären, bevor die GUI erscheint und nachdem die GUI erscheint.

EGHDK
quelle

Antworten:

10

Erstens: Windows ist seit einiger Zeit keine DOS-GUI mehr. NT-basiertes Windows (NT / 2000 / XP / Vista / 7/8) ist völlig unabhängig von DOS. explorer.exe ist auch nicht die GUI: Es ist nur eine Shell (Sie können auch Shell-Ersatz für Windows finden)

Im Kern basieren alle Distributionen auf dem Linux-Kernel. Die Hauptunterschiede (aus Sicht des Endbenutzers - es gibt Unterschiede beispielsweise bei Init-Systemen, Dateien unter /etcund an anderen Orten) - zwischen Distributionen sind:

  • Paketverwaltung

Ubuntu, Mint und alle anderen Debian-basierten Distributionen verwenden dpkg / APT als Verpackungssystem. Andere Distributionen verwenden andere Systeme (z. B. Red Hat, Fedora, SuSE verwendet RPM, Arch verwendet Pacman).

  • Auswahl der Pakete

Tatsächlich ist Mint ein Ubuntu mit einigen zusätzlichen Paketen (z. B. Codecs, die aus Patent- / Urheberrechtsgründen nicht in Ubuntu enthalten sind) und einem anderen Thema (um eine benutzerdefinierte Identität zu erstellen und Fragen zu Marken / Plagiaten und Benutzerverwirrung zu vermeiden).

Natürlich können Sie jede andere GUI in Mint installieren: Sie können die Desktop-Umgebung ( Cinnamon ) von Mint in Ubuntu verwenden und technisch (die Realität ist eine andere Geschichte: Sie werden wahrscheinlich auf Paketkonflikte stoßen) sollten Sie in der Lage sein, Unity und Ubuntus visuelle Identität zu installieren (Themen, Symbole) in Mint.

Also, in der Theorie könnten Sie Ihre Ubuntu in ein Mint-ish System drehen , aber in der Praxis ist dies sehr schwer zu tun.


Gemäß dem Kommentar zum Unterschied zwischen "Schnittstelle" und "Shell", der einige Verwirrung stiften kann:

In der UNIX-Welt hat 'Shell' bereits eine bestimmte, allgemein akzeptierte Bedeutung :

Eine Unix-Shell ist ein Befehlszeileninterpreter oder eine Shell, die eine herkömmliche Benutzeroberfläche für das Unix-Betriebssystem und für Unix-ähnliche Systeme bereitstellt.

Vergleichen Sie mit der Windows-Shell, die etwas ganz anderes ist :

Die Windows-Shell ist die grafische Hauptbenutzeroberfläche in Microsoft Windows. Die Windows-Shell enthält bekannte Windows-Komponenten wie die Taskleiste und das Startmenü. Die Windows-Shell ist nicht mit einer "Befehlszeilen-Shell" identisch, aber die beiden Konzepte hängen zusammen.

In unserem Fall würden wir Cinnamon (oder KDE, GNOME, Unity, XFCE) als Desktop-Umgebung bezeichnen : eine Reihe von Anwendungen (Fenstermanager, Bedienfelder, Elemente in der Benachrichtigungsleiste usw.), die die Benutzererfahrung bieten.

Renan
quelle
Mint's Interface (Cinnamon), ist das ein "Interface" oder eher eine "Shell", von der Sie gesprochen haben?
EGHDK
Unter UNIX / Linux ist der Begriff "Schnittstelle" für GUIs angemessener, da "Shell" bereits eine bestimmte Bedeutung hat (eine Befehlszeilen-Shell wie bashoder zsh). Oder Sie können es "Desktop-Umgebung" nennen.
Renan
Terminal a ist also eine Shell?
EGHDK
1
@EGHDK Nicht ganz: Eine Shell (im UNIX-Sinne) läuft in einem Terminal. Dies wird unter Was ist der genaue Unterschied zwischen einem "Terminal", einer "Shell", einem "tty" und einer "Konsole"?
Renan
Perfekt. Sie haben alle meine Fragen beantwortet. Vielen Dank! Ich weiß das wirklich zu schätzen.
EGHDK
8

Um zu verstehen, was der Unterschied zwischen Distributionen ist, sollten Sie sich vielleicht noch einmal ansehen, was eine Distribution ist.

Was ist eine Distribution?

Sie wissen das alles wahrscheinlich, aber denken Sie noch einmal darüber nach. Linux ist nur ein Kernel. In den meisten Fällen ist das für sich genommen völlig nutzlos. Das meiste, was es tut, ist einfach eine Softwareschnittstelle für die Hardware auf Ihrem Computer bereitzustellen, damit andere Programme sie verwenden können. Eine Distribution ist viel komplexer. Berücksichtigen:

  • Eine Auswahl von Anwendungen und Bibliotheken, die für die Verwendung der Distribution spezifisch sind.
  • Tools zur Verwaltung und Wartung des Systems.
  • Dokumentations- und Supportkanal.
  • Ein Release-Zyklus und Community-Management.

Zusätzlich zu Linux werden viele Softwareschichten hinzugefügt, um etwas wie Ubuntu oder Mint zu erstellen, mit unendlichen Möglichkeiten für Konfigurationen und Auswahlmöglichkeiten.

Sie sollten auch die Art des Herausgebers der Distribution berücksichtigen. Projekte wie Red Hat, SuSE oder Ubuntu dienen dem Zweck von Unternehmen, während andere wie Mint, Debian oder Gentoo von Freiwilligen verwaltet werden.

Was ist der Unterschied zwischen einer Distribution und einer anderen?

Praktisch jede Anwendung, die auf einer Distribution ausgeführt wird, ist für eine andere verfügbar (oder leicht portierbar). Immerhin sind sie alle sehr ähnliche Unix-Systeme. Unabhängig davon, was Sie tun, können Sie den Veröffentlichungszyklus Ihrer Distribution, die Geschwindigkeit, mit der neue Versionen gepackt werden, oder einfach das Erscheinungsbild des offiziellen Forums nicht ändern. Vielleicht würde Ihnen ein Beispiel besser zeigen:

Nehmen wir an, ich warte ungeduldig auf die neue Version meiner Software, zum Beispiel Python-3.3, die in wenigen Tagen fällig ist. Wie wird es für verschiedene Distributionen verfügbar sein:

  • Rolling Release- Distributionen (wie Arch Linux oder Gentoo) werden es schnell in ihren Repositories verfügbar machen. Sobald der Betreuer es packt und grundlegende Tests ausgeführt werden, ist es verfügbar.
  • Enterprise-Distributionen werden es wahrscheinlich für "kommende Versionen" versprechen. In der Zwischenzeit ist es noch verfügbar, wird aber in keinem offiziellen Kanal verfügbar sein.
  • Debian wird es nicht zur Verfügung stellen, bevor es gründlich getestet wurde, ein Prozess, der Jahre dauern kann. Das Test- Repository ist jedoch für die Öffentlichkeit sehr einfach verfügbar. (Zum Beispiel erstellt Ubuntu seine Versionen alle 6 Monate aus diesem Versions-Repository).

Was ist der wahre Unterschied zwischen Mint und Ubuntu?

Für die Aufzeichnung sollte ich darauf hinweisen, dass ich Ubuntu seit über 2 Jahren nicht mehr verwendet habe und Mint vor ein paar Monaten vor 4 Jahren kaum verwendet habe. Was ich hier sage, ist möglicherweise nicht sehr genau.

Der Unterschied zwischen Mint und Ubuntu ist minimal, schließlich basiert Mint vollständig auf Ubuntu. Ursprünglich war Mint einfach ein Umpacken von Ubuntu mit 3 Unterschieden:

  • In der Standardinstallation wurden proprietäre Technologien bereitgestellt (etwas, das Ubuntu nicht tut).
  • Es wurden einige grafische Tools wie das Taskleistenmenü oder das App-Installationsprogramm bereitgestellt, die über die grundlegende Ubuntu-Installation gepatcht wurden.
  • Es hatte einen höheren Fokus auf Ästhetik. Sein Solgan ist immer noch "Aus der Freiheit kam die Eleganz".

Vor einigen Jahren wurde das Schisma immer größer, als Ubuntu versuchte, die grafische Umgebung von Unity voranzutreiben. Die Mint-Community machte eine große Sache damit, sie abzulehnen. So entstand Zimt.

Ich habe es noch nie versucht, aber ich wäre nicht überrascht, wenn jemand Cinnamon unter Ubuntu und Unity on Mint zum Laufen bringen würde. Das Argument, das ich vorbringe, ist:

Unterschiede zwischen Distributionen wie Mint und Ubuntu betreffen viel mehr die Community und die subtilen Entscheidungen als die Software selbst.

Weiterführende Literatur

Rahmu
quelle
Ich konnte die Antwort nicht bearbeiten, da ich nur ein Wort hinzufügen möchte und eine Bearbeitung sechs Zeichen erfordert. Ich möchte darauf hinweisen, dass Ihnen wahrscheinlich ein Wort am Anfang der Antwort fehlt, wenige Zeilen weiter steht: "andere Programme benutzen es" sollte "andere Programme canbenutzen es" sein
etwas Etwas
5

Das ist eine gute Frage. Mein Verständnis ist, dass Sie theoretisch könnten, aber es könnte nicht wie erwartet funktionieren. Obwohl Mint auf Ubuntu basiert, verwenden Ubuntu und Mint unterschiedliche Software-Repositorys. Diese Repositorys machen jede Distribution einzigartig. Auf jedem Mint- oder Ubuntu-Desktopsystem können Sie die Repositorys auf alles einstellen, was Sie möchten. Sie können also ein System verwenden, das als Mint installiert wurde, und alle Repositorys in Ubuntu-Repositorys ändern. Wenn Sie dann alle Pakete neu installieren, haben Sie im Wesentlichen Ubuntu. Ubuntu und Mint nehmen jedoch jeweils ihre eigenen kleinen Änderungen am Code vor (der wiederum auf Debian basiert). Wenn die Mint-Pakete einen Satz von Optimierungen erwarten, die Ubuntu-Pakete jedoch einen völlig anderen Satz von Optimierungen bieten, kann dies zu einem sehr kaputten System führen.

Sogar einige der verschiedenen "Versionen" von Ubuntu haben wirklich bizarre Änderungen an ihrem Code. Dies liegt daran, dass Canonical sich eher auf Benutzerfreundlichkeit als auf Codekorrektheit oder Interoperabilität konzentriert. Kürzlich habe ich versucht, Xfce4 auf einem Ubuntu 13.04 "Server" zu installieren. Am Ende hatte ich ein völlig kaputtes System. Es war ein komplettes Durcheinander. Am Ende habe ich das normale Ubuntu 13.04 installiert und dann xfce darüber installiert. Alles hat auf mysteriöse Weise funktioniert. Bestimmte Menüs und Programme sahen sogar noch besser aus, als würden sie mit einer völlig anderen Engine gerendert. Ich habe jedoch alle Konfigurationsdateien und -pakete verwendet, die ich bei der Serverinstallation verwendet hatte (und für eine Debian-Installation, die fehlerfrei auf demselben Computer ausgeführt wird).

Das ist nur kanonische Magie für Sie. Wenn Sie alles so lassen, wie es bereitgestellt wird, funktioniert es normalerweise gut. Wenn Sie auch nur die kleinste Sache berühren, können die Dinge wirklich komisch werden.

James Harris
quelle
Übrigens, entschuldigen Sie das Posten in einem alten Beitrag, aber diese Frage taucht bei bestimmten Google-Suchanfragen ganz oben auf.
James Harris
Willkommen beim Unix & Linux StackExchange! Die Beantwortung alter Fragen ist hier nicht verpönt. Schauen Sie unbedingt in den FAQ vorbei .
4

Ich würde mich eher auf die Ziele verschiedener Distributionen konzentrieren als auf Details wie den verwendeten Paketmanager oder die derzeit ausgelieferten Softwareversionen. Ein gutes Ziel kann Sie von Null zum Marktführer in Ihrem Bereich führen, wenn Sie danach suchen (das ist Ubuntu, als sie gestartet wurden, aber zuvor auch Red Hat), und einige ziemlich grundlegende Technologieentscheidungen können sich ändern, wenn dies als wichtig für das Unternehmen angesehen wird Ziel (Ubuntus Beharren auf Einheit könnte ein Beispiel sein).

  • Red Hat: Ursprünglich (zu dieser Zeit äußerst neuartiger) kommerzieller Erfolg durch Bereitstellung kostenpflichtiger Dienste für Benutzer Ihres kostenlosen Produkts. In jüngerer Zeit berechnen Sie tatsächlich für dieses Produkt (nicht sicher, wie die Vision jetzt aussieht). Ein großer Kundenstamm bedeutet, dass Änderungen nur ungern vorgenommen werden - Stabilität übertrumpft Innovation.
  • Debian: Freiheit und Portabilität. "Universal" bedeutet, dass versucht wird, auf vielen Plattformen ausgeführt zu werden. Ein starker Fokus auf Open Source bedeutet, dass alles mit Closed Source-Komponenten zweifelhaft ist. Stabilität ist wichtig, daher ziemlich langsam und konservativ.
  • Fedora: Ursprünglich die kostenlose Version von Red Hat, als sie kommerziell wurden. In der Praxis, ähnlich wie Debian im Open-Source-Eifer, aber eher mutig, neue Dinge auszuprobieren. Wird von Red Hat als Prüfstand für Neuentwicklungen verwendet.
  • CentOS: Red Hat kostenlos.
  • Ubuntu: Desktop-Dominanz. Benutzerfreundlichkeit (oder zumindest einfache Vertrautheit) und standardisierte App-Suite, um eine breite Anwenderbasis anzulocken. Verbessern Sie das langsame Tempo von Debian, indem Sie einen festen Release-Zyklus von sechs Monaten basierend auf Debian-Tests einhalten.
  • Mint: Ubuntu ohne Einheit.
  • Arch: Bereitstellung der neuesten stabilen Version jedes Upstream-Pakets mit minimalem Aufwand für distro-spezifische Verpackungen usw. und einem Rolling-Release-Modell.
  • Slackware: Sei einfach und Unix-artig und geh aus dem Weg.
  • Gentoo: Detaillierte Kontrolle über die lokale Paketkompilierung basierend auf einem neuartigen Paketmanager namens emerge.

Diese Liste ist offensichtlich gekürzt. Viele beliebte Distributionen sind Varianten, Ausgründungen oder Gabeln der oben genannten. Die Liste der Linux-Distributionen von Wikipedia ist ziemlich umfassend und angemessen strukturiert. Siehe auch https://distrowatch.com/ für Details wie aktuelle Beliebtheitsstatistiken.

Eine wichtige Folge ist das Erwartungsmanagement. Eine Distribution, die sich auf universelle Kompatibilität und Freiheit konzentriert, kann die Benutzerfreundlichkeit oder Kompatibilität mit einem bestimmten derzeit beliebten Gizmo weniger ernst nehmen und umgekehrt. Eine Distribution, die sich auf geringen Platzbedarf und Leistung auf Legacy-Hardware konzentriert, wird wahrscheinlich nicht viel Aufwand in die Augenweide wie animierte Desktop-Effekte oder Anwendungsfälle wie Videobearbeitung, 3D-Simulationen oder fotorealistische Spiele stecken wollen, die selbst auf dem neuesten Stand sind Generierung von Hardware. Eine Distribution, deren Ziel es ist, Menschen, die noch keine Erfahrung mit Computern haben, eine einfache und einheitliche Erfahrung zu bieten, ist es egal, ob auf ihren Systemen ein hochmoderner Kernel-Treiber für das Dateisystem ausgeführt wird. Etc.

Dies sollte auch die Antwort auf Ihre konkrete Frage enthalten. Es ist wahrscheinlich nicht allzu schwer, Unity auf Mint zum Laufen zu bringen, aber warum sollten Sie das dem einfachen Ausführen von Ubuntu vorziehen? Es ist eindeutig möglich, Ubuntu mit Cinnamon auszuführen, aber am Ende würden Sie Mint neu erfinden, und der Aufwand ist wahrscheinlich erheblich. Warum hätten sie sonst ein separates Projekt ausgegliedert, um dies zu gewährleisten? Und dies zeigt tatsächlich, wie eine Distribution eine bestimmte Richtlinie oder Architektur als technisch oder strategisch kritisch genug betrachten kann, um andere Komponenten in der Abhängigkeitskette auf nicht triviale Weise zu beeinflussen, was natürlich auch bedeutet, dass viele Problemumgehungen erforderlich sind, wenn Sie es versuchen um es trotzdem zu entfernen.

Und doch sind dies zwei eng verwandte Distributionen; Wenn Sie versuchen, Software zwischen Distributionen zu portieren, wird es immer schwieriger, je weiter sie voneinander entfernt sind, was Ziele, Richtlinien und die daraus resultierenden Architekturentscheidungen sowie das gemeinsame Erbe und die gemeinsame Infrastruktur wie Paketverteilungsnetzwerke, Standards für die Unterstützung von z Hardware-Peripheriegeräte oder Internationalisierung usw.

Tripleee
quelle
Mir ging irgendwie der Dampf aus. Fühlen Sie sich frei, dies zu aktualisieren oder zu ergänzen.
Tripleee
Da Sie alles sammeln, können Sie auch auf Slackware-Distributionen wie Porteus verweisen.
George Vasiliou
Ich denke, openSUSE sollte auch auf der Liste stehen, aber ich kann nicht herausfinden, ob sie ein Ziel haben, das über "Deutsch sein" hinausgeht.
Tripleee
0

Linux-Distributionen sind so viel mehr als ein Kernel. Dies sind alle Anwendungen, die auch auf dem Kernel ausgeführt werden (einschließlich apt-get), einschließlich vieler sehr niedriger Dinge wie das Init-System. Tatsächlich ist die Auswahl der verwendeten Anwendungen der bestimmende Punkt vieler Distributionen.

Sie können Ubuntu von Mint nicht mehr installieren, als Sie Ihren Cadilac zu einem Autohaus bringen und ihn bitten könnten, ihn in einen Porsche zu verwandeln, aber den Cadilac intakt zu halten. Sie könnten Ihren Cadilac mit viel Aufwand und Aufwand in einen Porsche verwandeln: Immerhin haben beide ähnliche Motoren unter der Motorhaube. Ebenso könnten Sie theoretisch eine Linux Mint-Installation in eine Ubuntu-Installation konvertieren (versuchen Sie dies nicht, es ist ein großer Aufwand), aber es handelt sich um zwei unterschiedliche Produkte. Eine Installation am selben Ort wie eine andere ist nicht sinnvoll oder möglich.

Matthew Scharley
quelle
0

Kurz gesagt: Was die Identität einer Linux-Distribution ausmacht, besteht aus:

  • Die Konfiguration des Kernels: Ja: Alle Distributionen stammen aus demselben Quellcode, aber zwischen dem Quellcode und der tatsächlichen Binärdatei, die auf dem Computer ausgeführt wird, gibt es den Kompilierungsprozess, der das 'Konfigurieren' beinhaltet, dh das Treffen von Entscheidungen.

  • Die Auswahl der Software, die die Schnittstelle zwischen der Hardware und dem Kernel erstellt, sowie deren Konfiguration zur Kompilierungszeit

  • Die Auswahl der Software, die die Schnittstelle erstellt, die Sie als Benutzer verwenden. Hier werden 99% des Codes einer Distribution gespeichert. Wieder einmal läuft alles darauf hinaus, welche Software ausgewählt wird und wie sie konfiguriert und kompiliert wird.

Alle diese Auswahlmöglichkeiten sind Ihnen in einer Distribution verborgen, da sie bereits für Sie getroffen und "verpackt" wurden. Auf diese Weise wird eine Linux-Distribution in der Hoffnung erstellt, dass sie für die meisten Benutzer geeignet ist. Der Nebeneffekt ist jedoch, dass es nicht auf Ihre Bedürfnisse abgestimmt ist.

Wenn Sie viel über die Erstellung von Linux-Distributionen erfahren möchten, empfehlen wir Ihnen, eine eigene Distribution zu erstellen. Das Projekt 'Linux From Scratch' hat mir sehr geholfen.

Vincent Achard
quelle