FreeBSD 10: Clang, ZFS, PKG


FreeBSD 10 является новым этапом в развитии этой свободной ОС, открывающим эпоху компилятора Clang и пакетного менеджера pkg и файловой системы ZFS. Лицензия: BSD. Сайт: freebsd.org


FreeBSD. Справка

FreeBSD — UNIX-подобная операционная система, разработанная на основе операционной системы «4.4BSD-Lite» Калифорнийского Университета (Беркли). В ноябре 1993-го года вышла первая версия этой системы. ОС FreeBSD разрабатывается постоянной командой основных разработчиков с участием и сторонних программистов. Эта команда разрабатывает не только ядро системы, но и системное окружение — системные библиотеки, утилиты, системное окружение, базовые пользовательские программы. То есть FreeBSD — это законченная целостная операционная UNIX-система.

Во FreeBSD имеется две ветки разработки: FreeBSD-CURRENT и FreeBSD-STABLE. Ветка CURRENT является «передовым краем» работ над FreeBSD, куда включаются экспериментальные изменения. А из ветки FreeBSD-STABLE уже делаются основные релизы, предназначенные для непосредственного использования.

Выход FreeBSD 10 STABLE в начале 2014-го года — новый этап в развитии этой ОС, и главные новшества 10-й версии весьма значительны.

Hello, Clang!

Хотя операционная система FreeBSD не имеет каких-то существенных коммерческих показателей, тем не менее её можно назвать популярной и оказывающей влияние на ИТ-сообщество.

В первую очередь FreeBSD снискала популярность у администраторов UNIX как неприхотливая и быстрая серверная «рабочая лошадка», зарекомендовавшая себя как система для построения интранет и интернет-сетей. Её популярность выросла вместе с Linux с началом «Всемирной Паутины», когда FreeBSD стала популярной платформой для веб-серверов. Наиболее популярна «Фряха» в мире почему-то у русских сисадминов.

Большая доля популярности FreeBSD связана с особенностями лицензирования программного кода системы. Лицензия FreeBSD очень либеральная и позволяет использовать код проекта практически без каких-либо условий. Другими словами FreeBSD популярна как донор кода для других, в том числе и для закрытых коммерческих проектов, которым не подходит лицензия GPL Ричарда Столлмена. Крупный заимтвователь кода FreeBSD — например, Apple. Компания Sony подтвердила использование компонентов FreeBSD в операционной системе Orbis OS, для игровых приставок Sony PlayStation.

Рис. Orbis OS
Рис. Orbis OS

То есть лицензия FreeBSD — свободная альтернатива GPL. И разработчики проекта FreeBSD стараются, где только это возможно, заменить программное обеспечение с лицензией GPL аналогичным, но с менее строгими лицензионными условиями.

В ходе этой замены GPL-программ в системе FreeBSD 10 произошёл переход на новый набор компиляторов Clang/LLVM. Clang — это компилятор для C-подобных языков. Функциональные возможности Clang достигли того уровня, что этот набор компиляторов становится всё более привлекательным для разработчиков ПО.

Другими словами, FreeBSD 10 является реальным примером уровня зрелости Clang/LLVM. Это первый по-настоящему крупный проект, написанный с использованием этого набора компиляторов. Все компоненты системы FreeBSD 10, все пакеты и порты реализованы с использованием Clang, а GCC в составе системы больше по умолчанию не поставляется.

Рис. Clang
Рис. Clang

Инсталляция по-новому

Начиная с FreeBSD 9, система имеет новый инсталлятор BSDinstaller, пришедшего на смену предыдущему sysinstaller.

Рис. BSDinstaller
Рис. BSDinstaller

Стандартной файловой системой FreeBSD является UFS, которая по прежнему предлагается по умолчанию. Однако в инсталляторе FreeBSD 10 теперь появился и пункт, позволяющий выбрать уже на этапе установке файловую систему ZFS, имеющей множество достоинств.

Рис. ZFS
Рис. ZFS

Установка программ

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

Рис. FreeBSD
Рис. FreeBSD

Во FreeBSD 10 по-прежнему присутствует классический способ установки приложений из портов. Коллекция портов — это набор скриптов и дополнительных файлов, хранимых в /usr/ports, который предназначен для построения и установки приложений во FreeBSD. То есть здесь хранятся не сами программы и их исходники, а файлы, которые указывают вашей системе FreeBSD, как откомпилировать и установить программу.

Использование коллекции портов предполагает наличие работающего подключения к Интернет. Установка программ из портов происходит, для примера, следующим образом.

Находим каталог нужный порт, например, apache22

# whereis apache22  

apache22: /usr/ports/www/apache22    

Переходим в этот каталог

# cd /usr/ports/www/apache22    

Собираем, устанавливаем программу и очищаем временные файлы

# make install clean    

Но кроме установки из портов возможна и установка из пакетов уже собраного бинарного архива. Вот как это происходит в дистрибутивах Linux при помощи менеджеров программ.

Главным новшеством FreeBSD 10 в отношении установки программ из пакетов является то, что здесь можно использовать новый пакетный менеджер pkg (pkgng). Стабильная версия этого пакетного менеджера была представлена в прошлом году, и теперь pkg рекомендуется установить вместо разрозненных утилит управлением пакетами pkginstall (pkgcreate, pkgadd и pkginfo).

Рис. pkg
Рис. pkg

То есть работа с пакетами делается в pkg в стиле менеджера APT из, например, Debian Linux. Так для обновления данных о содержимом репозитория нужно выполнить «pkg update», для установки программ «pkg install name_prog», для поиска — «pkg search ключ» и т.п. Pkg отличается поддержкой таких функций, как обновление пакетов, работа с репозиториями, учёт зависимостей, полноценные средства для работы с метаданными.

Ⓜ ⬇ 17-02-2014