Wie kann ein Linux-Betriebssystem auf einem anderen Linux-Betriebssystem basieren?

38

Ich habe in letzter Zeit eine ganze Reihe von Linux-Distributionen durchgesehen, um eine Vorstellung davon zu bekommen, was es gibt, und ein Satz, der immer wieder auftaucht, ist "[dieses Betriebssystem] basiert auf [einem anderen Betriebssystem]". Beispielsweise:

  • Fedora basiert auf Red Hat
  • Ubuntu basiert auf Debian
  • Linux Mint basiert auf Ubuntu

Für jemanden, der aus einer Mac-Umgebung kommt, verstehe ich, wie "OS X basiert auf Darwin", aber wenn ich mir Linux Distros anschaue, frage ich mich: "Basieren sie nicht alle auf Linux?"

Was bedeutet es in diesem Zusammenhang genau, wenn ein Linux-Betriebssystem auf einem anderen Linux-Betriebssystem basiert ?

Eintagsfliegen
quelle
17
und Darwin basiert auf BSD. Sie konnten die NeXT OS inbetwixt beiden letztgenannten werfen ...: D
Keltari
12
"Red Hat basiert auf Fedora", das ist ziemlich ungenau. Fedora ist eher ein Beta-Test für Elemente, die später in RedHat verwendet werden.
Vartec
Grundsätzlich nimmst du eine Distribution als Kernkomponente, änderst was du willst (Software, Logos, Namen, was auch immer ...) und jetzt hast du eine "Variante" oder Distribution basierend auf der anderen "Distribution"
TheXed
2
Der einfachste Weg ist, dass Sie genau die Linux-Distribution nehmen, die Sie mögen, und eine Zeile ändern, irgendwo, vielleicht nur /etc/motd, und voila, Sie haben Ihre eigene neue Linux-Distribution. Wie kann ein Linux-Betriebssystem NICHT auf einem vorhandenen basieren? Das ist die schwierigere Frage.
Warren P
4
Ich denke, Ihre Antwort ist bereits beantwortet. Hier ist jedoch eine schöne grafische Darstellung der Geschichte aller Linux-Distributionen, die es gibt: upload.wikimedia.org/wikipedia/commons/1/1b/…
Joe

Antworten:

59

Linux ist ein Kernel , Debian ist eine Distribution dieses Kernels und eine Menge Software, um tatsächlich mit dem System zu interagieren.

Ich kann jetzt Debian nehmen und das Logo auf dem Startbildschirm in mein eigenes Logo ändern, und dann basiert meine Distribution auf Debian (auf sehr primitive Weise). Normalerweise sind die Anpassungen, die in einer abgeleiteten Verteilung vorgenommen werden, umfangreicher.

Der Punkt ist, wenn Sie etwas an einer Distribution ändern möchten, können Sie diese einfach nehmen, nach Ihren Wünschen ändern und dann Ihre eigene Distribution auf der Grundlage der vorhandenen veröffentlichen (sofern alle Lizenzen eingehalten werden).

Der Hochstapler
quelle
10
Genau, aber vielleicht zu simpel?
Austin T Französisch
... natürlich macht die abgeleitete Distribution in der Praxis einige wichtige Änderungen für den Benutzer sichtbar, normalerweise in einem bestimmten Bereich. Zum Beispiel konzentriert sich Ubuntu auf das Polieren der Desktop-Umgebung. Dennoch werden die meisten Pakete in Ubuntu einfach aus Debian kopiert.
Jan Hudec
2
@AthomSfere: Entschuldigung, ich war auf meinem Handy, als ich den Beitrag schrieb. Ich würde es jetzt verbessern, aber es scheint, als hätten die anderen Antworten alle Details abgedeckt.
Der Hochstapler
8
@OliverSalzburg Du warst am Telefon? Sie sind sehr süchtig :-D
Luc M
9
@AthomSfere KISS kann auch auf Antworten angewendet werden!
Jsedano
32

