FreeBSD: фізика файлової системи FreeBSD не має драйверів. Відмінності у програмному забезпеченні та системному дизайні

У цій статті розглянемо операційну систему– FreeBSD, чим вона приваблює користувачів та які недоліки має. Ще 1993 року почалася розробка операційної системиFreeBSD (Berkeley Software Distribution) У цьому ж році вийшла перша офіційна версія. Останній реліз системи з'явився в серпні 2015 року. Як бачимо, ОС FreeBSD стабільно розвивається і природно має своїх шанувальників. Давайте розберемося, за що користувачі люблять FreeBSD і які недоліки має дана система.

Багато користувачі часто порівнюють FreeBSD з Linux, тому що обидві ці системи схожі між собою. Загальна риса: вільне завантаження з мережі, відкриті вихідні коди, безкоштовність, форуми підтримки, де можна знайти багато прихильників даної ОС. Основні відмінності Linux та BSD більш докладно.

Головні переваги системи FreeBSD:

  • Стабільність роботи. Кілька років тому компанія Netcraft привела до уваги результати аналізу роботи сайтів. Найбільш довгу безперервну роботу (за календарними днями) мали веб-проекти, які працювали під керуванням FreeBSD.
  • Безкоштовне завантаження ОС. Більшість користувачів завжди роблять вибір на користь безкоштовних систем і не обтяжують себе покупкою дорогих ліцензій для ОС. Таким чином завантажити та встановити FreeBSD Ви можете абсолютно безкоштовно.
  • Відкритий вихідний код. Будь-хто може вносити свої правки в код і виконувати бажані перевірки без проблем, щоправда, є якісь обмеження, але вони занадто мінімальні.
  • Якість.Багато популярних на весь світ веб-сервісів використовують цю систему, що є безперечним підтвердженням якості роботи. За оцінками експертів, майже 40% серверів на ринку СНД працюють саме на даній ОС.
  • Надійність.Даний фактор забезпечується монолітним ядром та закінченою логічною структурою ОС, яка по суті є цілісною.

Структура системи FreeBSD:

  1. Бібліотека С використовується як системного інтерфейсупрограмування.
  2. Ядро, яке призначене для планування всіх процесів, управління пам'яті, роботи з пристроями тощо.
  3. Різноманітні файлові утиліти, компілятори, оболонки, редактори зв'язків та інші програми для кінцевого користувачадеякі з них базуються на коді GNU.
  4. За графічний дизайн відповідає вбудована у FreeBSD X Window.
  5. Величезний вибір системних та прикладних програм.

Розробкою FreeBSD займаються майже 4 тис. добровольців, які випускають оновлені версії. Загалом релізів налічують десять, останній з яких був випущений 13 серпня 2015 року. Але все-таки система не є настільки популярною, як, наприклад, Linux. Давайте розберемося з причин, чому FreeBSD має невелику кількість користувачів. Насамперед, це "заслуга" розробників, які займаються шліфуванням коду системи, і дуже мало часу приділяють рекламі свого продукту. Крім того, вони мало піклуються про рядового користувача і не спрощують процес налаштування та встановлення ОС, що для багатьох є ключовим етапом при виборі операційної системи. Адже налаштувати Linux набагато простіше ніж FreeBSD.

Недоліки системи FreeBSD .

Серед мінусів ОС користувачі найчастіше виділяють складність установки та налаштування системи, але з приходом певних навичок в адмініструванні цей недолік стає несуттєвим. Крім того, для вивчення роботи FreeBSD недостатня кількістьлітератури та важкий доступ до документації. Якщо Ви все-таки хочете, щоб ця ОС працювала на вашому виділеному сервері, можете звернутися в нашу тех.підтримку і вони швидко та якісно встановлять та налаштують FreeBSD. Також достатньо буде просто при сервері вибрати FreeBSD бажаної ОС і вона буде встановлена ​​на Ваш сервер.

Висновок.Якщо Ви вибираєте ОС для свого сервера, прочитайте такі поради, які, сподіваємось, допоможуть Вам зробити правильний вибір. Часто можна зустріти інформацію на інтернет-ресурсах, що FreeBSD покращує продуктивність, це справді так, але це правилоне слід вважати універсальним. Хороша репутація FreeBSD цілком заслужена завдяки наданій якості ОС. І останнє, якщо Ви вже використовуєте обрану ОС, не варто її змінювати.

До Вашої інформації, ОС FreeBSD (9,10) вже встановлена ​​на наших ВВС серверах і Ви зможете відчути всі переваги даної системи, зробивши замовлення віртуального серверав компанії Hyper Host™ . ?

6628 раз(и) 14 Сьогодні переглянуто раз(и)

Процес покрокової установки операційної системи FreeBSD для новачків. Усі етапи інсталяції прокоментовані та проілюстровані скріншотами.

Я розглядатиму процес установки ОС FreeBSD-5.3-RELEASE, але так як установник не змінювався дуже давно, практично все описане в цій статті справедливе і для більш ранніх версій. У моєму випадку установка буде виконуватися з CD-ROM'у.

У біосі (BIOS) комп'ютера задаємо завантаження з CD-ROM, вставляємо диск з дистрибутивом в привід і перезавантажуємося. Ми бачимо меню програми sysinstall:

Її можна викликати і після встановлення для деяких налаштувань, але я не рекомендував би. У більшості випадків підходить тип установки standart, який я і вибрав. Інші типи установки потрібні для тих, кому треба щось налаштувати нестандартно або тим, хто знає, що йому потрібно, щоб не встановлювати зайве.

Насамперед нам необхідно створити на жорсткому диску розділ для встановлення ОС, що нам і пропонується зробити:

