Глава 1. Введение

Этот перевод может быть устаревшим. Для того, чтобы помочь с переводом, пожалуйста, обратитесь к Сервер переводов FreeBSD.

1.1. Обзор

Спасибо за ваш интерес к FreeBSD! Следующая глава охватывает различные аспекты проекта FreeBSD, такие как его история, цели, модель разработки и так далее.

Прочитав эту главу, вы узнаете:

  • Как FreeBSD соотносится с другими операционными системами.

  • История проекта FreeBSD.

  • Цели проекта FreeBSD.

  • Основы модели разработки открытого исходного кода FreeBSD.

  • И, конечно же: откуда произошло название «FreeBSD».

1.2. Добро пожаловать в FreeBSD!

FreeBSD — это операционная система с открытым исходным кодом, соответствующая стандартам и похожая на Unix, предназначенная для компьютеров на архитектурах x86 (как 32-, так и 64-битных), ARM, AArch64, RISC-V, POWER и PowerPC. Она предоставляет все функции, которые сегодня считаются само собой разумеющимися, такие как вытесняющая многозадачность, защита памяти, виртуальная память, многопользовательские возможности, поддержка SMP, все инструменты разработки с открытым исходным кодом для различных языков и фреймворков, а также возможности для рабочих станций, включая X Window System, KDE или GNOME. Её основные преимущества:

  • Лицензия Open Source с либеральными условиями, которая предоставляет вам права свободно изменять и расширять её исходный код, а также включать его как в проекты с открытым исходным кодом, так и в закрытые продукты, не накладывая ограничений, характерных для копилефт-лицензий, и избегая потенциальных проблем несовместимости лицензий.

  • Мощные TCP/IP сети — FreeBSD реализует промышленные стандартные протоколы с постоянно растущей производительностью и масштабируемостью. Это делает её отличным выбором как для серверов, так и для маршрутизации/файрволинга — и действительно, многие компании и поставщики используют её именно для этих целей.

  • Полностью интегрированная поддержка OpenZFS, включая root-on-ZFS, ZFS Boot Environments, управление отказами, делегирование административных задач, поддержку клеток (jail), документацию, специфичную для FreeBSD, и поддержку системного установщика.

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

  • Более 30 тысяч предварительно собранных пакетов для всех поддерживаемых архитектур, а также Коллекция портов, которая позволяет легко создавать собственные настраиваемые пакеты.

  • Документация - в дополнение к Руководству и книгам различных авторов, охватывающим темы от системного администрирования до внутреннего устройства ядра, существуют также man(1) страницы, доступные не только для пользовательских демонов, утилит и конфигурационных файлов, но и для API драйверов ядра (раздел 9) и отдельных драйверов (раздел 4).

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

  • Верность философии Unix, предпочитая модульность вместо монолитных "всё в одном" демонов с жёстко заданным поведением.

  • Двоичная совместимость с Linux, позволяющая запускать многие Linux-приложения без необходимости виртуализации.

FreeBSD основана на релизе 4.4BSD-Lite от Computer Systems Research Group (CSRG) Калифорнийского университета в Беркли и продолжает славные традиции разработки систем BSD. Помимо отличной работы, проделанной CSRG, проект FreeBSD вложил многие тысячи человеко-часов в расширение функциональности и тонкую настройку системы для достижения максимальной производительности и надежности в условиях реальных нагрузок. FreeBSD предлагает производительность и надежность, сопоставимые с другими решениями с открытым исходным кодом и коммерческими предложениями, в сочетании с передовыми функциями, недоступными больше нигде.

1.2.1. Что может FreeBSD?

