Comment un système d'exploitation Linux peut-il être «basé sur» un autre système d'exploitation Linux?

38

J'ai récemment parcouru pas mal de distributions Linux pour avoir une idée de ce qui se passe autour, et une phrase ne cesse de se répéter: "[Ce système d'exploitation] est basé sur [un autre système d'exploitation]". Par exemple:

  • Fedora est basé sur Red Hat
  • Ubuntu est basé sur Debian
  • Linux Mint est basé sur Ubuntu

Pour quelqu'un venant d'un environnement Mac, je comprends comment "OS X est basé sur Darwin". Cependant, lorsque je regarde Linux Distros, je me trouve à me demander "Ne sont-ils pas tous basés sur Linux ..?"

Dans ce contexte, que signifie exactement un système d'exploitation Linux basé sur un autre système d'exploitation Linux?

Éphémère
la source
17
et Darwin est basé sur BSD. Vous pouvez lancer l'OS suivant entre ces deux ...: D
Keltari 10/10
12
"Red Hat est basé sur Fedora", celui-là est assez inexact. Plus comme Fedora est un test bêta pour les éléments utilisés plus tard dans RedHat.
vartec
En gros, vous prenez des composants de base d'une distribution, vous changez ce que vous voulez (logiciel, logos, noms, peu importe ...) et vous avez maintenant une "saveur", ou une distribution basée sur l'autre "distro"
TheXed 10/10
2
Le moyen le plus simple est de prendre la distribution Linux exacte que vous aimez et de changer d'une ligne, quelque part, peut-être juste /etc/motd, et voilà, vous avez votre propre nouvelle distribution Linux. Comment un système d'exploitation Linux NE peut-il PAS être basé sur un système existant? C'est la question la plus difficile.
Warren P
4
Je pense que votre réponse est déjà répondu. Cependant, voici une belle représentation graphique de l’histoire de toutes les distributions Linux présentes: upload.wikimedia.org/wikipedia/commons/1/1b/…
Dohn Joe

Réponses:

59

Linux est un noyau , Debian est une distribution de ce noyau et un ensemble de logiciels permettant d’interagir avec le système.

Je peux maintenant prendre Debian et changer le logo sur l'écran de démarrage en mon propre logo, puis ma distribution est basée sur Debian (de manière très primitive). Habituellement, les ajustements apportés à une distribution dérivée sont plus importants.

Le fait est que si vous voulez changer quelque chose à une distribution, vous pouvez simplement la prendre, la modifier à votre guise et ensuite publier votre propre distribution, basée sur celle qui existe (tant que toutes les licences sont respectées).

Der Hochstapler
la source
10
Précis, mais peut-être trop simpliste?
Austin T French
... bien entendu, dans la pratique, la distribution dérivée apporte d'importantes modifications visibles par l'utilisateur, généralement dans des domaines spécifiques. Par exemple, Ubuntu se concentre sur le polissage de l’environnement de bureau. Cependant, la plupart des paquets dans Ubuntu sont simplement copiés à partir de Debian.
Jan Hudec
2
@AthomSfere: Désolé, j'étais sur mon téléphone quand j'ai écrit le post. Je l’améliorerais maintenant, mais il semble que les autres réponses couvrent tous les détails.
Der Hochstapler
8
@ OliverSalzburg Vous étiez au téléphone? Vous êtes très accro :-D
Luc M
9
@AthomSfere KISS peut également être appliqué aux réponses!
jsedano
32

Linux est un noyau - un logiciel (complexe) qui fonctionne avec le matériel et exporte une certaine API (Application Programming Interface), ainsi que des conventions binaires sur la manière de l’utiliser avec précision (ABI, application binary interface) à la disposition des utilisateurs. "espace".

Debian , RedHat et d’autres sont des systèmes d’exploitation - des environnements logiciels complets composés du noyau et d’un ensemble de programmes d’espace utilisateur qui rendent l’ordinateur utile car il effectue des tâches sensibles (envoi / réception de courrier, vous permettant de naviguer sur Internet, robot etc).

Désormais, chacun de ces systèmes d'exploitation, tout en proposant le même logiciel (par exemple, les programmes de serveurs de messagerie gratuits, les navigateurs Internet ou les environnements de bureau, par exemple), diffère en ce qui concerne les méthodes, les objectifs et les cycles de publication.

Généralement, ces systèmes d’exploitation sont appelés «distributions». Ceci est, IMO, un terme quelque peu faux, car vous êtes techniquement capable de construire manuellement tous les logiciels requis et de les installer sur une machine cible. Ces systèmes d'exploitation distribuent donc les logiciels fournis de sorte que vous n'avez pas besoin de les créer. (Debian, RedHat) ou facilitent ce type de construction (Gentoo). Ils fournissent également généralement un programme d'installation qui aide à installer le système d'exploitation sur une machine cible.

Construire et supporter un système d'exploitation est une tâche très compliquée nécessitant une infrastructure complexe et complexe (files d'attente de téléchargement, serveurs de création, un gestionnaire de bogues, des serveurs d'archives, un logiciel de liste de diffusion, etc., etc.) et du personnel. Cela pose évidemment un obstacle important à la création d’un nouveau système d’exploitation. Par exemple, Debian fournit ca. 37k paquets pour environ cinq architectures matérielles - voyez combien de travail est nécessaire pour supporter ce genre de choses.

Néanmoins, si quelqu'un pense avoir besoin de créer un nouveau système d'exploitation pour quelque raison que ce soit, il peut être judicieux de s'appuyer sur une fondation existante . Et c’est exactement là que les systèmes d’exploitation basés sur d’autres sont créés. Par exemple, Ubuntu s'appuie sur Debian en important simplement la plupart de ses paquets, en ne reconditionnant qu'un petit sous-ensemble d'entre eux, puis en empaquetant les siens, en fournissant leurs propres illustrations, paramètres par défaut, documentation, etc.

Notez qu'il y a des variations à cette chose "basée sur". Par exemple, Debian encourage la création de "mélanges purs": des distributions qui utilisent Debian plutôt directement, et ajoutent juste un paquet de paquets et d'autres choses utiles uniquement pour des groupes d'utilisateurs relativement restreints tels que ceux travaillant dans l'éducation, la médecine ou la musique. industrie etc.

Un autre inconvénient est que tous ces systèmes d’exploitation ne sont pas basés sur Linux. Par exemple, Debian fournit également les noyaux FreeBSD et Hurd. Ils ont des groupes d'utilisateurs assez petits, mais quand même.

Kostix
la source
8

Red Hat, Debian, etc. sont toutes des distributions ("distributions") de Linux.

Gardez à l'esprit que, techniquement, Linux n'est que le noyau, qui fait partie intégrante d'un système fonctionnel et utile.

Vous aurez besoin d'utilitaires de base, de décisions concernant l'emplacement des éléments dans le système, d'un mécanisme d'installation et de mise à jour de logiciels et de conventions / normes (telles que le répertoire dans lequel les programmes sont stockés).

La plupart des versions GNU des utilitaires classiques sont souvent considérées comme basiques par de nombreuses distributions. C’est pourquoi Debian, par exemple, l’appelle GNU / Linux. Avec à peu près tout le reste, il y a beaucoup de choix. Et comme Linux, les utilitaires GNU et de nombreuses choses fonctionnant sous Linux sont des logiciels libres, n'importe qui peut créer une nouvelle distribution à tout moment. L'inclusion provient d'une distribution existante si cette distribution n'a rien inclus avec le droit d'auteur ou la propriété.

Les images et les logos sont souvent des marques commerciales / des droits d'auteur et ne peuvent généralement pas être utilisés directement dans une distribution dérivée, à moins que vous ne respectiez les termes et conditions de toute personne qui en est propriétaire. Le même logiciel peut généralement l'être s'il est sous licence GPL ou de type GPL.

Le gestionnaire de package ou la méthode de maintenance, de test et de distribution du logiciel est l’un des principaux problèmes spécifiques à la distribution. Les distributions dérivées sont généralement compatibles avec leurs gestionnaires de paquets "en amont". Rien ne vous empêche cependant d’installer manuellement les programmes sur une distribution Linux.

Cela signifie généralement que vous installerez les logiciels de la même manière à l'aide du même gestionnaire de packages et que les emplacements des fichiers exécutables et des fichiers de configuration se trouveront au même endroit.

LawrenceC
la source
7

Avec Linux, il existe des distributions ou des distributions. Littéralement des centaines d'entre eux.

Linux étant une source ouverte, toute personne (ou tout groupe ou entreprise) peut modifier n’importe quelle partie du système d’exploitation de son choix. C’est pourquoi certaines versions ont des programmes d’installation différents (par .debrapport à RPM ou tout simplement tar) et des commandes différentes (par apt-getrapport à yum).

La plupart des distributions choisissent une utilisation cible ou des utilisations spécifiques et évoluent en conséquence.

Par exemple, Redhat et ses parents sont orientés serveur. La plupart des systèmes d'exploitation sont conçus pour être stables ou rapides.

Debian est censée être plus facile à utiliser, elle supporte donc les .debfichiers qui sont des paquets d'installation faciles.

Ubuntu a pris la base Debian et ajouté du code et des packages pour en faire une bonne première distribution Linux.

Mint a ensuite supprimé une partie du code Ubuntu pour créer un système d’exploitation plus rapide, similaire à Ubuntu, mais plus semblable à un bureau traditionnel lorsque Ubuntu a modifié le gestionnaire de bureau en Unity.

Voici un arbre généalogique détaillé de GNU / Linux: http://upload.wikimedia.org/wikipedia/commons/9/9a/Gldt1009.svg

Austin T français
la source
1
Autant que je sache, sudoest utilisé partout. yumL'équivalent est apt-getouaptitude
Izkata 10/10/2012
1
@ Izkata Oui, désolé. Ça fait longtemps et le café était faible ce matin;)
Austin T French
1
Vous confondez le noyau (Linux) avec le reste du logiciel agrégé dans les distributions.
Matteo Italia
2