Ми бачимо список вже існуючих розділів та вільне місце (всі цифри дано в байтах, натискаючи «z» можна перемикатися між варіантами). Щоб створити розділ, треба поставити курсор на смужку із зазначеною кількістю вільного місця на диску та натиснути “c” (create). Вводимо бажаний розмір розділу (за промовчанням пропонується використовувати все доступне місце). Якщо ви хочете використовувати не все місце, то треба задати кількість (щоб вказати кількість в мегабайтах треба в кінці дописати MB, наприклад 4096MB, за умовчанням передбачається, що розмір вводиться в секторах). Далі задаємо тип (залишаємо 165). Видалити розділ можна натисканням d (delete). Увага!Будьте обережні на цій стадії – можна легким рухом руки видалити потрібні розділи;) Тепер зберігаємо зміни – «w», і завершуємо – «q». Далі переходимо в меню створення розділів файлової системи FreeBSD.

Тут є два варіанти: довіриться автоматичному процесу, натиснувши "a" (auto) або ж вручну створити, натискаючи "c" (create, курсор повинен знаходиться вгорі на рядку з нашим розділом для FreeBSD). Якщо ви вирішили створювати вручну, то в діалозі створення розділу файлової системи треба буде вести ім'я та розмір (за замовчуванням вводиться в секторах, щоб вказувати його в мегабайтах, треба в коні цифри дописувати MB, наприклад, 256MB).

Розділи, обов'язкові до створення:

/ /swap /var /tmp /usr

В принципі, автоматичного розподілу цілком достатньо, але я порадив би зробити вручну. Спочатку подивитися, що запропонує нам установник, натиснувши «a», записати ці значення, потім видалити їх – «d» і зробити на власний розсуд. Можу запропонувати такі розміри:
/ 128 Mb /swap RAM*2 або більше (RAM - розмір оперативної пам'яті комп'ютера) /var сервер: 2Gb, домашній комп'ютер: 128 Mb /tmp сервер: 1 Gb, домашній комп'ютер: 64 Mb /usr

Коли ми вибрали розміри розділів, можемо, натиснувши w зберегти їх і q, щоб продовжити. Буде запропоновано встановити менеджер завантаження - треба вибрати цей варіант, якщо ви хочете, щоб на вашому комп'ютері спільно жили FreeBSD і, наприклад, Windows або інша ОС (Install the FreeBSD bootmanager).

Якщо на комп'ютері планується тільки FreeBSD, то відмовляємося від менеджера завантаження (Standart). Останній пункт (None) можна вибрати, якщо на комп'ютері вже була встановлена ​​ОС FreeBSD і змінювати завантажувач на жорсткому диску немає потреби.

Тут ми вибираємо, що встановити додатково: вихідні тексти ОС, документація та ін. У більшості випадків досить просто встановити все. Але краще вибрати custom і там відзначити: base, crypto, manpages, doc, src (можна всі вихідники, але якщо економимо місце, але перезбиратимемо ядро, то тільки sys), ports, compat4x (деякі програми можуть вести себе дивно, якщо не встановлено цей режим сумісності).

Ось файли скопійовані.

Тепер необхідно встановити деякі налаштування системи. Насамперед можна налаштувати SLIP/PPP-пристрій (якщо воно є). Це зазвичай виділена лінія інтернет. якщо такий варіант є, то в діалозі погоджуємось, натиснувши «YES», вибираємо зовнішній інтерфейс (зазвичай ed0), вказуємо потрібні налаштування:

Чи є підтримка протоколу IPv6?

Конфігурація DHCP, IP-адреса комп'ютера та гейта (комп'ютера, через який відбувається вихід в інтернет; всі ці налаштування необхідно дізнатися у провайдера).

Потім нас запитують, чи ми хочемо відразу ж увімкнути цей інтерфейс.

Слідом йдуть питання:

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

Чи хочете дозволити доступ до комп'ютера віддалено за протоколу ssh(Secure shell). Якщо необхідний віддалений доступ, то рекомендую використовувати саме ssh, а telnet відключити т.к. telnet – дуже небезпечний сервіс.

Чи треба дозволити анонімний доступдо машини по FTP? (Звичайно, починаючи з певної папки, а не до всього диска;)

Чи використовується машина як NFS-сервер і клієнт? ( Network File System)

Чи налаштовуватимемо консоль? (треба налаштувати російську мову, так що вибираємо так, заходимо по черзі у всі категорії та вибираємо пункт з позначкою «russian» - російську, потім натискаємо «exit»)

Пропонується налаштувати годинник комп'ютера. Якщо ви вибрали так, то далі будуть наступні питання:

  • Чи налаштовано годинник комп'ютера на міжнародний час? (якщо так, вибираємо «YES», якщо вони налаштовані на місцевий час, або ви не впевнені - «NO»)
  • пропонується вибрати регіон зі списку:


  • країна;
  • що географічно найближче до вашого міста;
  • пропонується абревіатура місцевості, і питання «чи це схоже на правду»? Якщо ні, треба буде вибрати знову.)

Чи встановлювати програму для сумісності із Linux-системами? (якщо її встановити, то можна буде запускати програми для Linux. Якщо комп'ютер для дому, раджу встановити.)

Чи є миша? :) (думаю, ви оберете "YES", в діалозі треба вказати тип миші, порт (для USB вибирайте BusMouse), і натиснути "enable". Конфігуратор запитає, "чи запрацювала миша?", треба погодиться. Можливо, відразу миша не запрацює, але після перезавантаження зазвичай усі миші визначаються і працюють на ура).

Діалог вибору додаткових програм для встановлення. Програми розбиті за категоріями. Раджу переглянути усі. Назва зазвичай відображає призначення програми, і ви легко зможете вибрати потрібні (звісно, ​​якщо ви хоч трохи знаєте англійську).

Тут все залежить від завдання, для якого встановлюється FreeBSD:

  • якщо це сервер, то треба вибрати будь-які мережеві програми(apache, samba і т.д.);
  • якщо це ОС домашньому комп'ютері, то логічно встановити систему X-Window (графічний сервер) і мультимедійні програми.

У меню буде два пункти для роботи з групами та користувачами:

Зараз я покажу приклад налаштувань для користувача vasya, який входить до групу wheel(група адміністраторів) - це необхідно, щоб він міг у майбутньому отримувати права rootкомандою su. Якщо користувач не входить до групи wheel, то він не зможе отримати права суперкористувача (це зроблено з міркувань безпеки).

Після налаштування груп та користувачів натисніть exit. З'явиться запрошення для встановлення пароля користувача root.

