# FreeBSD: Open Source альтернатива Linux╝

### Dru Lavigne

`<dru@isecom.org>`

$FreeBSD: doc/ru_RU.KOI8-R/articles/linux-comparison/article.sgml,v 1.5 2011/09/06 16:50:41 taras Exp $

Copyright ╘ 2005 Dru Lavigne

FreeBSD это зарегистрированная торговая марка FreeBSD Foundation.

Linux это зарегистрированная торговая марка Linus Torvalds.

Unix это зарегистрированная торговая марка Open Group в Соединенных Штатах и других странах.

Многие из обозначений, используемые производителями и продавцами для обозначения своих продуктов, заявляются в качестве торговых марок. Когда такие обозначения появляются в этом документе, и Проекту FreeBSD известно о торговой марке, к обозначению добавляется знак ''"'' или ''╝''.

Распространение и использование исходных (SGML DocBook) и ''скомпилированных'' форм (SGML, HTML, PDF, PostScript, RTF и прочих) с модификацией или без оной, разрешены при соблюдении следующих соглашений:

1. Распространяемые копии исходного кода (SGML DocBook) должны сохранять вышеупомянутые объявления copyright, этот список положений и следующий отказ от ответственности в первых строках этого файла в неизменном виде.

2. Распространяемые копии скомпилированных форм (преобразованные в другие DTD, конвертированные в PDF, PostScript, RTF и другие форматы) должны повторять вышеупомянутые объявления copyright, этот список положений и следующий отказ от ответственности в документации и/или других материалах, поставляемых с дистрибьюцией.

> Важно: ЭТА ДОКУМЕНТАЦИЯ ПОСТАВЛЯЕТСЯ ПРОЕКТОМ ДОКУМЕНТАЦИИ FREEBSD "КАК ЕСТЬ" И ЛЮБЫЕ ЯВНЫЕ ИЛИ НЕЯВНЫЕ ГАРАНТИИ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ НЕЯВНЫМИ ГАРАНТИЯМИ, КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ ОТРИЦАЮТСЯ. НИ ПРИ КАКИХ УСЛОВИЯХ ПРОЕКТ ДОКУМЕНТИРОВАНИЯ FREEBSD НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБОЙ ПРЯМОЙ, КОСВЕННЫЙ, СЛУЧАЙНЫЙ, СПЕЦИАЛЬНЫЙ, ОБРАЗЦОВЫЙ ИЛИ ПОСЛЕДУЮЩИЙ УЩЕРБЫ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ПОСТАВКОЙ ТОВАРОВ ЗАМЕНЫ ИЛИ УСЛУГ; ПОТЕРЮ ДАННЫХ ИЛИ ИХ НЕПРАВИЛЬНУЮ ПЕРЕДАЧУ ИЛИ ПОТЕРИ; ПРИОСТАНОВЛЕНИЕ БИЗНЕСА), И ТЕМ НЕ МЕНЕЕ ВЫЗВАННЫЕ И В ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ, НЕЗАВИСИМО ОТ КОНТРАКТНОЙ, СТРОГОЙ ОТВЕТСТВЕННОСТИ, ИЛИ ПРАВОНАРУШЕНИИ (ВКЛЮЧАЯ ХАЛАТНОСТЬ ИЛИ ИНЫМ СПОСОБОМ), ВОЗНИКШЕМ ЛЮБЫМ ПУТЕМ ПРИ ИСПОЛЬЗОВАНИИ ЭТОЙ ДОКУМЕНТАЦИИ, ДАЖЕ ЕСЛИ БЫ БЫЛО СООБЩЕНО О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА.

Цель данной статьи - объяснить некоторые из характеристик и преимуществ, предоставляемых FreeBSD, и где возможно, сравнить эти характеристики с Linux╝. Эта статья предоставляет начальную точку для тех, кто заинтересован в изучении Open Source альтернатив Линуксу.

[ По разделам / Одним файлом ]

## 1. Введение

FreeBSD - это UNIX╝ подобная операционная система, основанная на Berkeley Software Distribution. Хотя и FreeBSD и Linux обычно воспринимаются, как очень похожие, существуют различия:

1. Linux сам по себе - ядро. Дистрибутивы (например: Red Hat, Debian, Suse и другие) предоставляют установщик и утилиты доступные пользователю. На http://www.linux.org/dist представлен список, в котором перечислено более 300 существующих дистрибутивов. Предлагая пользователю максимум гибкости, существование такого количества дистрибутивов также увеличивает сложность применения навыков при переходе с одного дистрибутива на другой. Дистрибутивы отличаются не только легкостью установки и доступными программами, а также расположением каталогов, доступными командными оболочками, оконными менеджерами и процедурами установки и корректирования (patching) программного обеспечения.

   FreeBSD - это полноценная операционная система (ядро и пользовательское окружение) с хорошо зарекомендовавшим себя наследием, уходящим своими корнями в истоки разработки Unix [1]. Так как и ядро и предлагаемые утилиты находятся под контролем одной группы по выпуску релизов - меньше вероятность несовместимости библиотек. Уязвимости в безопасности также могут быстро обнаруживаться командой по безопасности. Когда появляются новые утилиты или возможности ядра пользователю просто надо прочесть один файл (Release Notes, Замечания по релизу), который публично доступен на главной странице веб-сайта FreeBSD.

2. FreeBSD имеет большую и хорошо организованную программную базу, которая гарантирует, что изменения будут осуществляться быстро и под контролем. Существует несколько тысяч программистов, которые вносят код на регулярной основе, но только около 300 из них имеют, так называемый, коммит бит и могут напрямую вносить изменения в ядро, утилиты и официальную документацию. Группа подготовки релизов (release engineering team) проводит качественный контроль, а команда офицеров по безопасности (security officer team) ответственна за реакцию на инциденты, связанные с безопасностью. В дополнение, существует основная выбираемая группа из 8 главных коммитеров, которые определяют общее направление Проекта.

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

3. Хотя и FreeBSD и Linux используют Open Source модель лицензирования, сами лицензии различаются. Linux ядро находится под GPL лицензией, а FreeBSD использует BSD лицензию. Эти и другие Open Source лицензии более детально описаны на веб-сайте Open Source Инициатива.

   Ведущая философия GPL - гарантия того, что код останется в рамках Open Source; это достигается путём наложения ограничений на распространение кода под лицензией GPL. BSD лицензия, наоборот, не накладывает таких ограничений, что даёт возможность выбора между содержанием кода в рамках Open Source или закрытием кода в проприетарном коммерческом продукте [2]. Наличие стабильного и надёжного кода под заманчивой BSD лицензией значит, что многие операционные системы, такие как Apple OS X базируются на коде FreeBSD. Это также означает, что если вы выберете использование кода в ваших проектах под лицензией BSD, вы сможете сделать это без угрозы будущей юридической ответственности.

## 2. Характеристики FreeBSD

### 2.1. Поддерживаемые платформы