Применение FreeBSD действительно ограничено только вашей собственной фантазией. От разработки программного обеспечения до автоматизации производства, от управления запасами до азимутальной коррекции удалённых спутниковых антенн — если что-то можно сделать с коммерческим продуктом UNIX®, то, скорее всего, это можно сделать и с FreeBSD! FreeBSD также значительно выигрывает от тысяч высококачественных приложений, разработанных исследовательскими центрами и университетами по всему миру, которые часто доступны по очень низкой цене или вообще бесплатно.

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

  • Интернет-сервисы: Мощный стек TCP/IP, встроенный в FreeBSD, делает её идеальной платформой для различных интернет-сервисов, таких как:

    • Веб-серверы

    • IPv4 и IPv6 маршрутизация

    • Межсетевые экраны и шлюзы NAT («маскарадинг IP»)

    • Серверы FTP

    • Почтовые серверы

    • Серверы хранения данных

    • Серверы виртуализации

    • И еще…​

  • Образование: Вы изучаете информатику или смежную инженерную специальность? Нет лучшего способа познать операционные системы, компьютерную архитектуру и сети, чем получить практический опыт работы с FreeBSD, изучив её внутреннее устройство. Множество свободно доступных САПР, математических и графических пакетов также делают FreeBSD крайне полезной для тех, кто в первую очередь использует компьютер для решения других задач!

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

  • Сеть: Нужен новый маршрутизатор? Сервер имен (DNS)? Межсетевой экран, чтобы защитить вашу внутреннюю сеть от несанкционированного доступа? FreeBSD может легко превратить неиспользуемый компьютер, пылящийся в углу, в продвинутый маршрутизатор с возможностями сложной фильтрации пакетов.

  • Встроенные системы: FreeBSD представляет собой отличную платформу для создания встроенных систем. С поддержкой архитектур ARM, AArch64 и PowerPC, в сочетании с надежным сетевым стеком, передовыми функциями и разрешительной лицензией BSD, FreeBSD служит отличной основой для построения встроенных маршрутизаторов, межсетевых экранов и других устройств.

  • Рабочий стол: FreeBSD представляет собой отличный выбор в качестве недорогого решения для рабочего стола с использованием свободно доступных серверов X11 и Wayland. FreeBSD предлагает на выбор множество открытых окружений рабочего стола, включая стандартные графические интерфейсы GNOME и KDE. FreeBSD даже может загружаться «без диска» с центрального сервера, что делает отдельные рабочие станции ещё дешевле и проще в администрировании.

  • Разработка ПО: Базовая система FreeBSD включает полный набор инструментов для разработки, в том числе компиляторы C/C++ и отладчики. Поддержка многих других языков программирования также доступна через коллекции портов и пакетов.

FreeBSD доступна для бесплатной загрузки или может быть получена на CD-ROM или DVD. Дополнительную информацию о получении FreeBSD см. в Получение FreeBSD.

1.2.2. Кто использует FreeBSD?

FreeBSD известна своими возможностями веб-сервера. Список отзывов компаний, которые используют FreeBSD в своих продуктах и услугах, можно найти на сайте FreeBSD Foundation. Wikipedia также ведёт список продуктов, основанных на FreeBSD.

1.3. О проекте FreeBSD

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

1.3.1. Краткая история FreeBSD

Проект FreeBSD зародился в начале 1993 года, отчасти как детище последних трех координаторов Неофициальных наборов патчей 386BSD: Нейта Уильямса, Рода Граймса и Джордана Хаббарда.

Изначальной целью было создание промежуточного снимка состояния 386BSD для исправления ряда проблем, которые не могли быть решены с помощью механизма наборов патчей. В связи с этим ранним рабочим названием проекта было 386BSD 0.5 или 386BSD Interim.

386BSD была операционной системой Билла Джолица, которая на тот момент сильно страдала от почти годичного отсутствия внимания. Поскольку набор патчей с каждым днём становился всё более громоздким, они решили помочь Биллу, выпустив этот промежуточный «очищенный» снимок состояния. Однако эти планы внезапно рухнули, когда Билл Джолиц неожиданно отозвал свою поддержку проекта, не предложив никаких ясных альтернатив.

Трое сочли, что цель по-прежнему стоит усилий, даже без поддержки Билла, и поэтому они дали проекту название «FreeBSD», предложенное Дэвидом Гринманом. Первоначальные задачи были определены после консультаций с текущими пользователями системы, и, когда стало ясно, что проект, возможно, станет реальностью, Джордан связался с Walnut Creek CDROM, стараясь найти каналы распространения FreeBSD тем, у кого не было лёгкого доступа к интернету. Walnut Creek CDROM не только поддержали идею распространения FreeBSD на CD, но и предоставили проекту машину для работы и быстрый интернет-канал. Без почти беспрецедентной веры Walnut Creek CDROM в тогда ещё совершенно неизвестный проект, вряд ли FreeBSD так быстро достигла бы таких высот, на которых она находится сегодня.

Первый релиз FreeBSD на CD-ROM (и в целом в сети) был FreeBSD 1.0, выпущенный в декабре 1993 года. Он основывался на ленте 4.3BSD-Lite ("Net/2") от U.C. Berkeley, с множеством компонентов, также предоставленных 386BSD и Free Software Foundation. Это был довольно успешный первый релиз, за которым последовал весьма успешный FreeBSD 1.1, выпущенный в мае 1994 года.

