Co łączy różne BSD?


62

... i jakie są między nimi różnice? Moje pytanie sformułowałem w ten sposób, aby było jasne, że nie interesuje mnie wiele opinii, a raczej obiektywne porównanie różnych smaków Uniksa BSD. Idealnie byłoby uzyskać informację zwrotną od użytkowników, którzy mają doświadczenie we wszystkich z nich.

tło

Niedawno odkryłem, że w Uniksie jest znacznie więcej niż tylko Linux. Używam Solaris w pracy, to otworzyło mi oczy. Teraz jestem zainteresowany nowymi jednorożcami, chcę wypróbować nowy i naturalnie jestem ciekawy BSD.

Problem

Nie pytam o porady ani opinie na temat tego, co BSD zainstalować ; Chcę poznać różnice (i wspólne punkty) między nimi, aby móc podjąć decyzję. Problem polega na tym, że trudno jest uzyskać odpowiednie porównania między nimi.

Jeśli masz szczęście, masz pochopną definicję taką jak ta:

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

(To może być prawda, ale to nie jest bardzo przydatne. Jestem pewien, że FreeBSD jest również przenośny i bezpieczny ...)

Jeśli masz pecha, zostajesz uwięziony w jednej z nieuniknionych legend uniksowych o projektach dzielenia, rozwidlania, rebrandingu z przyczyn intelektualnych / moralnych, o tym, jak Theo de Raadt jest ekstremistą i jak MacOS X i FreeBSD mieli wspólnego przodka ponad 20 lat temu.

Fascynujące, ale niezbyt pouczające, prawda?

BSD

BSD, którymi jestem zainteresowany, to:

  • FreeBSD
  • OpenBSD
  • NetBSD

i opcjonalnie

  • Ważka
  • Darwin
  • ...

Moje pytania

Aby lepiej zrozumieć różnice, oto lista dość pokrewnych pytań na temat różnych dystrybucji (czy możemy użyć tego terminu?). Jeśli przedstawisz swoją odpowiedź w formie tabelarycznych danych, jesteś moim wszechczasowym bohaterem!

  • Czy używają tego samego jądra?
  • Czy używają tych samych narzędzi dla użytkowników? (jakie są różnice, jeśli w ogóle?)
  • Czy używają tego samego systemu zarządzania pakietami / źródłami?
  • Czy używają tej samej domyślnej powłoki?
  • Czy pliki binarne są między nimi przenośne?
  • Czy źródła są między nimi przenośne?
  • Czy używają różnych drzew katalogów?
  • Jak duże są ich społeczności? Czy są tego samego rzędu wielkości?
  • Jaka część obecnego rozwoju jest powszechna?
  • Jakie są główne niezgodności między nimi?

Nie wiem, jak łatwo odpowiedzieć na te pytania i jak istotne dla formatu StackExchange jest to pytanie. Po prostu nigdy nie natknąłem się na prosty dokument przedstawiający różnice między BSD w jasny sposób, przydatny dla dość doświadczonych użytkowników, którzy mogliby łatwo i łatwo dokonać wyboru.


13
To świetne pytanie, +1
n0pe

4
Byłem w 100% pewien, że toster był żartem ... embeddedarm.com/software/arm-netbsd-toaster.php
tkbx 10.01.2013

haha cóż, to była tylko wersja demonstracyjna. Podoba mi się, jak poziom wypalenia wydaje się przekraczać 200% na ekranie wyświetlacza.
Aki

Odpowiedzi:


50

Nie sądzę, że dam ci i wszystkim idealną odpowiedź, jednak używając codziennego systemu BSD do pracy, jestem pewien, że mogę dać ci użyteczny wgląd w świat BSD. Nigdy nie korzystałem z NetBSD, nie będę dużo o tym mówić.

Czy używają tego samego jądra?

Nie, chociaż istnieją podobieństwa ze względu na historyczne widelce. Każdy projekt ewoluował osobno.

Czy używają tych samych narzędzi dla użytkowników? (jakie są różnice, jeśli w ogóle?)

Wszystkie są zgodne z POSIX. Można oczekiwać, że zestaw narzędzi będzie miał tę samą funkcjonalność między * BSD. Często zdarzają się oczywiste różnice w narzędziach do zarządzania procesami / sieciami w BSD.

Czy używają tego samego systemu zarządzania pakietami / źródłami?

Zapewniają system pakowania, inny dla każdego systemu operacyjnego.

Czy używają tej samej domyślnej powłoki?