FreeBSD имеет репутацию безопасной, стабильной операционной системы для Intel╝ (i386") платформы. Тем не менее, FreeBSD также поддерживает следующие архитектуры:

- alpha

- amd64

- ia64

- i386

- pc98

- Sparc64╝

В дополнение, продолжается работа по портированию FreeBSD на следующие архитектуры:

- ARM╝

- MIPS╝

- PowerPC╝

Постоянно обновляющиеся списки поддерживаемого оборудования поддерживаются для каждой архитектуры, так чтобы вы быстро могли посмотреть поддерживается ли ваше оборудование. Для серверов имеется отличная поддержка аппаратного RAID и сетевых интерфейсов.

FreeBSD также является великолепной рабочей станцией и операционной системой для лэптопов! Она поддерживает X Window System, ту же, что используется в Linux дистрибутивах для обеспечения настольного пользовательского интерфейса. FreeBSD также поддерживает более 13,000 простых в установке приложений от третьих лиц [3], включая KDE, Gnome и OpenOffice.

Существует несколько проектов, призванных облегчить установку FreeBSD в качестве десктопа. Наиболее заметные:

- DesktopBSD, задающийся целью создать стабильную и мощную операционную систему для десктоп пользователей.

- FreeSBIE, предоставляющий LiveCD для FreeBSD.

- PC-BSD, предоставляющий простой в использовании GUI установщик для FreeBSD, ориентированный на десктоп пользователя.

### 2.2. Расширяемые подсистемы

FreeBSD предлагает большое количество расширяемых подсистем, что позволяет вам настроить FreeBSD окружение под ваши собственные нужды. Некоторые из основных подсистем:

Netgraph

  Netgraph - это модульная сетевая подсистема, которая может использоваться для дополнения существующей сетевой инфраструктуры ядра. Крючки (hooks) используются для того чтобы позволить разработчикам создавать собственные модули. Как результат, быстрое создание прототипа и промышленное развертывание улучшенных сетевых сервисов может выполняться гораздо легче и с меньшим количеством ошибок. Многие существующие работающие модули поставляются с FreeBSD и включают поддержку:

  - PPPoE

  - ATM

  - ISDN

  - Bluetooth

  - HDLC

  - EtherChannel

  - Frame Relay

  - L2TP, вот лишь некоторые из них.

GEOM

  GEOM - это модульная дисковая подсистема трансформации запросов ввода-вывода. Так как это съёмный уровень в системе хранения, это позволяет быстро разрабатывать и полностью интегрировать в подсистему хранения FreeBSD новые сервисы, связанные с хранением. Несколько примеров где это может пригодиться:

  - Создание решений на основе RAID.

  - Предоставление полной криптографической защиты хранимой информации.

  Более новые версии FreeBSD предлагают много административных утилит для использования существующих GEOM модулей. Например, кто-нибудь может создать зеркало диска, используя gmirror(8), страйп (stripe), используя gstripe(8) и разделяемое секретное устройство, используя gshsec(8).

GBDE

  GBDE, GEOM Based Disk Encryption (Шифрование Диска на Основе GEOM) предоставляет сильную криптографическую защиту и может использоваться для защиты файловых систем, swap устройств и других видов применений носителей информации. Плюс ко всему, GBDE прозрачно шифрует целые файловые системы, а не только индивидуальные файлы. Никогда не зашифрованный текст не окажется на блине жёсткого диска.

MAC

  MAC, Mandatory Access Control (Принудительный контроль доступа) предоставляет хорошо регулируемый доступ к файлам и предназначен для улучшения традиционной авторизации операционной системы, представленной разрешениями файлов. Так как MAC реализован в виде модульной подсистемы, FreeBSD система может быть сконфигурирована для любой требуемой политики, варьирующейся от HIPAA согласованности до нужд системы военного класса.

  FreeBSD поставляется с модулями, реализующими следующие политики; тем не менее подсистема позволяет вам разработать любую требующуюся политику:

  - Biba integrity model

  - Port ACLs

  - MLS или Multi-Level Security confidentiality policy

  - LOMAC или Low-watermark Mandatory Access Control data integrity policy

  - Process partition policy

PAM

  Как и Linux, FreeBSD имеет поддержку PAM, Pluggable Authentication Modules (Подключаемые модули аутенфикации). Это позволяет администратору улучшить традиционную UNIX модель аутенфикации, логин/пароль. FreeBSD предлагает модули для интегрирования во многие механизмы аутенфикации, включая:

  - Kerberos 5

  - OPIE

  - RADIUS

  - TACACS+

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

## 3. Безопасность

Безопасность очень важна для Группы подготовки релизов FreeBSD. This manifests itself in several concrete areas:

- Все инциденты и исправления, связанные с безопасностью проходят через Команду по безопасности и выпускаются, как публично доступные Бюллетени по безопасности (Advisories). Команда по безопасности имеет хорошую репутацию за быстрое решение известных проблем с безопасностью. Полная информация относительно процедур работы с безопасностью во FreeBSD и где искать информацию по безопасности доступна на http://www.FreeBSD.org/security/.

- Одна из проблем, связанная с Open Source программным обеспечением - это точное количество пригодных приложений. Существуют почти что десятки тысяч проектов Open Source приложений, и каждый с различными уровнями ответной реакции на инциденты, связанные с безопасностью. FreeBSD приняла этот вызов вместе с VuXML. Всё программное обеспечение, поставляемое с операционной системой FreeBSD, так же, как и любое программное обеспечение доступное в Коллекции портов сравнивается с базой данных известных, неисправленных уязвимостей. Администратор может использовать portaudit(1) утилиту, чтобы быстро определить, есть ли на FreeBSD системе уязвимое программное обеспечение, и если есть, получить описание проблемы и URL, содержащее более детальное описание уязвимости.

FreeBSD также предоставляет множество механизмов, которые позволяют администратору настраивать операционную систему под его нужды, связанные с безопасностью:

- Утилита jail(8) позволяет администратору ''заключать процесс в тюрьму''; это идеально для приложений, которые не имеют собственного chroot окружения.

- Утилита chflags(1) улучшает безопасность, предлагаемую традиционными Unix разрешениями. Она может, к примеру, предотвратить изменение или удаление указанных файлов даже суперпользователем.

- FreeBSD предлагает 3 встроенных, поддерживающих NAT файерволов, предлагая больше возможностей для выбора набора правил наиболее подходящего для нужд безопасности.

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

- Механизм sysctl позволяет администратору просматривать и изменять состояние ядра на лету без перезагрузки.

## 4. Поддержка

Как и Linux, FreeBSD предлагает много видов поддержки, как свободно доступных, так и коммерческих.

### 4.1. Бесплатные предложения

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

- FreeBSD предлагает много поддерживаемых списков рассылки, где ответы архивируются и полностью доступны для поиска. Если у вас есть вопрос, который не затрагивается Руководством, он почти наверняка уже отвечался в списке рассылки. И Руководство и списки рассылки также доступны на нескольких языках, все из которых легко доступны с http://www.FreeBSD.org.

- Существует множество IRC каналов, посвящённых FreeBSD, форумов и групп пользователей. Смотрите http://www.FreeBSD.org/support.html для выбора.

Если вы ищите администратора FreeBSD, разработчика или поддерживающий персонал пошлите описание работы, включающее географическое местоположение в `<freebsd-jobs@FreeBSD.org>`.

### 4.2. Коммерческие предложения

Существует много поставщиков, которые занимаются коммерческой поддержкой FreeBSD. Ресурсы по поиску поставщика, находящегося поблизости от вас включают в себя:

- Страничка коммерческих поставщиков на сайте FreeBSD: http://www.FreeBSD.org/commercial/

- FreeBSDMall, который продаёт контракты на поддержку примерно 10 лет: http://www.freebsdmall.com

- База данных BSDTracker на: http://www.nycbug.org/index.php?NAV=BSDTracker

Существует также инициатива по сертификации системных администраторов BSD. http://www.bsdcertification.org.

Если ваш проект требует Common Criteria certification, FreeBSD включает подсистему TrustedBSD MAC для облегчения процесса сертификации.

## 5. Преимущества выбора FreeBSD

Существует много преимуществ для включения решений FreeBSD в вашу IT инфраструктуру:

- FreeBSD хорошо документирована и следует множеству стандартов. Это позволит вашим существующим вспомогательным и опытным системным администраторам быстро приспособить их существующие Linux и Unix навыки для администрирования FreeBSD.

- Разработчики, работающие из дома имеют полный доступ ко всему коду FreeBSD [4] всех релизов вплоть до первого выпущенного. Вместе с кодом включены все лог сообщения, которые предоставляют контекст для изменений и исправлений ошибок. Дополнительно, разработчик может легко скопировать любой релиз, просто закачав код с требуемой меткой. В противоположность сказанному, Linux по традиции не следовал данной модели, но недавно адаптировал более совершенную модель разработки [5].

- Разработчики, работающие из дома также имеют полный доступ к FreeBSD базе данных сообщений об ошибках, GNATS. Они могут и запрашивать и прослеживать существующие ошибки также, как и предоставлять свои патчи на одобрение и возможное внесение в базовый код FreeBSD. http://www.FreeBSD.org/support.html#gnats

- BSD лицензия позволяет вам свободно модифицировать код, чтобы он подходил для ваших бизнес целей. В отличии от GPL, не существует ограничений в том, как вы выберете распространять конечный программный продукт.

## 6. Заключение

FreeBSD - это зрелая UNIX-подобная операционная система, включающая в себя множество возможностей, которые можно ожидать в современной UNIX системе. Для тех, кто хочет внедрить Open Source решение в их существующую инфраструктуру, FreeBSD будет хорошим выбором.

### Примечания

[1] | Краткая история на http://www.oreilly.com/catalog/opensources/book/kirkmck.html.
[2] | Довольно объективный взгляд на качества каждой лицензии можно посмотреть на http://en.wikipedia.org/wiki/BSD_and_GPL_licensing.
[3] | Используя Коллекцию портов FreeBSD: для установки программного обеспечения достаточно просто набрать `pkg_add -r имя_приложения`.
[4] | Плюс ко всему, весь код доступен через веб-интерфейс: http://www.FreeBSD.org/cgi/cvsweb.cgi/.
[5] | Интересный обзор развивающейся модели разработки Linux может быть найден на http://linuxdevices.com/articles/AT4155251624.html.

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.