Примерно в это же время на горизонте сгустились неожиданные тучи, когда Novell и Калифорнийский университет в Беркли урегулировали свой затянувшийся судебный спор о юридическом статусе ленты Berkeley Net/2. По условиям соглашения Калифорнийский университет признал, что три файла из Net/2 содержали «обременённый» код и должны быть удалены, так как являлись собственностью Novell, которая, в свою очередь, ранее приобрела их у AT&T. В обмен Беркли получил «благословение» Novell на то, что выпуск 4.4BSD-Lite, когда он наконец выйдет, будет объявлен свободным от ограничений, а все существующие пользователи Net/2 будут настоятельно рекомендованы к переходу на него. Это касалось и FreeBSD, и проекту дали срок до конца июля 1994 года, чтобы прекратить распространение своей версии на основе Net/2. Согласно условиям соглашения, проекту разрешили сделать один последний выпуск до истечения срока — им стал FreeBSD 1.1.5.1.

Затем FreeBSD приступила к сложной задаче буквально переизобретения себя на основе совершенно нового и довольно неполного набора компонентов 4.4BSD-Lite. Хотя были удалены только три файла, связанных с разделяемой памятью и семафорами System V, в дистрибутив BSD было внесено множество других изменений и исправлений ошибок, поэтому объединение всех наработок FreeBSD с 4.4BSD-Lite оказалось огромной работой. Проекту потребовалось время до ноября 1994 года, чтобы осуществить этот переход, и в декабре он выпустил FreeBSD 2.0 для всего мира. Несмотря на то, что релиз всё ещё был сыроват, он оказался весьма успешным, а в июне 1995 года последовал более стабильный и простой в установке выпуск FreeBSD 2.0.5.

С тех пор FreeBSD выпустила серию релизов, каждый из которых улучшал стабильность, скорость и функциональность предыдущей версии.

На данный момент долгосрочные проекты разработки продолжают вестись в ветке 16.0-CURRENT (main), а снимки состояния 16.0 регулярно публикуются на сервере снимков по мере продвижения работы.

1.3.2. Цели проекта FreeBSD

Цели проекта FreeBSD заключаются в предоставлении программного обеспечения, которое может использоваться для любых целей без каких-либо ограничений. Многие из нас вложили значительные усилия в разработку кода (и проекта) и, конечно, не отказались бы от небольшого финансового вознаграждения время от времени, но мы точно не готовы настаивать на этом. Мы считаем, что наша главная «миссия» — предоставлять код всем желающим, независимо от целей, чтобы код получил максимально широкое распространение и принес максимальную пользу. Это, по нашему мнению, одна из фундаментальных целей свободного программного обеспечения, которую мы горячо поддерживаем.

В нашем исходном коде программное обеспечение, распространяемое под лицензией GNU General Public License (GPL) или Library General Public License (LGPL), имеет несколько больше ограничений, хотя, по крайней мере, в сторону обеспечения доступа, а не наоборот. Однако из-за дополнительных сложностей, которые могут возникнуть при коммерческом использовании ПО под GPL, мы предпочитаем программное обеспечение, предоставленное под более свободной лицензией BSD, когда это разумный вариант.

1.3.3. Модель разработки FreeBSD

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

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

Репозитории Git

В течение нескольких лет центральное дерево исходных кодов FreeBSD поддерживалось с помощью CVS (Concurrent Versions System), свободно распространяемой системы контроля версий. В июне 2008 года проект перешёл на использование SVN (Subversion). Переход был признан необходимым, так как технические ограничения CVS становились всё более очевидными из-за быстрого роста дерева исходных кодов и объёма уже накопленной истории. Репозитории проекта документации и коллекции портов также были перенесены с CVS на SVN в мае 2012 года и июле 2012 года соответственно. В декабре 2020 года проект перенёс репозитории исходных кодов и документации на Git, а коллекция портов последовала их примеру в апреле 2021 года. Дополнительную информацию о получении репозитория FreeBSD src/ можно найти в разделе Получение исходных кодов, а подробности о получении коллекции портов FreeBSD — в разделе Использование коллекции портов.

Список коммиттеров

Коммиттеры — это люди, у которых есть доступ на запись в Git-репозиторий и которые уполномочены вносить изменения в исходный код FreeBSD (термин «коммиттер» происходит от команды commit, используемой в системе контроля версий для добавления новых изменений в репозиторий). Любой может отправить отчёт об ошибке в link:https://bugs.FreeBSD.org/submit/ [Базу данных ошибок]. Перед отправкой отчёта можно воспользоваться списками рассылки FreeBSD, IRC-каналами или форумами, чтобы убедиться, что проблема действительно является ошибкой.

Команда разработчиков FreeBSD

