Що спільного для різних BSD?


62

... і які між ними відмінності? Я сформулював таке запитання, щоб зрозуміти, що мене не цікавить вогнепальна думка, а не об'єктивне порівняння різних ароматів BSD Unix. В ідеалі я міг би отримати відгуки від користувачів, які мають досвід роботи з усіма ними.

Фон

Нещодавно я виявив, що для Unix є набагато більше, ніж просто Linux. Я використовую Solaris на роботі, це відкрило мені очі. Тепер мене цікавлять нові уні, я хочу спробувати нове і мені, природно, цікаво BSD.

Проблема

Я не прошу поради чи думки щодо того, який BSD встановити ; Я хочу знати відмінності (і загальні моменти) між ними, щоб я міг скласти свою думку. Проблема в тому, що важко порівняти між ними належні порівняння.

Якщо вам пощастило, ви отримаєте таке поспішне визначення, як це:

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

(Це може бути правдою, але це не дуже корисно. Я впевнений, що FreeBSD також портативний і безпечний ...)

Якщо вам не пощастило, ви потрапили в одну з тих неминучих легенд Unix про проекти розщеплення, розкрутки, ребрендингу на інтелектуальних / моральних засадах, як Тео де Раадт є екстремістом і як MacOS X і FreeBSD мали спільного предка понад 20 років тому.

Захоплююче, але не дуже інформативне, чи не так?

BSD

BSD, які мене цікавлять:

  • FreeBSD
  • OpenBSD
  • NetBSD

і необов'язково

  • Стрекоза
  • Дарвін
  • ...

Мої запитання

Щоб краще зрозуміти відмінності, ось список дещо пов'язаних питань щодо різних розподілів (чи можемо ми використовувати цей термін?). Якщо ви представляєте свою відповідь під якоюсь формою табличних даних, ви мій герой за весь час!

  • Вони використовують одне ядро?
  • Вони використовують одні й ті ж інструменти користувача? (які відмінності, якщо такі є?)
  • Вони використовують одну і ту ж систему управління пакетами / джерелами?
  • Вони використовують ту саму оболонку за замовчуванням?
  • Чи переносять бінарні файли між ними?
  • Чи переносні джерела між ними?
  • Вони використовують різні дерева каталогів?
  • Наскільки великі їхні громади? Чи однакові вони за порядком?
  • Яка частина сучасної розробки є загальною?
  • Які основні несумісності між ними?

Я не знаю, наскільки легко відповісти на ці питання і наскільки відповідне формату StackExchange це питання насправді. Я просто ніколи не стикався з простим документом, який чітко перераховував відмінності між BSD, корисним для досить досвідчених користувачів, щоб легко і просто зробити вибір.


13
Це чудове запитання, +1
n0pe

4
Я був на 100% впевнений, що тостер - це жарт ... embeddedarm.com/software/arm-netbsd-toaster.php
tkbx

ха-ха, це була просто демонстрація. Мені подобається, як на екрані дисплея виходить рівень вигорання вище 200%.
Акі

Відповіді:


50

Я не думаю, що я надам вам і всім ідеальну відповідь, однак, використовуючи систему BSD щодня для роботи, я впевнений, що можу дати вам корисне розуміння у світі BSD. Я ніколи не використовував NetBSD, не буду багато говорити про це.

Вони використовують одне ядро?

Ні, хоча є схожість через історичні вилки. Кожен проект розвивався окремо.

Вони використовують одні й ті ж інструменти користувача? (які відмінності, якщо такі є?)

Усі вони дотримуються POSIX. Ви можете очікувати, що набір інструментів матиме однаковий функціонал між * BSD. Також звичайно бачити деякі очевидні відмінності в інструментах управління процесами / мережами в BSD.

Вони використовують одну і ту ж систему управління пакетами / джерелами?

Вони забезпечують систему упаковки, різну для кожної ОС.

Вони використовують ту саму оболонку за замовчуванням?