На цьому встановлення ОС FreeBSD завершено! Тепер необхідно налаштувати її для своїх потреб: зробити локалізацію шрифтів у KOI8-R або CP-1251, налаштувати всі сервіси, які надаватиме ОС тощо. Інформацію про те, як це робити, можна знайти на сайтах bsdekaterinburg.ru, а також у handbook (настільна книга користувачів FreeBSD; вона доступна на сайті freebsd.org.ru, а також, якщо ви встановлювали документацію, на жорсткому диску:).

А ось так виглядає робочий стіл у FreeBSD на моєму домашньому комп'ютері:

P.S. Порадами допомагав anbioZz.

FreeBSD- Unix-подібна операційна система, що вільно розповсюджується, з відкритим вихідним кодом. Є нащадком AT&T Unix, відгалуження BSD, що утворилося в університеті Каліфорнії в Берклі. Працює на PC-сумісних системах x86, у тому числі Microsoft Xbox, а також DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC, NEC PC-98, ARM.

Коротка історія операційної системи FreeBSD

Операційна система Unix, зародилася 1969 року, у науково-дослідному підрозділі, компанії AT&T, Bell Labs. У той час монополія на комп'ютерну індустрію належала державі, і компанія AT&T не могла продавати своє програмне забезпечення. В результаті, в 1976, AT&T вирішила безкоштовно надати своє програмне забезпечення та його вихідні коди, університетському середовищі. Одні в цьому випадку отримали можливість заощадити значні кошти і доступ до технології, другі, безкоштовний майданчик для експериментів і ціле покоління фахівців, які виросли на їхньому обладнанні. Наприкінці 70-х років, у компанії AT&T, було створено робоча групапідтримки Unix (Unix Support Group, USG), згодом перетворена на систему лабораторій Unix (Unix System Laboratories, USL). У завдання USL входила розкрутка операційної системи Unix, як комерційний продукт, що з успіхом і робилося, система продавалася підприємствам за великі гроші. Розробка системи тривала і в Bell Labs і USG. Група з дослідження комп'ютерних систем(Computer Systems Research Group, CSRG) Каліфорнійського університету, що брала участь у розробці та вдосконаленні системи Unix, стала центральним сховищем вихідних кодів та їх поліпшень. Група збирала зміни, оцінювала, упаковувала та передавала решті власників дійсної ліцензії AT&T Unix. Крім того, CSRG, працювала з підрозділом міністерства оборони США, управлінням перспективних дослідних проектів(Advanced Research Projects Agency, ARPA), з метою реалізації в Unix, різних функціональних можливостейнаприклад, стек протоколів TCP/IP. Підсумкова колекція програмного забезпечення Каліфорнійського університету отримала назву BSD (Berkley Software Distribution). Перший випуск BSD було створено 1977 року. Зрештою фінансування CSRG припинилося, після чого університетом у Берклі було прийнято рішення відкрити вихідний код BSD для широкої публіки. Першим дистрибутивом операційної , стала FreeBSD версії 1.0, випущена 1993 року. За основу було взято стрічку 4.3BSD-Lite ("Net/2"), університету в Берклі, з численними додаваннями з проекту 386BSD, і вже в травні 1994 року, вила випущена FreeBSD 1.1 RELEASE. Тим часом, між компанією Novell та Каліфорнійським університетом у Берклі назрівав скандал, пов'язаний із легальністю версії Net/2 з Берклі. Судовий розгляд тривало досить довго. У результаті, за умовами угоди, досягнутої в ході даного процесу, Каліфорнійський університет визнавав, що великі шматки коду Net/2 були «успадкованим» кодом, права на який належали компанії Novell, яка раніше викупила ці права у компанії AT&T. Натомість Novell давала "добро" на те, що версія 4.4BSD-Lite, буде оголошена як повністю вільною, а користувачам Net/2 буде рекомендовано перейти на неї. Ця угода також стосувалося і FreeBSD, проекту було дано час, до кінця липня 1994 року, для припинення поширення продукту на основі Net/2. До закінчення терміну було дозволено випустити версію FreeBSD 1.1.5.1. Проект мав багато перетворювати практично з нуля, взявши за основу, по суті не закінчений проект 4.4BSD-Lite, і в листопаді 1994 року, була випущена FreeBSD 2.0. Все це досить заплутано, інформація з різних джерелзазвичай досить суперечлива. Очевидно одне, версія 4.4BSD-Lite, є бабусею поточного коду FreeBSD і прародичкою багатьох інших операційних систем сімейства BSD.

Інші BSD системи

4.4BSD-Lite породила не тільки операційну систему FreeBSD, але й безліч інших проектів, з яких можна виділити такі:

NetBSD

- багато в чому подібна до FreeBSD, а їх команди ділять між собою розробників і сам програмний код. Основне призначення NetBSD, надати надійну та безпечну операційну систему, яка може бути перенесена практично на будь-яку апаратну платформу з мінімальними зусиллями. Так NetBSD працює на VAX, PocketPC, високопродуктивних серверах SPARC та Alpha.

OpenBSD

- відповіла від проекту NetBSD у 1996 році. Основною відмінністю від інших BSD систем, початкова орієнтованість на підвищену безпеку. Одним із дочірніх проектів OpenBSD є пакет OpenSSH, що використовується практично всіма операційними системами та виробниками апаратного забезпечення.

MacOS X

- Стабільна операційна система з дружнім інтерфейсом, що використовується на комп'ютерах компанії Apple, на процесорах PowerPC і Intel, також містить у собі значні ділянки коду BSD.

Операційні системи на основі FreeBSD:

  • DragonFly BSD
  • ClosedBSD
  • DesktopBSD
  • FreeSBIE
  • FreeNAS
  • Frenzy Live CD
  • Debian GNU/kFreeBSD
  • Gentoo/FreeBSD
  • IronPort AsyncOS - захисні пристрої
  • Juniper Networks JunOS - роутери Juniper
  • MidnightBSD
  • Nokia IPSO – захисні пристрої Nokia IP
  • PC-BSD
  • PicoBSD
  • RofreeSBIE
  • The Dark Star
  • TrueBSD
  • m0n0wall
  • pfSense
  • Paxym FreeBSD для Octeon Cavium_Networks

