Вышла очередная десятая версия свободной ОС FreeBSD, которая является новым этапом в развитии этой системы. Об этом более подробно в статье и поговорим.
Популярность FreeBSD
Казалось бы, операционная система FreeBSD не имеет каких-то существенных коммерческих и рыночных показателей в ИТ-индустрии. Тем не менее, к ней постоянно наблюдается стойкий интерес со стороны специалистов и пользователей — её даже можно назвать популярной и оказывающей влияние на ИТ-сообщество. Выход FreeBSD 10, случившийся 20 января 2014-го года — это новый этап в развитии этой ОС, и, с уверенностью можно сказать, главные новшества 10-й версии многим будут интересны.
FreeBSD — UNIX-подобная операционная система для платформ AMD64 и Intel EM64T, i386, PC-98, IA-64, ARM, PowerPC и UltraSPARC, разработанная на основе операционной системы «4.4BSD-Lite» Калифорнийского Университета (Беркли). В ноябре 1993-го года вышла первая версия этой системы, и сейчас выход FreeBSD 10 – это, можно сказать, подарок к 20-летию проекта.
В первую очередь, FreeBSD снискала популярность у администраторов UNIX как неприхотливая и быстрая «рабочая лошадка», зарекомендовавшая себя как серверная система для построения интранет и интернет-сетей. Она предоставляет надёжные сетевые службы и эффективное управление памятью. Особенно выросла её популярность с развитием Всемирной паутины, когда FreeBSD стала популярной платформой для веб-серверов. Наиболее популярна «Фряха» в мире почему-то у российских сисадминов.
Большая доля популярности FreeBSD связана с особенностями лицензирования программного кода системы. Лицензия FreeBSD очень либеральная, и позволяет использовать код проекта практически без каких-либо условий. Другими словами, FreeBSD популярна как донор кода для многих проектов — в том числе и для закрытых коммерческих, которым совсем не подходят условия стандартной свободной лицензии GPL Ричарда Столлмена. Примерами такого основательного заимствования кода FreeBSD можно назвать Apple Mac OS X. Также компания Sony подтвердила сведения об использовании компонентов базовой системы и ядра FreeBSD в операционной системе Orbis OS, используемой в новом поколении игровых приставок Sony PlayStation.
Другими словами, лицензия FreeBSD — свободная альтернатива GPL. И разработчики проекта FreeBSD стараются, где только это возможно, заменить программное обеспечение с лицензией GPL аналогичным, но с менее строгими лицензионными условиями.
В ходе этой замены GPL-программ в системе FreeBSD 10 произошёл переход на новый набор компиляторов Clang/LLVM. Как и классический набор компиляторов GCC, Clang — это компилятор для C-подобных языков. При этом Clang — альтернатива GCC не только в плане более либеральной лицензии. Функциональные возможности Clang в качестве компилятора C/C++ достигли того уровня, что этот набор компиляторов с более современной архитектурой становится всё более привлекательным для разработчиков ПО, и его спонсорами являются компании Apple и Google.
Другими словами, FreeBSD 10 является реальным примером уровня зрелости Clang/LLVM. Это первый по-настоящему крупный проект, написанный с использованием этого набора компиляторов. Все компоненты системы FreeBSD 10, все пакеты и порты реализованы с использованием Clang, а GCC в составе системы больше по умолчанию не поставляется.
Разработка и распространение
Для тех, кого заинтересовала ОС FreeBSD 10 как система, или как архив доступного исходного кода, или как реальный пример возможностей Clang, подчеркнём основные особенности десятой версии в отношении её разработки, установки и управления пакетами.
ОС FreeBSD разрабатывается постоянной командой основных разработчиков и коммитеров численностью около 400 человек с участием и сторонних программистов. Эта команда разрабатывает не только ядро системы, но и системное окружение — системные библиотеки, утилиты, системное окружение, базовые пользовательские программы. То есть, FreeBSD — это законченная целостная операционная UNIX-система.
Во FreeBSD имеется две ветки разработки: FreeBSD-CURRENT и FreeBSD-STABLE. Ветка CURRENT является «передовым краем» работ над FreeBSD, куда включаются экспериментальные изменения и промежуточные механизмы, которые могут и отсутствовать в следующем официальном релизе. А из ветки FreeBSD-STABLE уже делаются основные релизы, предназначенные для непосредственного использования. Причём эта ветка также остаётся веткой для разработки, и следует помнить, и в любой момент времени исходные тексты FreeBSD-STABLE могут оказаться неприменимы для той или иной задачи.
На любом этапе разработки FreeBSD может существовать несколько параллельных веток. Например, сейчас релизы 9.X выполняются из ветки 9-STABLE, а релизы 10.X выполняются из ветки 10-STABLE. Дальнейшая экспериментальная разработка системы ассоциирована с веткой FreeBSD 11-CURRENT.
Все основные релизы FreeBSD свободно и бесплатно доступны по FTP с FTP-сервера FreeBSD . Установку вы можете провести как с полного DVD-диска размером около 2,5 гигабайт, так и с помощью образов чистой системы без портов размером около 700 мегабайт для CD-ROM или USB-носителя. Образы имеются для всех поддерживаемых процессорных архитектур.
Установка системы
Начиная с FreeBSD 9, система имеет новый инсталлятор BSDinstaller, пришедший на смену предыдущему sysinstaller. То есть, пользоваться мануалами по установке новых версий FreeBSD следует с инструкций для версий FreeBSD 9 и выше.
Но новый инсталлятор по-прежнему остался текстовым без всякой графики, исключительно на английском языке и будет интуитивно понятным, наверное, любителям Slaclware Linux.
После запуска установочного диска или флэшки будет предложено: начать установку FreeBSD, открыть консоль, или загрузиться в режиме LiveCD. Процесс установки FreeBSD состоит из следующих этапов:
- Настройка языка ввода, хотя на серверах обычно ничего кроме английской локали не используют.
- Выбор имени хоста.
- Выбор устанавливаемого программного обеспечения.
- Выбор способа разбивки дисков, где имеется три режима: автоматический Guided для новичков, Manually — ручная разбивка, для экспертов, или Shell для самостоятельной разбивки диска. Также будет предложен выбор типа разбивки диска. Поддерживается формат разбивки дисков GUID Partition Table (GPT), а также же традиционный формат Master Boot Record (MBR).
Стандартной файловой системой FreeBSD является UFS, которая по прежнему предлагается по умолчанию. Однако в инсталляторе FreeBSD 10 теперь появился и пункт, позволяющий выбрать уже на этапе установке файловую систему ZFS, разработанную компанией Sun, и имеющую множество достоинств.
- Установка пароля пользователя root.
- Выбор сетевой карты для настройки, где, возможно, понадобится ввести данные: IP адрес, маску подсети, шлюз по умолчанию, доменное имя локальной сети, адреса DNS-серверов, и, если у вас Wi-Fi карта, то необходимо знать SSID и ключ.
- Установка часового пояса (РФ в Азии, Беларусь в Европе).
- Выбор сервисов, запускаемых при загрузке — например, sshd.
- Создание нового пользователя.
После ребута система загрузится в чистую консоль — это и есть самая настоящая FreeBSD. Всё остальное, например графический интерфейс, нужно устанавливать отдельно посредством системы портов или пакетов. FreeBSD может использоваться и как десктопная система при наличии совместимого оборудования.
Установка программ
Во FreeBSD 10 по-прежнему присутствует классический способ установки приложений из портов. Коллекция портов — это набор скриптов и дополнительных файлов, хранимых в /usr/ports, который предназначен для построения и установки приложений во FreeBSD. Здесь хранятся не сами программы и их исходники, а файлы, которые указывают вашей системе FreeBSD, как откомпилировать и установить программу. Кстати, идея портов была заимствована из FreeBSD в Linux-дистрибутиве Gentoo.
Способы получения коллекции портов следующие:
- установить непосредственно во время установки с DVD через bsdinstall;
- скачать посредством утилиты portsnap — это предпочитаемый выбор для большинства пользователей;
- или же обновить непосредственно с помощью инструмента контроля версий Subversion, если необходим контроль над деревом портов.
Система Subversion, кстати, стала использоваться совсем недавно — с июля 2012 года. Ранее в былых версиях FreeBSD использовалась система контроля версий CVS.
На худой конец, можно вручную скачать отдельный порт и поместить его в стандартном каталоге для портов.
Использование коллекции портов предполагает наличие работающего подключения к интернету. Установка программ из портов происходит следующим образом.
Находим каталог нужный порт, например, apache22
# whereis apache22
apache22: /usr/ports/www/apache22
Переходим в этот каталог
# cd /usr/ports/www/apache22
Собираем, устанавливаем программу и очищаем временные файлы
# make install clean
Но кроме установки из портов, возможна и установка из пакетов уже собраного бинарного архива, как это происходит в дистрибутивах Linux при помощи менеджеров программ.
Главным новшеством FreeBSD 10 в отношении установки программ из пакетов является то, что здесь можно использовать новый пакетный менеджер pkg (pkgng). Стабильная версия этого пакетного менеджера была представлена в 2012-ом году, и теперь pkg рекомендуется установить вместо разрозненных утилит управлением пакетами pkg_install (pkg_create, pkg_add и pkg_info).
Работа с пакетами делается в pkg в стиле менеджера APT из, например, Debian Linux. Так для обновления данных о содержимом репозитория нужно выполнить «pkg update», для установки программ «pkg install name_prog», для поиска — «pkg search ключ» и т.п. Pkg отличается поддержкой таких функций, как обновление пакетов, работа с репозиториями, учёт зависимостей, полноценные средства для работы с метаданными. В pkgng также реализованы полноценные средства учета зависимостей между пакетами, в том числе присутствует режим автоматического удаления пакетов, которые были установлены как зависимости и в которых больше нет необходимости.
Таким образом, в новой версии FreBSD 10 появились новшества, интересные не только тем, кто впервые знакомится с этой ОС, но и для пользователей этой системы с большим стажем.
Михаил Астапчик
Горячие темы