Введение в FreeBSD для пользователей Linux. 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 10 за пару минут (пошаговая установка)

FreeBSD - бесплатная операционная система. Современная модификация UNIX. Одна из самых надёжных систем, прекрасно подходит для администрирования локальной сети, как сервер доступа, почтового сервера, файлового сервера, сервера имён и остальное. Не даром на её базе со временем была создана Mac OS. Так же есть возможность установить графическую оболочку или использовать готовое решение проекта PCBSD.

1. Выбор дистрибутива, подготовка установочного носителя
2. Начало установки, разметка диска
3. Выбор компонентов и установка

FreeBSD прежде всего сетевая система и для наилучшего быстродействия в ней отсутствует (по умолчанию) графическая оболочка. Вся суть работы в этой системе сводится к правке необходимых файлов, установке программ, включении функций и набору команд.

И когда Вы настроите систему под свои нужды, она Вас не подведёт. Лично я в процессе работы с ней (2 года), не наблюдал никаких сбоев, глюков и нагрузки на оборудование.

Выбор дистрибутива, подготовка установочного носителя

На официальном сайте можно выбрать версию операционной системы, разрядность, а также платформу (amd64, i386, powerpc, sparc)

После выбора платформы, откроется список вариантов установки (CD, DVD, FTP сервера, MS DOS, дискет и даже магнитных лент).

Конечно лучше не "играть с бубном" и скачать дистрибутив для CD или DVD дисков и записать установочный диск с помощью программ: Alcohol120%, UltraISO или любой другой программой для записи установочного диска.

Начало установки, разметка диска

Загружаемся с установочного диска и запускается меню загрузчика FreeBSD. Можно подождать 10 секунд для автоматического запуска программы установки или нажать кнопку Enter или 1.

На экране отобразится много строк определённого оборудования. Просмотреть его можно нажав кнопку Scroll Lock , прокручивать страницы кнопками PageUp и PageDown.

После определения и тестирования оборудования, появится приветственное окно установки FreeBSD. Нажимаем Install


В окне выбора раскладки клавиатуры, оставьте по умолчанию или выберите подходящую раскладку.



doc - документация на систему

games - игры

ports - порты для установки программ

src - ядро системы

Обычно я оставляю только src, так как документация мне не нужна, игры тоже, порты установим и обновим после установки системы, так как самая актуальная сборка обновляется через интернет. Ядро также можно потом доустановить.


Определяемся со слайсами (так называются разделы в FreeBSD) жёсткого диска. Можем выбрать опцию автоматического создания разделов или самим создать нужные нам разделы.


Автоматически редактор разделов создал три области:

ada0p1 512KB freebsd-boot - область загрузчика. Этого вполне достаточно, больше не надо

ada0p2 19GB freebsd-ufs / - корневой раздел операционной системы. Всё оставшееся место под систему и файлы, с которыми будете работать. По сути её нужно всего 1GB памяти, с условием что будут созданы другие разделы и только на них будет проводиться работа.

Для экспертов: Принято помимо одного корневого раздела создавать другие разделы:

/var - содержит временные и постоянно меняющиеся файлы, логи.

/usr - содержит файлы с установленными программами и остальное.

/data - в этом разделе у меня находились файлы сайта, например.

ada0p3 1.0GB freebsd-swap none - файл подкачки. Размер его зависит от количества оперативной памяти. Если её мало, допусти 1GB, то целесообразно выставить файл подкачки в два раза больше. Если оперативной памяти много, то файл подкачки можно выставить равным объёму оперативной памяти, а то и меньше.


Жмём кнопку Finish , подтверждаем принятые изменения Commit и начинается установка системы FreeBSD.


После установки предлагается дважды ввести пароль. Вводимые символы не отображаются.


Выбор компонентов и установка

После этого предлагается настроить сетевую карту(ы), для доступа к сети. В отличии от Linux, где любая сетевая карта называется eth , в FreeBSD сетевая карта может называться по разному, в зависимости от производителя.


Выбираем версию интернет протокола, четвёртая версия IPv4 или шестая IPv6. Потом настраиваете сеть по DHCP или прописываете ip адрес, маску подсети и шлюз.


Настраиваем время, по времени локальной машины или выбираем свой часовой пояс.


Выбираем сервисы, которые будут запускаться при загрузке FreeBSD. Оставьте по умолчанию.


Можно добавить дополнительного пользователя(ей), назначить им права и их директории. Можно сделать всё это потом.


Установка приближается к завершению и Вы можете перед завершением перенастроить или донастроить некоторые параметры.

Процесс пошаговой установки операционной системы 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-подобная операционная система и популярная серверная платформа. Хотя 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 – свободно распространяемая, 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. All rights reserved. * * Разрешается повторное распространение и использование как в виде исходного * кода, так и в двоичной форме, с изменениями или без, при соблюдении * следующих условий: * * * При повторном распространении исходного кода должно оставаться * указанное выше уведомление об авторском праве, этот список условий и * последующий отказ от гарантий. * * При повторном распространении двоичного кода должна сохраняться * указанная выше информация об авторском праве, этот список условий и * последующий отказ от гарантий в документации и/или в других * материалах, поставляемых при распространении. * * ЭТА ПРОГРАММА ПРЕДОСТАВЛЕНА ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И/ИЛИ ДРУГИМИ * СТОРОНАМИ "КАК ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО * ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ * ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В * КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ УСТАНОВЛЕНО * В УСТНОЙ ФОРМЕ, НИ ОДИН ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, * КОТОРОЕ МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО * СКАЗАНО ВЫШЕ, НЕ НЕСЁТ ОТВЕТСТВЕННОСТИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СЛУЧАЙНЫЕ, * СПЕЦИАЛЬНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ВСЛЕДСТВИЕ ИСПОЛЬЗОВАНИЯ ИЛИ * НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ * ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ * ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ, ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ * СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ), ДАЖЕ ЕСЛИ ТАКОЙ ВЛАДЕЛЕЦ ИЛИ ДРУГОЕ * ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.