Операційні системи на основі NetBSD:

  • OpenBSD – відгалуження від NetBSD 1.0, акцент на активній безпеці та інтегрованій криптографії
  • BlackBSD
  • Force10 Networks FTOS, операційна система для роутерів/свічів Force10 TeraScale E-Series
  • Debian GNU/NetBSD
  • Gentoo/NetBSD
  • Jibbed
  • PolyBSD/pocketSAN
  • Redback Networks SEOS, операційна система для роутерів серії Redback SmartEdge

Операційні системи на основі OpenBSD:

  • Quetzal
  • Anonym.OS
  • FuguIta
  • BSDAnywhere
  • Gentoo/OpenBSD
  • MirOS MirOS BSD
  • OliveBSD

Операційні системи на основі Dragonfly BSD:

Firefly BSD

Ліцензія BSD

Ліцензію BSD можна вважати найвільнішою в плані обмежень накладених на користувача, в порівнянні з іншими ліцензіями на вільне програмне забезпечення. Ця ліцензія існує у двох варіантах, оригінальна та змінена. У змінену був доданий додатковий, 3-й пункт, що гласить: * * Ні назва<Организации>, ні імена її співробітників не можуть бути використані в якості підтримки або просування продуктів, * Заснованих на цьому ПЗ без попереднього письмового дозволу. Нижче наведено текст оригінальної ліцензії BSD. * Copyright 1994-2009 The FreeBSD Project. Всі права захищені. * * Дозволяється повторне розповсюдження та використання як у вигляді вихідного * коду, так і в двійковій формі, зі змінами або без, при дотриманні * наступних умов: * * * При повторному розповсюдженні вихідного коду повинно залишатися * вказане вище повідомлення про авторське право, цей список умов та * подальша відмова від гарантій. * * При повторному розповсюдженні двійкового кодуповинна зберігатись * зазначена вище інформація про авторське право, цей список умов та * подальша відмова від гарантій у документації та/або в інших * матеріалах, що постачаються при розповсюдженні. * * ЦЯ ПРОГРАМА НАДАНА ВЛАСНИКАМИ АВТОРСЬКИХ ПРАВ І/АБО ІНШИМИ * СТОРОНАМИ "ЯК ВОНА Є" БЕЗ БУДЬ-ЯКОГО ВИДУ ГАРАНТІЙ, ВИРАЖЕНИХ ЯВНО, АБО ПОДРОЗУМОВАНИЙ, АБО ПОДРОЗУМОВАНІ МІ, ПІДСУМНІ * ГАРАНТІЇ КОМЕРЦІЙНОЇ ЦІННОСТІ І ПРИГОДНОСТІ ДЛЯ КОНКРЕТНОЇ ЦІЛІ. НІ В * ЯКОМУ ВИПАДКУ, ЯКЩО НЕ ВИМАГАЄТЬСЯ ВІДПОВІДАЛЬНИМ ЗАКОНОМ, АБО НЕ ВСТАНОВЛЕНО * В УСНІЙ ФОРМІ, ЖОДНИЙ ВЛАСНИК АВТОРСЬКИХ ПРАВ І НІ ОДНЕ ІНШЕ ОСОБИ/ СТРАНЯТИ ПРОГРАМУ, ЯК БУЛО * СКАЗАНО Вище, НЕ НЕСЕ ВІДПОВІДАЛЬНОСТІ, ВКЛЮЧАЮЧИ БУДЬ-ЯКІ ЗАГАЛЬНІ, ВИПАДКОВІ, * СПЕЦІАЛЬНІ АБО НАСЛІДНІ ЗБИТКИ, НАСЛІДКИ ВИКОРИСТАННЯ АБО * НЕМОЖЛИВОСТІ ВИКОРИСТАННЯ, ВИКОРИСТАННЯ, ВИКОРИСТАННЯ СЬ * ВТРАТИ ДАНИХ, АБО ДАНИМИ, СТАЛИМИ НЕПРАВИЛЬНИМИ, АБО ВТРАТАМИ * ПРИНЕНИМИ ЧЕРЕЗ ВАС АБО ТРЕТІХ ОСІБ, АБО ВІДМОВИЮ ПРОГРАМИ ПРАЦЮВАТИ * СПІЛЬНО З ІНШИМИ ПРОГРАМАМИ), НАВІТЬ ЯКЩО ТАКИЙ ВЛАСНИК АБО ІНШЕ * ОБЛИЧЧЯ БУЛИ ВІДПОВІДІ ПРО МОЖЛИВОСТІ ТАКИХ ЗБИТКІВ.

FreeBSD – вільна та відкрита Unix-подібна операційна система та популярна серверна платформа. Хоча FreeBSD та інші BSD-системи мають багато спільного з такими системами, як Linux, між ними є багато важливих відмінностей.

Ця стаття коротко ознайомить вас з основними загальними рисамита відмінностями між системами FreeBSD та Linux.

Примітка: Стаття зосереджена на FreeBSD, але багато з наведених нижче пунктів стосуються і інших BSD-систем.

Що спільного між FreeBSD та Linux?

Для початку потрібно з'ясувати, чим ці системи схожі одна на одну.

Ліцензування систем відрізняється (ми обговоримо це пізніше), проте обидві ці сімейства систем є вільними та відкритими. Користувачі можуть переглядати та змінювати вихідний код на свій розсуд, а розробка виконується у відкритому доступі.

FreeBSD та дистрибутиви Linux є Unix-подібними за своєю природою. FreeBSD має багато спільного із системами Unix попередніх поколінь, а система Linux була створена з нуля як відкрита альтернатива Unix.

Також обидва сімейства в основному сумісні з POSIX. Загальні функції та дизайн систем стандартизовані та використовують аналогічні шаблони. Ієрархія файлової системи будується однаково, основним способом взаємодії з обома системами є середовище оболонки, API-інтерфейси програмування мають подібні функції.