Linux ist ein Kernel - eine (komplexe) Software, die mit der Hardware zusammenarbeitet und eine bestimmte Anwendungsprogrammierschnittstelle (Application Programming Interface, API) sowie binäre Konventionen für deren genaue Verwendung (Application Binary Interface, ABI) exportiert. Raumfahrt "-Anwendungen.

Debian , RedHat und andere sind Betriebssysteme - komplette Software-Umgebungen, die aus dem Kernel und einer Reihe von User-Space-Programmen bestehen, die den Computer bei der Ausführung sinnvoller Aufgaben (Senden / Empfangen von E-Mails, Surfen im Internet, Fahren eines Computers) nützlich machen Roboter etc).

Jedes dieser Betriebssysteme bietet zwar zumeist dieselbe Software (es gibt beispielsweise nicht so viele kostenlose Mailserverprogramme oder Internetbrowser oder Desktop-Umgebungen), unterscheidet sich jedoch in seinen Ansätzen und in seinen erklärten Zielen und Veröffentlichungszyklen.

Typischerweise werden diese Betriebssysteme "Distributionen" genannt. Dies ist, IMO, ein etwas falscher Begriff, der sich aus der Tatsache ergibt, dass Sie technisch in der Lage sind, die gesamte erforderliche Software von Hand zu erstellen und auf einem Zielcomputer zu installieren. Daher verteilen diese Betriebssysteme die gepackte Software, sodass Sie sie entweder nicht erstellen müssen it (Debian, RedHat) oder sie ermöglichen ein solches Bauen (Gentoo). In der Regel wird auch ein Installationsprogramm bereitgestellt, mit dessen Hilfe das Betriebssystem auf einem Zielcomputer installiert werden kann.

Das Erstellen und Unterstützen eines Betriebssystems ist eine sehr komplizierte Aufgabe, die eine komplexe und komplizierte Infrastruktur (Upload-Warteschlangen, Build-Server, Bug-Tracker und Archivserver, Mailinglisten-Software usw. usw. usw.) und Personal erfordert. Dies stellt offensichtlich eine hohe Barriere für die Erstellung eines neuen, von Grund auf neuen Betriebssystems dar. Zum Beispiel bietet Debian ca. 37k-Pakete für fünf Hardwarearchitekturen - sehen Sie, wie viel Arbeit in die Unterstützung dieses Materials gesteckt wird.

Wenn jedoch jemand glaubt, aus irgendeinem Grund ein neues Betriebssystem erstellen zu müssen , ist es möglicherweise eine gute Idee, eine vorhandene Grundlage zu verwenden, um darauf aufzubauen. Und genau hier entstehen Betriebssysteme, die auf anderen Betriebssystemen basieren . Zum Beispiel baut Ubuntu auf Debian auf, indem es nur die meisten Pakete von Debian importiert und nur eine kleine Teilmenge davon neu packt. Außerdem packt Ubuntu seine eigenen, indem es eigene Grafiken, Standardeinstellungen, Dokumentation usw. bereitstellt.

Beachten Sie, dass es zu dieser "basierten" Sache Variationen gibt. Zum Beispiel fördert Debian die Schaffung "reiner Mischungen" von sich selbst: Distributionen, die Debian eher direkt verwenden, und fügen einfach eine Reihe von Paketen und anderen Dingen hinzu, die nur für eher kleine Gruppen von Benutzern nützlich sind, wie diejenigen, die in der Bildung oder Medizin oder Musik arbeiten Industrie usw.

Eine andere Wendung ist, dass nicht alle diese Betriebssysteme auf Linux basieren. Zum Beispiel bietet Debian auch FreeBSD- und Hurd-Kernel an. Sie haben aber trotzdem recht kleine Benutzergruppen.

kostix
quelle
8

Red Hat, Debian usw. sind alle Distributionen ("Distributionen") von Linux.

Denken Sie daran, dass Linux technisch gesehen nur der Kernel ist, der ein Teil eines funktionierenden und nützlichen Systems ist.

