web-dev-qa-db-fra.com

Que font les différents BSDS en commun?

... et quelles sont les différences entre eux? J'ai formulé ma question comme celle-ci pour indiquer clairement que je ne suis pas intéressé par une flamme d'opinions, plutôt dans une comparaison objective entre les différentes saveurs de BSD UNIX. Idéalement, je pourrais obtenir des commentaires des utilisateurs qui ont une expérience dans toutes.

arrière-plan

J'ai récemment découvert qu'il y a beaucoup plus à UNIX que simplement Linux. J'utilise Solaris au travail, ça m'a ouvert les yeux. Maintenant, je suis intéressé par de nouveaux assices, je veux essayer un nouveau et je suis naturellement curieux des BSD.

le problème

Je ne demande pas de conseils ou d'opinions sur ce que BSD à installer; Je veux connaître les différences (et les points communs) entre eux afin que je puisse faire mon propre esprit. Le problème est qu'il est difficile d'obtenir des comparaisons appropriées entre elles.

Si vous avez de la chance, vous obtenez une définition hâtive comme celle-ci:

FreeBSD = Popular all-rounder.
NetBSD = Portable (runs on a lot of platforms, including a toaster)
OpenBSD = Security above anything else.

((((ça pourrait être vrai, mais ce n'est pas vraiment utile. Je suis sûr que FreeBSD est également portable et sécurisé ...)

Si vous êtes malchanceux, vous vous êtes pris dans l'une de ces légendes UNIX inévitables sur les projets fractionnement, la fourchette, le retour sur des motifs intellectuels/moraux, comment Theo de Raadt est extrémiste et comment Macos X et Freebsd avaient un ancêtre commun il y a plus de 20 ans.

Fascinant, mais pas vraiment informatif, n'est-ce pas?

les BSDS

Les bsds que je suis intéressé sont:

  • FreeBsd
  • Openbsd
  • Netbsd

et éventuellement

  • Libellule
  • Darwin
  • ...

Mes questions

Afin de mieux comprendre les différences, voici une liste des questions quelque peu liées sur les différentes distributions (pouvons-nous utiliser ce terme?). Si vous présentez votre réponse sous une forme de données tabulaires, vous êtes mon héros de tous les temps!

  • Utilisent-ils le même noyau?
  • Utilisent-ils les mêmes outils Userland? (Quelles sont les différences, le cas échéant?)
  • Utilisent-ils le même système de gestion d'emballage/source?
  • Utilisent-ils la même coquille par défaut?
  • Les binaires sont-ils portables entre eux?
  • Sont des sources portables entre eux?
  • Utilisent-ils différents arbres de répertoire?
  • Quelle est la taille de leurs communautés respectives? Sont-ils le même ordre de grandeur?
  • Combien de actuel Le développement est courant?
  • Quelles sont les principales incompatibilités entre eux?

Je ne sais pas à quel point ces questions sont faciles à répondre, et comment est pertinente pour le format Stackexchange de cette question. Je ne suis tout simplement jamais rencontré un simple document énumérant les différences entre les BSD de manière claire, utile pour les utilisateurs assez expérimentés de regarder et de faire un choix facilement.

63
rahmu

Je ne pense pas que je vous fournirai et tout le monde avec la réponse parfaite, cependant, à l'aide d'un système BSD tous les jours pour le travail, je suis sûr que je peux vous donner un aperçu utile dans le monde du BSD. Je n'ai jamais utilisé Netbsd, je ne parlerai pas beaucoup à ce sujet.

Utilisent-ils le même noyau?

Non, bien qu'il y ait des similitudes en raison des fourches historiques. Chaque projet a évolué séparément.

Utilisent-ils les mêmes outils Userland? (Quelles sont les différences, le cas échéant?)

Ils suivent tous POSIX. Vous pouvez vous attendre à un ensemble d'outils pour avoir la même fonctionnalité entre * BSD. Il est également courant de voir des différences évidentes dans les outils de gestion de processus/réseau au sein des BSDS.

Utilisent-ils le même système de gestion d'emballage/source?

Ils fournissent un système d'emballage différent pour chaque système d'exploitation.

Utilisent-ils la même coquille par défaut?

Non, par exemple FreeBSD utilise CSH, OpenBSD utilise KSH.

Les binaires sont-ils portables entre eux?

Non:

(XXXX@freebsd-6 101)file `which ls`
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.5, dynamically linked (uses shared libs), stripped

Ils ne soutiennent pas vraiment l'émulation binaire stable et rapide. Ne comptez pas dessus.

Sont des sources portables entre eux?

Certains oui, tant que vous n'utilisez pas de code de noyau ou de code LIBC (qui est étroitement lié au système d'exploitation) par exemple.

Utilisent-ils différents arbres de répertoire?

Non, ils sont très similaires à Linux ici. Cependant, FreeBSD préconise l'utilisation de/usr/local/etc. pour les fichiers de configuration du logiciel tiers. OpenBSD met tout dans/etc ... ils mettent toute une tierce partie en/usr/local, alors que la distribution Linux fera en forme. En général, vous pouvez dire que * BSD sont très conservateurs à ce sujet, les choses appartiennent à l'endroit où elles appartiennent, et ce n'est pas quelque chose à maquillage.

Quelle est la taille de leurs communautés respectives? Sont-ils le même ordre de grandeur?

FreeBSD est la plus grande et la plus active, vous pouvez l'accéder à de nombreux forums différents, listes de diffusion, IRC chaînes ... OpenBSD a une bonne communauté mais surtout visible via IRC et les listes de diffusion .

En fait, si vous pensez avoir besoin d'une bonne communauté, FreeBSD est la voie à suivre. Les communautés NetBSD et OPENBSD sont centrées sur le développement, parlent de nouvelles améliorations, etc. Ils n'aiment pas vraiment faire un soutien ou une publicité de base. Ils s'attendent à ce que tout le monde soit avancé des utilisateurs Unix et capable de lire la documentation avant de demander quoi que ce soit.

Combien de développement actuel est courant?

En raison d'un code de licence réellement libre, le code de licence libre peut couler entre les projets, OpenBSD correspond souvent à leur code après NetBSD (comme leurs sources ont beaucoup en commun), FreeBSD prend et intègre le filtre de paquets d'OpenBSD, etc. Il est évidemment plus difficile en matière de pilotes et d'autres choses du noyau.

Quelles sont les principales incompatibilités entre eux?

Ils ne sont pas compatibles sous une forme binaire, mais elles sont principalement compatibles dans la syntaxe et le code. Vous pouvez compter sur cela pour atteindre la portabilité de votre code. Il construira ou/et exécutera facilement toutes les saveurs de BSD, sauf si vous allez trop près du noyau (ifconfig, PFCTL ...).

Voici comment vous pouvez profiter de l'apprentissage du monde BSD:

Essayez de remplacer votre routeur Home avec une boîte openbsd, jouer avec PF et le réseau. Vous verrez à quel point il est facile de faire ce que vous voulez. C'est propre, fiable et sécurisé. Utilisez une FreeBSD comme bureau, ils supportent beaucoup de GPU, vous pouvez utiliser Flash dans une certaine mesure, il existe une certaine compatibilité avec les binaires Linux. Vous pouvez construire votre noyau personnalisé en toute sécurité (en réalité, cela est recommandé). C'est globalement une bonne expérience d'apprentissage. Essayez NetBSD sur très ancien matériel ou même Totasters .

Bien qu'ils soient différents, chacun essaie d'être un bon système d'exploitation, et il correspondra aux utilisateurs plus que des situations. En tant qu'expérience d'apprentissage, essayez-les tous (NET/OUVERT/OPEN/GRATUIT), mais plus tard, vous pouvez vous retrouver que vous n'utilisez que 1 pour la plupart des situations (car vous connaissez davantage de manière plus compétente dans un système spécifique ou adapté davantage avec la communauté).

Les autres BSDS sont des hybrides ou simplement des versions légèrement modifiées, je trouve mieux de rester proche de la source du développement logiciel (utilisez le filtre de paquets sur OpenBSD, vous configure votre bureau sur FreeBSD, ...).

En tant que note personnelle, je suis heureux de voir un enthousiaste comme vous, et j'espère que vous trouverez beaucoup de bonnes choses dans le monde du BSD. BSD ne consiste pas à détester des fenêtres ou d'autres OSS, il s'agit d'avoir aimé UNIX.

51
Aki