Тому дистрибутиви FreeBSD та Linux можуть спільно використовувати багато інструментів та програм. У деяких випадках відрізняються версії або варіанти програм, але програми між цими системами мігрувати легше, ніж у Unix-подібну систему.

Тепер настав час розібратися, чим відрізняються FreeBSD і Linux.

Відмінності у ліцензуванні

Одна з найбільш фундаментальних відмінностей між системами FreeBSD та Linux – це питання ліцензування.

Ядро Linux, програми на основі GNU та багато програмні продуктизі світу Linux ліцензуються за GPL (або GNU General Public License). Ця ліцензія часто називається вільною (copyleft). По суті, це форма ліцензування, яка дозволяє вільно переглядати, розповсюджувати та змінювати вихідний код за умови, що будь-які похідні продукти будуть підтримувати цю ліцензію.

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

Переваги кожного з цих типів ліцензування майже повністю залежать від філософії та потреб користувача. Ліцензії GPL борються за спільне використання коду та відкриту екосистему. Закрите програмне забезпечення не повинно ґрунтуватися на програмах з ліцензією GPL. А ліцензійне програмне забезпечення BSD можна вільно включати в закриті програми. Це робить ліцензування BSD привабливішим для багатьох компаній та приватних осіб, які сподіваються монетизувати своє програмне забезпечення – воно дозволяє продати програмне забезпечення та зберегти вихідний код закритим.

Розуміння ліцензування систем FreeBSD та Linux допоможе вам краще розібратися з їхньою філософією.

Історія розвитку FreeBSD

Ще одна важлива різниця між системами FreeBSD та Linux – це історія кожної системи. Поряд із відмінностями в ліцензуванні, про які йшлося вище, історія справила, мабуть, найбільший вплив на філософію кожної системи.

Linux – це ядро, розроблене Лінусом Торвальдсом як засіб заміни обмежувальної системи MINIX, яку він використовував у університеті Хельсінкі. У поєднанні з іншими компонентами, багато з яких надходять із набору GNU, операційна система на ядрі Linuxмає багато унікальних властивостей Unix, незважаючи на те, що вона була безпосереднім відгалуженням системи Unix. Оскільки Linux була запущена з нуля, не успадковує дизайн і деякі із застарілих міркувань, вона може значно відрізнятися від систем із тіснішими зв'язками з Unix.

FreeBSD має багато прямих зв'язків з Unix. BSD (або Berkeley Software Distribution) – це дистрибутив Unix, створений у Каліфорнійському університеті в Берклі, який розширив набір функціональних можливостей AT&T Unix та мав прийнятні умови ліцензування. Пізніше було вирішено спробувати замінити вихідну операційну систему AT&T, використовуючи альтернативи з відкритим вихідним кодом, щоб користувачам не потрібно отримувати ліцензію AT&T для роботи з BSD. Зрештою, всі компоненти оригінальної системи AT&T були переписані під ліцензією BSD та перенесені в архітектуру i386 як 386BSD. Система FreeBSD стала форком цієї бази з метою покращити та модернізувати виконану роботу та зрештою була перебазована у неповний реліз під назвою BSD-Lite для вирішення питань ліцензування.

Завдяки тривалому та багатоетапному процесу відгалуження FreeBSD стала вільною від ліцензій, але підтримувала тісні зв'язки з її минулим. Розробники системи, як і раніше, реалізували багато функцій способами, прийнятими в Unix, можливо, тому, що FreeBSD завжди розроблялася як клон Unix з відкритою ліцензією. Це вплинуло на подальший розвиток і спричинило наслідки, мова про які піде нижче.

Базова операційна система та додаткове програмне забезпечення

Ключовою відмінністю між дистрибутивами FreeBSD та Linux у плані розробки та проектування системи є область самої системи. Команда FreeBSD розробляє ядро ​​і базову операційну систему як єдине ціле, тоді як Linux технічно належить лише ядру, інші компоненти надходять із різних джерел.

Ця відмінність може здатися незначною, але насправді це сильно впливає на взаємодію та управління системою. У Linux дистрибутив може поєднати пакети, гарантуючи, що вони добре взаємодіють один з одним. Однак більшість компонентів надходитимуть із широкого кола джерел, а розробники дистрибутива лише формують із них набори, які правильно функціонують у системі.

У цьому сенсі основні компоненти не дуже відрізняються від додаткових пакетів, доступних у репозиторіях дистрибутива. Засоби керування пакетами дистрибутива використовуються для відстеження та керування цими компонентами так само, як і додатковими пакетами. Дистрибутив може підтримувати різні репозиторії, залежно від того, хто відповідає за певні пакети.

А FreeBSD підтримує всю основну операційну систему. Ядро та набір програм, багато з яких створено самими розробниками FreeBSD, підтримуються як єдине ціле. Тут не так просто міняти компоненти, які є частиною основного набору, тому що він у певному сенсі неподільний. Це дозволяє команді FreeBSD дуже чітко керувати основною операційною системою, забезпечуючи тісну інтеграцію та більшу передбачуваність.

Програмне забезпечення, що входить до основної операційної системи, вважається повністю відокремленим від додаткових компонентів. FreeBSD пропонує велику колекціюдодаткового програмного забезпечення, як це роблять дистрибутиви Linux, але їхнє управління відбувається окремо. Основна система оновлюється незалежно як окремий блок, а додаткове програмне забезпечення може оновлюватися індивідуально.

Формування релізів

Більшість Linux-релізів є результатом збору програмного забезпечення з різних джерел (і, при необхідності, його зміни). Укладачі дистрибутива вирішують, які компоненти повинні бути включені в установку, які - в репозиторії, що підтримуються, і т. д. Після спільного тестування компонентів створюється реліз.

У попередньому розділі ви дізналися, що:

  • Більшість операційної системи FreeBSD розробляється командою FreeBSD.
  • Базова операційна система FreeBSD – це основний вихід.
  • Базове програмне забезпечення FreeBSD вважається єдиним та неподільним набором.

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

Насамперед, оскільки ці інструменти розроблені разом у одному репозиторії, реліз створюється шляхом простий ревізії однієї з гілок репозиторію. Подібним чиномвиходить більшість програм, оскільки з організованої бази коду вибирається стабільна точка.

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