Sie benötigen grundlegende Dienstprogramme, Entscheidungen darüber, wo sich die Dinge im System befinden, einen Mechanismus zum Installieren und Aktualisieren von Software und Konventionen / Standards (wie das Verzeichnis, in dem sich die Programme befinden), um dies zu verknüpfen.

Die meisten GNU-Versionen klassischer Dienstprogramme werden von vielen Distributionen als grundlegend angesehen, weshalb Debian sie beispielsweise GNU / Linux nennt. Bei so gut wie allem anderen gibt es eine Menge Auswahlmöglichkeiten. Und da Linux, die GNU-Dienstprogramme und viele Dinge, die unter Linux laufen, freie Software sind, kann jeder jederzeit eine neue Distribution erstellen. Einschließlich von einer vorhandenen Distribution abgeleitet, wenn diese Distribution keine urheberrechtlich geschützten oder urheberrechtlich geschützten Inhalte enthält.

Bilder und Logos sind häufig markenrechtlich geschützt und können in der Regel nicht direkt in einer abgeleiteten Distribution verwendet werden, es sei denn, Sie halten sich an die allgemeinen Geschäftsbedingungen der jeweiligen Eigentümer. Dieselbe Software kann in der Regel eine GPL- oder GPL-ähnliche Lizenz haben.

Eine wichtige Sache, die normalerweise distro-spezifisch ist, ist der Paketmanager oder die Methode, mit der Software gewartet, getestet und verteilt wird. Abgeleitete Distributionen sind normalerweise mit ihren "Upstream" -Paketmanagern kompatibel. Nichts hindert Sie jedoch daran, das Programm manuell auf einer Linux-Distribution zu installieren.

In der Regel bedeutet dies, dass Sie die Software auf dieselbe Weise mit demselben Paketmanager installieren und sich die Speicherorte der ausführbaren Dateien und Konfigurationsdateien am selben Ort befinden.

LawrenceC
quelle
7

Unter Linux gibt es Distributionen oder Distributionen. Buchstäblich Hunderte von ihnen.

Linux ist Open Source, so dass jeder (oder jede Gruppe oder Firma) einen beliebigen Teil des Betriebssystems ändern kann. Aus diesem Grund haben einige Versionen unterschiedliche Installationsprogramme ( .debvs. RPM oder nur tar) und unterschiedliche Befehle ( apt-getvs. yum).

Die meisten Distributionen wählen eine Zielverwendung oder bestimmte Verwendungen und entwickeln sich entsprechend weiter.

Zum Beispiel sind Redhat und seine Verwandten serverorientiert. Der Großteil des Betriebssystems ist darauf ausgelegt, stabil oder schnell zu sein.

Debian soll einfacher zu bedienen sein, daher unterstützt es .debDateien, die einfache Installationspakete sind.

Ubuntu nahm die Debian-Basis und fügte Code und Pakete hinzu, um es zu einer guten ersten Linux-Distribution zu machen.

Mint hat dann einen Teil des Ubuntu-Codes entfernt, um ein schnelleres Betriebssystem zu erstellen, das Ubuntu ähnelt, aber auch eher einem herkömmlichen Desktop ähnelt, als Ubuntu den Desktop-Manager auf Unity änderte.

Hier ist ein detaillierter GNU / Linux-Stammbaum: http://upload.wikimedia.org/wikipedia/commons/9/9a/Gldt1009.svg

Austin T Französisch
quelle
1
AFAIK sudowird überall eingesetzt. yum's Äquivalent ist apt-getoderaptitude
Izkata
1
@ Izkata Ja, tut mir leid. Es ist schon eine Weile her und der Kaffee war heute Morgen schwach;)
Austin T Französisch
1
Sie verwechseln den Kernel (Linux) mit dem Rest der Software, die in Distributionen zusammengefasst ist.
Matteo Italia
2

Erweitere die obigen Antworten. Linux ist nur der Kernel, die meisten Befehle auf Systemebene (gcc, grep, bison) wurden ursprünglich vom GNU-Projekt geschrieben, die meisten Anwendungen auf Benutzerebene (XFCE, Apache, XMMS) werden von Dritten geschrieben.