Développer les réponses ci-dessus. Linux n’est que le noyau, la plupart des commandes de niveau système (gcc, grep, bison) ont été écrites à l’origine par le projet GNU, la plupart des applications de niveau utilisateur (XFCE, Apache, XMMS) sont écrites par des tiers.

Lorsqu'une distribution était généralement créée à ses débuts, le noyau était regroupé avec les commandes de niveau système et un sous-ensemble d'applications utilisateur et de composants de serveur. C’est toujours le cas aujourd’hui, mais bon nombre des nouvelles distributions ne veulent pas répéter l’effort nécessaire pour que tout se joue bien, elles prennent donc une distribution de base telle que Debian, CentOS, Slackware et ajoutent ou soustraient des applications utilisateurs telles que GNOME, KDE. , LXDE, etc. Ils peuvent également écrire des menus personnalisés et injecter leurs propres logos et arrière-plans dans la distribution (SUSE, PCLinux, etc.). Ils peuvent aller plus loin et créer des applications spécifiques à la distribution, telles que des gestionnaires de paquets ou des frontaux personnalisés.

Donc, quand vous dites par exemple que Ubuntu est basé sur Debian, vous avez raison sur le plan technique, mais il serait préférable de dire, en particulier dans le cas d’Ubuntu, Ubuntu.