Це чимось схоже на те, як користувачі відстежують репозиторії. різних рівнівстабільності у деяких дистрибутивах Linux. Тільки в Linux ви відстежуєте репозиторій пакетів, а FreeBSD ви можете відстежувати цілу гілку централізованого репозиторію вихідного коду.

Відмінності у програмному забезпеченні та системному дизайні

Відмінності, що залишилися, пов'язані з самим програмним забезпеченням і загальними якостями системи.

Встановлення підтримуваних пакетів та вихідного коду

Однією з ключових відмінностей між FreeBSD та більшістю дистрибутивів Linux з точки зору користувача є наявність та підтримка програмного забезпечення як у вигляді пакетів, так і у вигляді вихідного коду.

Хоча більшість дистрибутивів Linux надають лише попередньо скомпіловані бінарні пакети програмного забезпечення, FreeBSD містить як готові пакети, так і систему збирання для компіляції та встановлення з вихідного коду. Це дозволяє вибирати між заздалегідь скомпільованими пакетами з розумними значеннями за умовчанням і можливістю налагодити програмне забезпечення під час процесу компіляції, створюючи його самостійно. FreeBSD робить це через систему портів.

Система портів FreeBSD – колекція програмного забезпечення, яке вміє збирати FreeBSD. Організована ієрархія, що представляє це програмне забезпечення, доступна в каталозі /usr/ports, де користувачі можуть розгорнути каталоги для кожної програми. Ці каталоги містять кілька файлів, в яких вказується, де можна знайти вихідні файли, а також інструкції компілятора про те, як налагодити вихідний код для коректної роботиз FreeBSD.

Пакетні версії програмного забезпечення фактично виробляються з портів, що робить FreeBSD дистрибутивом на основі вихідного коду з доступними пакетами для зручності. Ваша система може складатися як зі скомпільованого, так і попередньо запакованого програмного забезпечення. Система управління програмним забезпеченням може адекватно опрацьовувати комбінацію цих методів установки.

Стандартне ПЗ vs користувальницьке ПЗ

Одним з аспектів, який може здатися користувачам Linux трохи дивним є той факт, що FreeBSD зазвичай надає програмне забезпечення upstream по можливості без змін.

Багато дистрибутивів Linux вносять зміни до програмного забезпечення, щоб спростити підключення до інших компонентів і спробувати спростити керування. Хорошими прикладами цієї тенденції є перебудова загальних ієрархій конфігурації веб-сервера.

Багато користувачів вважають ці зміни корисними, але цей підхід має й недоліки. Одна з проблем полягає в тому, що цей підхід нав'язує користувачам рішення незалежно від їхнього середовища. Це також робить програмне забезпечення більш непередбачуваним для користувачів, що прийшли з інших платформ, оскільки воно відхиляється від існуючих угод.

Розробники FreeBSD часто модифікують програмне забезпечення за допомогою патчів, але ці зміни, як правило, консервативніші, ніж деякі варіанти пакетів дистрибутивів Linux. В цілому, в екосистемі FreeBSD виконуються лише ті модифікації програмного забезпечення, які необхідні для правильного складання та роботи в середовищі FreeBSD, а також створення хорошого налаштування за умовчанням. Конфігураційні файли, які поміщаються у файлову систему, зазвичай не сильно відредаговані, тому вам може знадобитися додаткове налаштування, щоб змусити компоненти взаємодіяти один з одним.

Загальні інструменти FreeBSD

Ще одним аспектом системи FreeBSD, який може заплутати користувачів Linux, є наявність знайомих інструментів Linux, які в FreeBSD працюють дещо інакше, ніж у Linux.

Команда FreeBSD підтримує власну версіювеликої кількості традиційних інструментів. Багато інструментів у Linux-системах можна знайти в пакетах GNU, а FreeBSD часто використовує свої власні варіанти програм для своєї операційної системи.

На це є кілька причин. Оскільки команда FreeBSD відповідає за розробку та підтримку основної операційної системи, контроль розробки цих програм та розміщення їх під ліцензією BSD є необхідним та корисним моментом. Деякі з цих інструментів також мають тісний функціональний зв'язок з інструментами BSD та Unix, на основі яких вони були створені, на відміну від пакетів GNU, який загалом немає тенденції до зворотної сумісності.

Ці відмінності найчастіше виявляються у випадках і синтаксисі команд. Певні команди працюють на машинах Linuxале вони можуть не працювати на сервері FreeBSD. Важливо завжди перевіряти довідку команд, щоб ознайомитись з варіантами для FreeBSD.

Стандартна оболонка

Наступна відмінність, яка може спричинити плутанину, пов'язана з попередньою і полягає в тому, що FreeBSD не використовує bash за замовчуванням. Натомість FreeBSD використовує tcsh.

Ця оболонка є вдосконаленою версією csh – оболонки C, розробленої для BSD. Оболонка bash є компонентом GNU, а тому вона не може бути стандартною оболонкою в FreeBSD. Хоча обидві оболонки зазвичай працюють аналогічно до командному рядку, у tcsh не виконуються сценарії. Базова оболонка Bourne sh є більш надійною і дозволяє уникнути деяких помилок, пов'язаних зі сценаріями tcsh і csh.

Звичайно, можна дуже просто налаштувати bash як оболонку FreeBSD.

Структура файлової системи

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

Це впливає на те, як FreeBSD організує компоненти в файлової структури. У Linux виконуваніфайли зазвичай знаходяться в каталогах /bin, /sbin, /usr/sbin або /usr/bin залежно від їх призначення та того, наскільки важливими є їх основні функції. FreeBSD розпізнає ці відмінності, але також накладає ще один рівень поділу між компонентами базової системита компонентами, встановленими з портів. Програмне забезпечення базової системи знаходиться в одному з перерахованих вище каталогів. Будь-які програми, встановлені через порт або пакет, розміщуються в /usr/local/bin або /usr/local/sbin.