Ні, наприклад, FreeBSD використовує csh, OpenBSD використовує ksh.

Чи переносять бінарні файли між ними?

Немає:

(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

Вони насправді не підтримують стабільну та швидку бінарну емуляцію. Не покладайтеся на це.

Чи переносні джерела між ними?

Деякі так, якщо, наприклад, ви не використовуєте код ядра або код libc (який щільно пов'язаний з ОС).

Вони використовують різні дерева каталогів?

Ні, вони тут дуже схожі на Linux. Однак FreeBSD виступає за використання / usr / local / тощо для файлів конфігурації програмного забезпечення сторонніх виробників. OpenBSD ставить усе в / etc ... Вони ставлять усіх сторонніх в / usr / local, тоді як дистрибуція Linux буде робити так, як вони вважають за потрібне. Взагалі можна сказати, що * BSD дуже консервативні з цього приводу, речі належать там, де вони належать, і це не те, що слід складати.

Наскільки великі їхні громади? Чи однакові вони за порядком?

FreeBSD - це найбільший і найактивніший, ви можете дістатись до нього через безліч різних форумів, списків розсилки, каналів IRC тощо. OpenBSD має хорошу спільноту, але в основному видно через IRC та списки розсилки.

Насправді, якщо ви думаєте, що вам потрібна хороша спільнота, FreeBSD - це шлях. Спільноти NetBSD та OpenBSD зосереджені на розвитку, говорять про нові вдосконалення тощо. Вони не дуже люблять робити базову підтримку користувачів або рекламувати. Вони очікують, що всі передові користувачі Unix та зможуть прочитати документацію, перш ніж щось запитувати.

Наскільки сучасна розробка є спільною?

Завдяки дійсно безкоштовному коду ліцензій може розповсюджуватися серед проектів, OpenBSD часто виправляє свій код за NetBSD (оскільки їх джерела мають багато спільного), FreeBSD приймає та інтегрує фільтр пакетів OpenBSD тощо. Очевидно складніше, коли справа стосується драйверів та інших ядра речей.

Які основні несумісності між ними?

Вони не сумісні у двійковій формі, але в основному сумісні у синтаксисі та коді. На це можна покластися, щоб досягти портативності у вашому коді. Він буде легко створювати або виконувати будь-які аромати BSD, за винятком випадків, коли ви переходите занадто близько до ядра (ifconfig, pfctl ...).

Ось як можна насолоджуватися навчанням у світі BSD:

Спробуйте замінити домашній маршрутизатор на вікно openbsd, пограйте з pf та мережею. Ви побачите, як легко зробити те, що ви хочете. Це чисто, надійно та безпечно. Використовуйте FreeBSD як робочий стіл, вони підтримують багато графічних процесорів, ви можете використовувати flash до деякої міри, є деяка сумісність з бінарними файлами Linux. Ви можете безпечно створити власне ядро ​​(фактично це рекомендується). Це загалом хороший досвід навчання. Спробуйте NetBSD на дуже старому обладнання або навіть тостерах .

Хоча вони різні, кожен з них намагається бути гарною ОС, і це відповідатиме користувачам більше, ніж ситуаціям. Як досвід навчання, спробуйте їх усі (Net / Open / Free), але пізніше ви можете виявити, що використовуєте лише 1 для більшості ситуацій (оскільки ви більш обізнані в певній системі або більше вписуєтесь у спільноту).

Інші BSD - це гібриди або просто трохи змінені версії, я вважаю, що краще триматися поруч із джерелом розробки програмного забезпечення (використовуйте пакетний фільтр на OpenBSD, налаштовуйте свій робочий стіл на FreeBSD, ...).

Як особиста примітка, я рада бачити такого ентузіаста, як ти, і сподіваюся, що ти знайдеш багато хорошого у світі BSD. BSD - це не ненависть Windows чи інших ОС, це подобається Unix.


5
Прокручуючи вниз, я був впевнений, що це відповідь Гілла. Дякую за чудову відповідь, хоча Акі!
n0pe

2
@MaxMackie - я знаю, що ти маєш на увазі, я думав те саме! :-)
Кріс Даун

2
Ха-ха, я тут не дуже активний, тому не знаю, хто такий Жил, але я з нетерпінням чекаю його відповіді!
Акі

1
Велике спасибі за чудову відповідь! Особливо мені сподобалася остання частина. Я щойно встановив FreeBSD на віртуальній машині. Подивимось, як це йде ...
rahmu

6
+1 за останнє речення. Але я б хотів, щоб я міг +2 за все
Шиплу Мокаддім

16

(Я не можу дати повної відповіді, але я також не можу відвернутись від цього питання, тому ... я просто звернусь до деяких моментів ... FreeBSD був найбільш використовуваним BSD (у 2005 році) , тому я намагаюся запропонувати деякі підказки щодо "інших".)

  • Перш за все, ви праві відхиляти однолінійні пояснення , девіз OpenBSD - "вільний, функціональний та безпечний", а розробники NetBSD також прагнуть створити функціональну систему.
  • бінарна сумісність : Ви, очевидно, можете запускати файли FreeBSD у NetBSD (чого я ніколи не пробував). Це єдина форма бінарного компата між BSD, про які я знаю (крім біткоїнної сумісності NetBSD та FreeBSD (обмежена) Linux).
  • порти : порти NetBSD і DragonFlyBSD використовують pkgsrc, OpenBSD - тут , FreeBSD - тут . Ви можете звернутися до цього, щоб порівняти доступні пакети. Відповідні екосистеми схожі, але не тотожні.
    • pkgsrcВиділяється тим, що він зроблений як портативний, тобто ви можете використовувати його і з Minix 3 або Linux. Тому в ньому є інтерес, що не стосується BSD, і, можливо, як наслідок, є більше портів. pkgsrc-wipдозволяє легко робити внесок.
  • Нещодавно NetBSD представив ґрунтовну систему автоматичного тестування (див. Також kyua), що дозволяє їм запускати автоматизовані тести (і це rumpдає можливість тестувати код ядра в просторі користувачів). Думаю, він також має найсильнішу підтримку XEN. Трохи відступивши від квесту «портативності», вони запровадили три рівні: «Фокус», «Органічний» та «Підтримка життя» . Вони також ввели Луа в базову систему.
  • Щоб зрозуміти дрейф OpenBSD , ці "документи" (в основному приємні слайди) є цінним ресурсом і дають вам уявлення про останні події в OpenBSD.
  • DragonFlyBSD розробив свого власного ZFS-конкурента, HAMMER , який, мабуть, набагато менш голодний на пам'ять (напевно, не настільки повний, я не можу сказати).
  • Я не згоден з @Aki щодо відсутності підтримки з OpenBSD або NetBSD, дивлячись на списки розсилки, обидва пропонують корисні спільноти - придивіться самі - звернення до сторінки сторінки не є образою.

Нижня лінія? Погляньте навколо і спробуйте. Використовуючи бінарні пакети (зазвичай пропонуються з бінарним випуском, тобто не для знімків з -current), не так вже й багато роботи, щоб отримати зручну систему BSD.

Редагувати Можливо, вас зацікавлять їх планети: undeadly.orgдля OpenBSD, blogs.FreeBSDish.org для FreeBSD та planet.netbsd.seдля всіх них ( внизу (?))


5
Гарна відповідь. Я думаю, що так багато сказати, заслуговувало б написати документ. Я не хотів сказати, що спільнота OpenBSD не корисна. Я провів кілька досліджень щодо бінарної сумісності, є ще: netbsd.org/docs/compat.html та compat_linux на OpenBSD. Мабуть, Open відкрив двійковий компат freebsd: nixdoc.net/man-pages/OpenBSD/man8/compat_freebsd.8.html . Як ви сказали, вона обмежена, і я б на це не покладався.
Акі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.