Cela devrait aider à visualiser un peu ce dont je parle, il montre comment plusieurs distributions établies ont été introduites dans d’autres. Bien que non précis à 100%, cela donne une idée.

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

À ma connaissance, cette image est précise à 100%. Elle représente une chronologie de toutes les distributions Linux et indique leur origine. De nos jours, il n’ya que très peu de distributions, moins de six, qui puissent remonter à l’origine. Selon cette carte, il n’ya que 2 Redhat et Debian, et même mon bien-aimé Slackware n’était pas un original.

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

Matty
la source
1

Mac OS X est basé sur Darwin dans le sens où il fonctionne sur Darwin. Il a une dépendance à l'exécution sur Darwin, pour ainsi dire.

Ubuntu est basé sur Debian en ce sens qu’il s’agit d’un travail dérivé.

Si vous prenez le paquet et le système de Debian, les paquets et les scripts de Debian et ainsi de suite, et créez votre propre distribution semblable à Debian, alors vous avez quelque chose basé sur Debian.

Les utilisateurs de votre système trouveront de grandes similitudes avec Debian (par exemple, la façon dont le système s’installe, les paquets sont mis à jour ou la forme de la configuration du système /etc).

Debian est également basée sur Debian: la dernière version, Debian, est basée sur la version précédente de Debian.

Kaz
la source
0

Linux n'est que la partie principale qui vous donne accès au matériel de l'ordinateur. Couche sur qui est généralement la bibliothèque GNU C, sur laquelle sont superposées toutes les commandes et tous les logiciels que vous avez l'habitude d'utiliser (y compris toute interface utilisateur graphique).

Que se passe-t-il dans un monde où le logiciel n'est pas verrouillé par une entreprise? Différents groupes rassemblent différents ensembles de logiciels, tous basés sur les deux composants principaux: le noyau Linux et la bibliothèque GNU C. Ces deux sont à peu près présents dans tous les systèmes.

Familièrement, nous appelons tous ces systèmes d'exploitation «Linux» ou «basés sur Linux» et ils sont tous très similaires en raison d'un accord sur diverses normes.

Par ailleurs, le noyau Darwin d’OS X est en fait développé à partir de BSD (plus ancien que Linux).

Angelo
la source