Каталог /usr/local містить структуру каталогів, яка в основному відображає структуру каталогів /або /usr. Це основний каталог програмного забезпечення, встановленого через систему портів. Майже вся конфігурація портів виконується через файли, розташовані в каталозі /usr/local/etc, тоді як базова конфігурація системи зберігається в /etc (як завжди). Це дозволяє легко розпізнати, чи є програма частиною базової системи, і допомагає підтримувати файлову систему в чистоті.

Висновок

FreeBSD та Linux мають багато спільного та ще більше відмінностей. Обидві системи мають переваги.

FreeBSD слід сприймати як окрему операційну систему і намагатися підігнати її під сприйняття Linux.

  • Переклад

FreeBSD хороша для серверів, але не для настільних комп'ютерів

FreeBSD має повнофункціональну звукову підсистему з низькою затримкою, а змішування в ядрі дозволяє кільком додаткам відтворювати звуки одночасно (з незалежними налаштуваннями гучності) без додаткових налаштувань. Дефолтні налаштування включають X.org і налаштування робочого столу, такі як KDE або GNOME, це так само просто як вибрати метапакет залежно від того, якому ви віддаєте перевагу.

Якщо навіть це здається надто складним, PC-BSD – повнофункціональна. настільна система, створена поверх FreeBSD із простим у використанні установником та опцією комерційної підтримки.

FreeBSD використовує модель закритого розвитку

FreeBSD розвивають понад 400 розробників у всьому світі, всі вони мають повний доступдо всієї системи та даних цієї ОС. Треті особи також часто фіксують рідні патчі. Якщо Ви бажаєте побачити кількість виправлених патчів, ви можете пошукати "Submitted by" у логах фіксації.

Немає жодних жорстких рамок для FreeBSD. Рішення прийняті людьми, готовими зробити роботу. Якщо все ж таки виникають суперечки, то вони вирішуються групою розробників, які обираються кожні два роки. Обов'язковим критерієм, яким обираються розробники, є обов'язкове виправлення чи доопрацювання коду проекту у минулих роках.

FreeBSD - Просто OS X без красивого інтерфейсу GUI

Це такий самий міф про OS X, як і про FreeBSD: OS X просто FreeBSD з гарним графічним інтерфейсом. Ці дві операційні системи дійсно спільно використовують частину коду, наприклад більшість утиліт простору користувача і бібліотека C по OS X отримані з версій FreeBSD. Частина цього коду розвивається в різний час і в різних напрямках, наприклад, FreeBSD 9.1 пізніше включила стек C++ і компілятор, який спочатку були розроблені для OS X співробітниками Apple. Також є і кардинально різні деталі.

Ядро XNU, яке використовується на OS X включає кілька підсистем з більш старих версій FreeBSD, але в основному вважаються незалежною реалізацією. Але все ж таки за рахунок своєї подібності продукти реалізовані на OS X значно простіше адаптувати під FreeBSD. Наприклад, libdispatch і libc++ були записані для OS X і працювали на FreeBSD раніше, ніж на будь-якій іншій ОС.

У FreeBSD все необхідно компілювати з вихідного коду

Колекція портів FreeBSD є дуже потужним способом встановлення програмного забезпечення, що дозволяє настроювати параметри для різних сторонніх програм та бібліотек. Однак, це не єдиний спосібвстановлення програмного забезпечення на FreeBSD. Завжди можна інсталювати програмне забезпечення з бінарних пакетів. Проект pkgng додав новий форматпакет та інструмент управління пакетами, забезпечивши сучасний набір інструментів для двійкового управління.

Ви можете встановити pkgng з портів (ports-mgmt/pkg) на старіших версіях FreeBSD. Вона включена за промовчанням на FreeBSD 9.1 і більше пізні версії.

FreeBSD це UNIX з 90-х (або 80-х)

FreeBSD - лінійний нащадок вихідного UNIX через розподіл програмного забезпечення Берклі, але вона продовжувала розвиватися окремо. За останні кілька років ми бачили, що ZFS стає значно продуктивнішою: підтримка 10 ГБ, 40 ГБ та 100 ГБ каналу, покращена звукова підсистема, підтримка 802.11n та інших покращень.

Це не означає, що FreeBSD відмовилася від своїх UNIX коренів. Є багато причин, чому UNIX системистали популярними. Вони включають вільно розповсюджувану систему, яку легко портувати на нові платформи, набір простих інструментів і ядро, яке добре зарекомендувало себе на різних платформах. FreeBSD підтримує ці традиції.

Весь гарний код у FreeBSD родом із Solaris

FreeBSD імпортувала дві функції високого профілю із OpenSolaris: DTrace та ZFS. Обидві тепер добре підтримуються FreeBSD. ZFS, зокрема, знаходиться в центрі уваги багатьох розробників FreeBSD, у тому числі тих, що використовуються iXsystems, компанією, яка підтримує розвиток FreeNAS та продає комерційні NAS пристроїна базі FreeBSD. Розробники FreeBSD також працюють у тісній співпраці з розробниками Illumos, однією з гілок з відкритим вихідним кодом Solaris, для покращення обох цих функцій.

Незважаючи на переваги ZFS, це, як і раніше, відносно невелика частина загальної системи. ZFS і DTrace становлять менш ніж 4% коду в ядрі, яке дорівнює майже 10% коду в основній системі. Якщо вважати, що тільки 0.4% FreeBSD хороші, то система не набула б такої популярності.

FreeBSD не має драйверів

Це проблема, з якою стикаються всі операційні системи, навіть нові версії Windows. Більшість часу користувачі не дбають про загальну кількість драйверів, тільки якщо драйвери вже встановлені за замовчуванням. Є деякі недогляди з точки зору підтримки драйверів, але FreeBSD підтримує широкий спектр мережевих карт (у тому числі 802.11n чіпсети), більшість звукових карт AMD, Intel та графічні процесори NVIDIA.