Nie, na przykład FreeBSD używa csh, OpenBSD używa ksh.

Czy pliki binarne są między nimi przenośne?

Nie:

(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

Naprawdę nie obsługują stabilnej i szybkiej emulacji binarnej. Nie polegaj na tym.

Czy źródła są między nimi przenośne?

Niektóre tak, o ile nie używasz kodu jądra lub kodu libc (który jest ściśle powiązany z systemem operacyjnym), na przykład.

Czy używają różnych drzew katalogów?

Nie, tutaj są bardzo podobne do Linuksa. Jednak FreeBSD zaleca użycie / usr / local / etc do plików konfiguracyjnych oprogramowania innych firm. OpenBSD umieszcza wszystko w / etc ... Umieszczają wszystkie strony trzecie w / usr / local, podczas gdy dystrybucja Linuksa zrobi to, co uzna za stosowne. Ogólnie można powiedzieć, że * BSD są bardzo konserwatywne, rzeczy należą tam, gdzie są, i to nie jest coś do nadrobienia.

Jak duże są ich społeczności? Czy są tego samego rzędu wielkości?

FreeBSD jest największym i najbardziej aktywnym, możesz do niego dotrzeć za pośrednictwem wielu różnych forów, list mailingowych, kanałów IRC i takich ... OpenBSD ma dobrą społeczność, ale głównie widoczną poprzez IRC i listy mailingowe.

Właściwie, jeśli uważasz, że potrzebujesz dobrej społeczności, FreeBSD jest dobrym rozwiązaniem. Społeczności NetBSD i OpenBSD koncentrują się na rozwoju, rozmawiają o nowych ulepszeniach itp. Naprawdę nie lubią podstawowej obsługi użytkowników ani reklam. Oczekują, że wszyscy będą zaawansowanymi użytkownikami unixa i będą w stanie przeczytać dokumentację, zanim o coś zapytają.

Jaka część obecnego rozwoju jest powszechna?

Ponieważ naprawdę darmowe licencje mogą przepływać między projektami, OpenBSD często łata swój kod zgodnie z NetBSD (ponieważ ich źródła mają wiele wspólnego), FreeBSD pobiera i integruje Filtr pakietów OpenBSD itp. Oczywiście jest trudniej, jeśli chodzi o sterowniki i inne rzeczy jądra.

Jakie są główne niezgodności między nimi?

Nie są kompatybilne w formie binarnej, ale w większości są kompatybilne pod względem składni i kodu. Możesz na tym polegać, aby osiągnąć przenośność w swoim kodzie. Zbuduje się i / lub z łatwością wykona na wszystkich odmianach BSD, z wyjątkiem sytuacji, gdy będziesz zbyt blisko jądra (ifconfig, pfctl ...).

Oto jak możesz cieszyć się nauką ze świata BSD:

Spróbuj zamienić swój domowy router na box openbsd, graj z pf i siecią. Zobaczysz, jak łatwo zrobić to, czego chcesz. Jest czysty, niezawodny i bezpieczny. Używaj FreeBSD jako pulpitu, obsługują wiele procesorów graficznych, możesz w pewnym stopniu korzystać z Flasha, istnieje pewna kompatybilność z binariami Linuksa. Możesz bezpiecznie zbudować własne jądro (tak naprawdę jest to zalecane). To ogólnie dobre doświadczenie edukacyjne. Wypróbuj NetBSD na bardzo starym sprzęcie lub nawet tosterach .

Chociaż różnią się, każdy z nich stara się być dobrym systemem operacyjnym i będzie pasował do użytkowników bardziej niż sytuacje. W ramach nauki wypróbuj je wszystkie (Net / Open / Free), ale później może się okazać, że używasz tylko 1 w większości sytuacji (ponieważ masz większą wiedzę na temat konkretnego systemu lub bardziej pasuje do społeczności).

Inne BSD to hybrydy lub tylko nieznacznie zmodyfikowane wersje, uważam, że lepiej jest pozostać blisko źródła rozwoju oprogramowania (użyj filtru pakietów w OpenBSD, skonfiguruj swój pulpit we FreeBSD, ...).

Osobiście cieszę się, że widzę takiego entuzjastę i mam nadzieję, że znajdziesz wiele dobrych rzeczy w świecie BSD. BSD nie polega na nienawidzeniu okien ani innych systemów operacyjnych, chodzi o polubienie Uniksa.


5
Przewijając w dół byłem pewien, że to odpowiedź Gillesa. Dzięki za świetną odpowiedź, chociaż Aki!
n0pe

2
@ MaxMackie - Wiem, co masz na myśli, myślałem o tym samym! :-)
Chris Down