Команда core FreeBSD была бы эквивалентна совету директоров, если бы проект FreeBSD был компанией. Основная задача команды core — убедиться, что проект в целом находится в хорошем состоянии и движется в правильном направлении. Приглашение преданных и ответственных разработчиков в нашу группу коммиттеров — одна из функций команды core, как и привлечение новых членов команды core по мере того, как другие уходят. Текущая команда core была избрана из числа кандидатов-коммиттеров в мае и июне 2024 года. Выборы проводятся каждые 2 года.

Как и большинство разработчиков, большинство членов основной команды также являются добровольцами в разработке FreeBSD и не получают финансовой выгоды от проекта, поэтому «обязательство» не следует ошибочно истолковывать как «гарантированную поддержку». Приведённая выше аналогия с «советом директоров» не совсем точна, и, возможно, правильнее будет сказать, что это люди, которые вопреки здравому смыслу посвятили свою жизнь FreeBSD!

Фонд FreeBSD

FreeBSD Foundation — это некоммерческая организация 501(c)(3), базирующаяся в США, которая занимается поддержкой и продвижением проекта FreeBSD и его сообщества по всему миру. Фонд финансирует разработку программного обеспечения через гранты на проекты и предоставляет сотрудников для оперативного решения срочных проблем, а также внедрения новых функций и возможностей. Фонд закупает оборудование для улучшения и поддержки инфраструктуры FreeBSD, а также финансирует работу специалистов для повышения тестового покрытия, непрерывной интеграции и автоматизации. Фонд продвигает FreeBSD, участвуя в технических конференциях и мероприятиях по всему миру. Кроме того, Фонд проводит мастер-классы, разрабатывает учебные материалы и презентации для привлечения новых пользователей и разработчиков в проект FreeBSD. Фонд также представляет проект FreeBSD при заключении контрактов, лицензионных соглашений и других юридических договоров, требующих участия официального юридического лица.

Внешние участники

И последнее, но не менее важное: самая большая группа разработчиков — это сами пользователи, которые практически постоянно предоставляют нам обратную связь и исправления ошибок. Основной способ следить за разработкой базовой системы FreeBSD — подписаться на список рассылки Список рассылки FreeBSD, посвящённый техническим дискуссиям, где обсуждаются подобные вопросы. Для портирования сторонних приложений используется список Список рассылки, посвящённый Портам FreeBSD. Для документации — Список рассылки Проекта Документации FreeBSD. Дополнительную информацию о различных списках рассылки FreeBSD можно найти в разделе Ресурсы в Интернете.

Список участников FreeBSD длинный и постоянно растёт, так почему бы не присоединиться к нему, внеся свой вклад в FreeBSD, уже сегодня? Предоставление кода — не единственный способ!

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

Мы просим от тех, кто хочет присоединиться к нам в качестве разработчиков FreeBSD, лишь такой же преданности, которую проявляют нынешние участники проекта для его дальнейшего успеха!

1.3.4. Сторонние программы

Помимо базовых дистрибутивов, FreeBSD предлагает коллекцию портированного программного обеспечения, включающую тысячи популярных программ. Список портов варьируется от HTTP-серверов до игр, языков программирования, редакторов и почти всего, что между ними. Насчитывается около 36000 портов; вся Коллекция портов занимает примерно 3 GB. Чтобы скомпилировать порт, достаточно перейти в каталог программы, которую вы хотите установить, ввести make install, а система сделает всё остальное. Полный исходный дистрибутивный файл для каждого порта загружается динамически, поэтому требуется достаточно места на диске для сборки только нужных портов.

Почти каждый порт также доступен в виде предварительно скомпилированного «пакета», который можно установить простой командой (pkg install) для тех, кто не хочет компилировать порты из исходного кода. Дополнительная информация о пакетах и портах доступна в Установка приложений: Пакеты и Порты.

1.3.5. Дополнительная документация

Все поддерживаемые версии FreeBSD предоставляют возможность в установщике установить дополнительную документацию в /usr/local/share/doc/freebsd во время первоначальной настройки системы. Документация также может быть установлена позже с использованием пакетов:

# pkg install en-freebsd-doc

Для локализованных версий замените «en» на префикс нужного языка. Учтите, что некоторые локализованные версии могут быть устаревшими и содержать информацию, которая больше не является корректной или актуальной. Вы можете просмотреть локально установленные руководства в веб-браузере, используя следующие URL-адреса:

Руководство FreeBSD

/usr/local/share/doc/freebsd/en/books/handbook/handbook_en.pdf

Часто задаваемые вопросы по FreeBSD (FAQ)

/usr/local/share/doc/freebsd/en/books/faq/faq_en.pdf

Актуальную документацию всегда можно найти на Портале документации.

Все товарные знаки являются собственностью их законных владельцев.


Изменено: 20 октября 2025 г. by Vladlen Popolitov