Bei der Erstellung einer Distribution in der Regel in den Anfängen wurde der Kernel mit Befehlen auf Systemebene und einer Teilmenge von Benutzeranwendungen und Serverkomponenten gebündelt. Dies gilt auch heute noch, aber viele der neuen Distributionen möchten nicht die Mühe wiederholen, alles in Einklang zu bringen, sodass sie eine Basisdistribution wie Debian, CentOS, Slackware verwenden und Benutzeranwendungen wie GNOME, KDE hinzufügen oder entfernen , LXDE usw. Sie können auch benutzerdefinierte Menüs erstellen und eigene Logos und Hintergründe in die Distribution einfügen (SUSE, PCLinux usw.). Sie können weiter gehen und verteilungsspezifische Anwendungen wie Paketmanager oder benutzerdefinierte Frontends erstellen.

Wenn Sie zum Beispiel sagen, dass Ubuntu auf Debian basiert, sind Sie technisch korrekt, aber heutzutage ist es besser zu sagen, insbesondere im Falle von Ubuntu, dass es von Debian abgeleitet ist, da Änderungen an Debian möglicherweise ihren Weg finden oder nicht Ubuntu.

Dies sollte helfen zu visualisieren, wovon ich spreche. Es zeigt, wie mehrere etablierte Distributionen in andere gespalten wurden. Obwohl es nicht 100% genau ist, gibt es eine Idee.

http://photos1.blogger.com/blogger/3370/2500/1600/GNULinuxupdatedw4.0.jpg

Dieses Bild ist meines Wissens zu 100% genau und ist eine Zeitleiste aller Linux-Distributionen und zeigt, woher sie kamen. Heutzutage gibt es nur eine sehr kleine Handvoll von weniger als sechs Distributionen, die ihre Wurzeln bis zum Anfang zurückverfolgen können. Laut dieser Karte gibt es nur 2, Redhat und Debian, nicht einmal meine geliebte Slackware war ein Original.

http://www.techjini.com/blog/wp-content/uploads/2011/10/linuxdistrotimeline-7.2.png

Matty
quelle
1

Mac OS X basiert auf Darwin in dem Sinne, dass es auf Darwin ausgeführt wird. Es hat sozusagen eine Laufzeitabhängigkeit von Darwin.

Ubuntu basiert auf Debian in dem Sinne, dass es eine abgeleitete Arbeit ist.

Wenn Sie Debians Paket- und Build-System, Debians Pakete und Skripte und so weiter verwenden und Ihre eigene Distribution erstellen, die Debian ähnelt, dann haben Sie etwas, das auf Debian basiert.

Benutzer Ihres Systems werden große Ähnlichkeiten mit Debian feststellen (zum Beispiel, wie das System installiert wird, wie Pakete aktualisiert werden oder wie die Systemkonfiguration darunter geformt wird /etc).

Debian basiert auch auf Debian: Die neueste Version von Debian basiert auf der vorherigen Version von Debian.

Kaz
quelle
0

Linux ist nur der Kernteil, mit dem Sie auf die Hardware des Computers zugreifen können. Darauf ist in der Regel die GNU C-Bibliothek aufgebaut, auf der alle Befehle und Software abgelegt sind, die Sie gewohnt sind (einschließlich der grafischen Benutzeroberfläche).

Was passiert in einer Welt, in der die Software von keinem Unternehmen gesperrt wird? Verschiedene Gruppen stellen unterschiedliche Software-Sets zusammen, die alle auf den beiden Hauptkomponenten basieren: dem Linux-Kernel und der GNU C-Bibliothek. Diese beiden sind so ziemlich in jedem System zu finden.

Umgangssprachlich bezeichnen wir alle diese Betriebssysteme als "Linux" oder "Linux-basiert" und sie sind sich aufgrund einer Vereinbarung über verschiedene Standards sehr ähnlich.

Nebenbei bemerkt, der Darwin-Kernel von OS X wurde tatsächlich aus BSD entwickelt (älter als Linux).

Angelo
quelle