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 ?
/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.Antworten:
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).
quelle
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.
quelle
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.
quelle
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 (
.deb
vs. RPM oder nurtar
) und unterschiedliche Befehle (apt-get
vs.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
.deb
Dateien, 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
quelle
sudo
wird überall eingesetzt.yum
's Äquivalent istapt-get
oderaptitude
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
quelle
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.
quelle
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).
quelle