2
Haha Nie jestem tu tak naprawdę aktywny, więc nie wiem, kim jest Gilles, ale nie mogę się doczekać, aby przeczytać jego odpowiedź!
Aki

1
Wielkie dzięki za świetną odpowiedź! Szczególnie podobała mi się ostatnia część. Właśnie zainstalowałem FreeBSD na maszynie wirtualnej. Zobaczmy, jak idzie ...
rahmu

6
+1 za ostatnie zdanie. Ale chciałbym móc +2 za całość
Shiplu Mokaddim,

16

(Nie mogę udzielić pełnej odpowiedzi, ale nie mogę też odwrócić się od tego pytania, więc ... Zajmę się tylko niektórymi kwestiami ... FreeBSD był najczęściej używanym BSD (w 2005 r.) , Więc próbuję aby przekazać pewne wskazówki dotyczące „innych”).

  • Przede wszystkim masz rację, odrzucając wyjaśnienia jednowierszowe, motto OpenBSD brzmi: „darmowy, funkcjonalny i bezpieczny”, a programiści NetBSD starają się również stworzyć funkcjonalny system.
  • kompatybilność binarna : Najwyraźniej możesz uruchamiać pliki binarne FreeBSD na NetBSD (czego nigdy nie próbowałem). Jest to jedyna forma binarnej zgodności między znanymi mi BSD (oprócz NetBSD i FreeBSD (ograniczona) zgodność binarna z Linuksem).
  • Porty : używają portów NetBSD i DragonFlyBSD pkgsrc, OpenBSD są tutaj , FreeBSD są tutaj . Możesz się do tego odwołać, aby porównać dostępne pakiety. Odpowiednie ekosystemy są podobne, ale nie identyczne.
    • pkgsrcwyróżnia się tym, że jest przenośny, tzn. można go również używać z Minix 3 lub Linux. Dlatego nie jest nim zainteresowany BSD i (być może w konsekwencji) jest więcej portów. pkgsrc-wipułatwia wkład.
  • NetBSD niedawno wprowadził dokładną platformę automatycznego testowania (patrz także kyua), umożliwiającą przeprowadzanie automatycznych testów (i istnieje rumpmożliwość przetestowania kodu jądra w przestrzeni użytkownika). Wydaje mi się, że ma też najbardziej zaawansowane wsparcie XEN. Odchodząc nieco od zadania „przenośności”, wprowadzili trzy poziomy: „Focus”, „Organic” i „Life Support” . Wprowadzili także Luę do systemu podstawowego.
  • Aby uchwycić znoszenie OpenBSD , te „dokumenty” (głównie ładne slajdy) są cennym zasobem i dają wgląd w najnowsze osiągnięcia w OpenBSD.
  • DragonFlyBSD opracował swój własny program rywalizujący z ZFS, HAMMER , który najwyraźniej jest mniej wymagający pod względem pamięci (prawdopodobnie nie jest tak kompletny, nie mogę powiedzieć).
  • Nie zgadzam się z @Aki w sprawie braku wsparcia dla OpenBSD lub NetBSD, patrząc na listy mailingowe, obie oferują pomocne społeczności - spójrz sam - skierowanie na stronę podręcznika nie jest przestępstwem.

Dolna linia? Rozejrzyj się i spróbuj. Używając pakietów binarnych (zwykle oferowanych z wydaniem binarnym, tj. Nie dla migawek z -current), uzyskanie użytecznego systemu BSD nie jest tak trudne.

Edycja Możesz być zainteresowany ich planetach: undeadly.orgdla OpenBSD, blogs.FreeBSDish.org dla FreeBSD i planet.netbsd.sedla wszystkich z nich ( w dół ? W tej chwili ())


5
Niezła odpowiedź. Myślę, że jest tyle do opowiedzenia, że ​​warto byłoby napisać artykuł. Nie chciałem powiedzieć, że społeczność OpenBSD nie jest pomocna. Przeprowadziłem badania dotyczące kompatybilności binarnej, jest więcej: netbsd.org/docs/compat.html i Compatlinlin na OpenBSD. Najwyraźniej Open miał kiedyś binarną kompatybilność z freebsd: nixdoc.net/man-pages/OpenBSD/man8/compat_freebsd.8.html . Jak powiedziałeś, jest ograniczony i nie chciałbym na nim polegać.
Aki
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.