Підтримка апаратних засобів - це та частина реалізації, яка вимагає постійного доопрацювання, тому що не можна просто сказати виробникам апаратних засобів, щоб вони почекали кілька років, поки розробники програмного забезпечення їх наздоженуть. Забезпечення підтримки нових пристроїв займає час для налаштування, хоча деякі виробники самі забезпечують драйвери, наприклад, Nvidia забезпечує драйвери для їх GPU та Intel для новітніх. мережевих контролерів. Інші виробники забезпечують допомогу у розробці драйверів FreeBSD, включаючи Broadcom, JMicron, HP, Mellanox, Chelsio та Solarflare. Якщо Ви знаєте пристрої, які не підтримуються FreeBSD, краще повідомити це розробникам і виробникам пристроїв. Як правило, найкращим поштовхом для вирішення проблеми з боку виробників – повідомлення про те, що їхні клієнти не можуть використовувати їхні продукти.

FreeBSD 4.x найкраще з усього, що було

4.x реліз був стабільним і FreeBSD пишалися тим, що вони змогли реалізувати такий продукт. Багато користувачів продовжували використовувати його протягом багатьох років. Серія 5.x вийшла під час початку оптимізації многопоточности. Це включало заміну одного блокування навколо ядра з низкою менших блокувань, які використовуються окремими підсистемами. Це вимагало великого шматка роботи, що не могло не призвести до деяких помилок. 5.x поставлялася з двома реалізаціями потокової обробки, а це ще більше ускладнювало ситуацію. Перші два випуски в серії 5.x були відзначені лише розробникам, але 5.2 була націлена на ширшу аудиторію і не виправдала очікувань користувачів системи FreeBSD. Ряд великих користувачів вирішили не міняти серію 4.x.

Серія 5.x була болючим уроком для проекту. У серії 6.x відновили стабільність випуску 4.x., а серії 7.x відновили продуктивність одного процесора. Під час випуску серії 8.x можна було побачити ряд опублікованих третіми особами тестів, які продемонстрували кращу масштабованість FreeBSD на багатопроцесорних системах, ніж будь-яка операційна система.

Всі ці релізи мали значну кількість покращень, такі як покращена звукова підсистема, ZFS, DTrace, ведення журналів UFS та багато іншого, але стабільність та продуктивність залишилися ключовими завданнями системи FreeBSD.

Недоліки програмного забезпечення FreeBSD

Колекція FreeBSD наразі містить понад 26 000 одиниць програмного забезпечення. Важко порівняти це число з іншими репозиторіями, тому що програми розділені по-іншому (наприклад, GCC порт у FreeBSD встановлює програми та бібліотеки, які розділені між 6-10 пакетами в Debian, залежно від версії GCC), але більшість речей Ви все ж можете там знайти. Однією з причин, через яку користувачі вибирають FreeBSD є той факт, що набір портів забезпечує певну, відносно неясну частину програмного забезпечення, якого вона потребує, в той час як інші системи цього не роблять.

Більшість програмного забезпечення в наборі портів працює на FreeBSD. Більшість програмного забезпечення з відкритим вихідним кодом - агностик щодо ОС і вимагає, щоб мінімальна модифікація була скомпільована і працювала на FreeBSD. Є винятки, такі як Valgrind, які вимагають детального розуміння системи. Пропрієтарне програмне забезпечення може бути серйознішою проблемою. Деякі розробники, такі як Opera, забезпечують FreeBSD своїм вихідним кодом.

Інше програмне забезпечення має працювати в режимі емуляції. Наприклад, бінарні файли Linux можуть працювати на рівні Linux ABI, де системні виклики Linuxпереводяться з їхньої еквіваленти FreeBSD. Єдина вада - трохи збільшене навантаження системних викликів; зазвичай складно виміряти різницю у продуктивності між виконанням програм Linuxна Linux і на FreeBSD: у деяких випадках програми працюють швидше на FreeBSD, ніж на Linux через ефективніші реалізації базових викликів. Наприклад, версія Linux Flash-плагіна може працювати, використовуючи NSPluginWrapper на рівні Linux ABI із власним веб-браузером.

Аналогічне рішення існує для запуску Windowsдодатків.

FreeBSD не підтримує віртуалізацію

FreeBSD 9 працює як гість Xen (domU) і на x86, і на x86-64, включаючи Amazon EC2. Завдяки роботі, виконаній спільно з Microsoft, NetApp і Citrix, FreeBSD можна запускати на Hyper-V гіпервізора Microsoft. FreeBSD 11 включатиме Dom0 підтримку управління домену.

FreeBSD також підтримує VirtualBox як гостя і як хост. Ви можете знайти гостьові доповнення VirtualBox, а потім і сам гіпервізор у наборі портів. FreeBSD 10 також працює як хост операційної системи для гіпервізора BSD, даючи безліч можливостей для запуску FreeBSD віртуальнихмашин з урахуванням FreeBSD.

І нарешті, якщо Вам не потрібно повна віртуалізація, то для виконання ізольованих просторів користувача FreeBSD (або навіть просторів) користувача Linux, використовуючи рівні Linux ABI) на одному ядрі FreeBSD Ви можете використовувати підсистему контейнерів. Контейнер можна навіть надати їх власний незалежний мережевий стек і т.д., і таким чином, одна машина може використовуватися, щоб емулювати цілий парк машин.

Ліцензія BSD сприяє взаємній співпраці

Поки розробники коду FreeBSD не подадуть на вас позов про порушення авторських прав, Ви можете його використовувати. Але якщо вірити твердженням самих розробників, такого не станеться.

Деякі компанії, майже напевно, візьмуть наш код, змінять його і ніколи нічого не нададуть натомість.

Розглянемо як приклад випадок двох найбільших інтернет-компаній: Google та Yahoo! Насамперед їхня внутрішня інфраструктура ґрунтувалася на операційній системі GPL, тоді як пізніші версії вже використовують FreeBSD. Оскільки Google не розподіляє їх змінену операційну систему, вони можуть зберегти, наприклад, GoogleFS у приватній власності. У таких випадках як цей, де програмне забезпечення розроблено для внутрішнього використання, ліцензійної угодифірма має розкривати свої доробки для розробників FreeBSD.

Однак, є деякі проблеми зі з'єднанням: наприклад, не можна використовувати бібліотеку з ліцензією GPL, якщо вже використовується BSD.

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