Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Обзор операционной системы FreeBSD 12.0

Оригинал: FreeBSD 12.0
Автор: Jesse Smith
Дата публикации: 7 января 2019 года
Перевод: А. Кривошей
Дата перевода: февраль 2019 г.

FreeBSD FreeBSD является членом семейства операционных систем UNIX и, вероятно, наиболее широко используемым представителем семейства BSD. FreeBSD предлагает отличное, стабильное и высокопроизводительное ядро, в результате чего Netflix использует эту операционную систему для потоковой передачи контента, а Sony - в качестве основы для своей операционной системы PlayStation. FreeBSD имеет тенденцию быть особенно популярной на серверах, где требуется долговременная надежность. Хотя FreeBSD может функционировать как настольная операционная система, ее доля на рынке настольных компьютеров остается низкой, и люди, которые хотят иметь десктоп на основе FreeBSD, вероятно, будут использовать один из форков, такой как GhostBSD, где уже настроена графическая конфигурация.

FreeBSD 12.0 была выпущена в середине декабря, и новая версия содержит в основном серию обновлений (таких как компилятор Clang, компоненты OpenSSH и OpenSSL) и улучшения производительности (драйвер vt, как сообщается, работает в четыре-шесть раз быстрее). В файловой системе UFS была улучшена поддержка TRIM, и некоторые инструменты, такие как гипервизор bhyve и брандмауэр pf, теперь можно использовать внутри FreeBSD. Одним из основных изменений, которое ожидалось во FreeBSD 12.0, стало объединение менеджеров пакетов. В прошлом FreeBSD использовала отдельные инструменты для управления обновлениями в основной операционной системе и стороннем программном обеспечении, и считалось, что FreeBSD перейдет на обновление всех компонентов через pkg, менеджер для сторонних пакетов. Это изменение не вышло в 12.0, но может появиться в будущем релизе.

FreeBSD работает на нескольких архитектурах, включая 32-битную и 64-битную x86, Sparc64, ARMv6, ARMv7, ARM64, PowerPC и PowerPC64. Это позволяет FreeBSD работать на многих устройствах, от компьютеров Raspberry Pi до рабочих станций и различных серверов. Стоит отметить, что проект предлагает различные образы для флэш-накопителей USB и оптических носителей, таких как DVD-диски. Файл для оптического носителя не переносится просто на USB-накопитель, как это делает большинство установочных носителей Linux. Я загрузил ISO для 64-битных компьютеров x86, который весил 851 Mб, и образ для USB-флешки, который весил 930 Mб. Существуют и другие варианты загрузки, включая полный ISO-образ в формате DVD и сжатый образ USB - у проекта FreeBSD есть варианты загрузки на все случаи жизни.

Установка

Загрузка с носителя FreeBSD выдает меню с вопросом, хотим ли мы запустить установщик системы, получить доступ к оболочке или использовать Live CD. Опция Live CD просто выводит нас в командную строку, где мы можем войти в систему как пользователь root.

Программа установки представлена в виде серии текстовых меню. Мы проходим через выбор раскладки клавиатуры и набора пакетов, который мы хотим установить. Список пакетов является коротким и предлагает такие общие элементы, как отладка ядра, порты, 32-битная совместимость и исходный код для операционной системы. Далее мы можем выбрать подход к разбиению диска. Программа установки автоматически настроит тома UFS или ZFS, или мы можем вручную разбить диск на разделы. Я выбрал ручное разбиение для ZFS. Это позволило мне выбрать, какой диск (или диски) будет использоваться, и дало мне возможность включить RAID, установить размер подкачки и включить шифрование. Мы также можем зашифровать пространство подкачки.

Затем установщик скопировал свои файлы на жесткий диск и продолжил задавать еще несколько вопросов. Нам предлагается создать пароль для учетной записи root и включить сеть с поддержкой IPv4, IPv6 и DHCP. Затем мы можем выбрать из списка наш часовой пояс. На следующем экране спрашивается, какие службы мы хотели бы включить, список включает такие элементы, как OpenSSH и сетевая синхронизация времени. Другой экран дает нам доступ к дополнительным функциям безопасности. К ним относятся очистка /tmp во время загрузки, скрытие процессов от других пользователей, использование случайных идентификаторов процессов и отключение службы электронной почты Sendmail. Нам предоставляется возможность создать учетную запись без полномочий root, а затем установщик предлагает перезагрузить компьютер. Весь процесс, в котором задействовано множество экранов установки, идет быстро и занимает около десяти минут.

Первые впечатления

FreeBSD загружается в текстовую консоль, где мы можем войти в систему с учетной записью root или с учетной записью обычного пользователя, при условии, что мы создали ее в процессе установки. По умолчанию графического окружения нет. На самом деле, по умолчанию установка FreeBSD минимальна. У нас есть доступ к обычным инструментам командной строки UNIX, страницам руководства и компилятору Clang, и это практически все. Операционная система очень легкая, работает около 15 процессов и используется 18 МБ активной памяти (и 250 МБ связанной памяти с включенной ZFS). Вся операционная система занимает около 500 МБ дискового пространства. FreeBSD дает нам основу для дальнейшего развертывания, но оставляет формирование и настройку операционной системы полностью в наших руках. По этой причине я настоятельно рекомендую новичкам прочитать руководство FreeBSD.

Чтение FreeBSD Handbook в Falkon

Поддержка железа

FreeBSD хорошо показала себя при запуске в VirtualBox. Система работает быстро и без каких-либо серьезных проблем. По умолчанию FreeBSD не интегрируется с виртуальной средой и не может в полной мере использовать разрешение экрана хоста. Гостевые модули VirtualBox доступны через менеджер пакетов FreeBSD, и после их установки система может использовать полный диапазон разрешений экрана.

В прошлом FreeBSD обычно не работала с оборудованием моего настольного компьютера. Либо система вообще не загружалась, либо загружалась с ограниченным разрешением экрана. На этот раз я был рад обнаружить, что FreeBSD 12.0 может загружаться на моей рабочей станции как в UEFI, так и в устаревших режимах BIOS. FreeBSD хорошо работала с моим физическим оборудованием, и единственным ограничением было то, что операционная система не могла обнаружить ни одно из беспроводных USB-устройств, которые я подключил к системе.

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

Десктоп Xfce

Управление пакетами

Поскольку FreeBSD является минимальной операционной системой, для того, чтобы сделать что-либо полезное с этой платформой, нам потребуется установить дополнительное программное обеспечение. Существует два подхода к установке сторонних пакетов на FreeBSD. Большинство пользователей, вероятно, захотят использовать менеджер двоичных пакетов, который называется pkg. Программа pkg - это утилита командной строки, которая очень похожа на APT в семействе дистрибутивов Debian или DNF в Fedora, и ее синтаксис одинаков во всех трех менеджерах пакетов. По умолчанию нет установленных пакетов.

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

Запуск Thunar и LibreOffice

FreeBSD рассматривает ядро операционной системы отдельно от программ, созданных сторонними разработчиками. В то время как pkg и коллекция портов работают со сторонним программным обеспечением, обновления от официальной команды FreeBSD могут быть установлены с помощью другого инструмента, называемого freebsd-update. Запуск этого инструмента приведет к скачиванию и, при необходимости, установке обновлений для основной системы. Используя freebsd-update, мы также можем выполнить обновление до будущих версий операционной системы, перейдя с 12.0 на 12.1, или до будущей версии 13.0.

Загрузочные среды

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

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

Вывод списка загрузочных сред с помощью beadm

FreeBSD с графическим окружением

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

В справочнике проекта есть раздел, посвященный установке программного обеспечения X display, включению экрана входа в систему и установке одной из трех сред рабочего стола: GNOME, KDE и Xfce. Я решил выбрать Xfce. Весь процесс прошел быстро, заняв всего несколько минут и потребовав редактирования трех файлов конфигурации.

Получившийся графический интерфейс пользователя был функциональным, хотя и не особо отточенным. Установка Xfce дала мне рабочий стол, панель по умолчанию и меню, виртуальный терминал и файловый менеджер Thunar, но мало что еще. По большей части, я бы не возражал против установки дополнительных приложений, таких как веб-браузер, LibreOffice и другие распространенные инструменты. Однако были проблемы, которые мне нужно было обойти. Например, мой обычный пользователь не мог перезагрузить или выключить систему из среды рабочего стола, я мог только выйти из системы. Отсутствовал регулятор громкости, и вскоре я обнаружил, что мультимедиа (потоковые и локальные файлы) не воспроизводятся. Например, видео YouTube не воспроизводилось ни в одном из моих веб-браузеров. VLC и MPV не могли воспроизводить видео или аудио файлы и просто зависали при открытии файла.

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

Ранее я упоминал, что система использует около 500 МБ диска после установки. Но каждая большая коллекция программного обеспечения, которую я добавлял, скачивала около гигабайта пакетов. После настройки Xfce, LibreOffice и веб-браузера было использовано более 3 ГБ. Когда я закончил установку своих обычных настольных программ, я использовал около 5 ГБ дискового пространства. Использование памяти при запуске Xfce 4.12 составляло около 140 Мб активной и 250 Мб связанной памяти, что примерно на 120 Мб больше, чем при работе в минимальной среде командной строки.

Другие наблюдения

По умолчанию любые пользователи, которых мы создаем в системе, не могут выполнять действия администратора. Мы можем выполнить действия администратора, войдя в систему как пользователь root напрямую, или мы можем добавить пользователя в группу wheel, чтобы дать ему возможность переключиться (su) в учетную запись пользователя root. В качестве альтернативы мы можем установить утилиты sudo или doas, которые предоставляют указанным пользователям специальный доступ.

По сравнению с большинством дистрибутивов Linux, FreeBSD играет пассивную роль. Система редко предоставляет информацию или помощь. Здесь нет мастера первого запуска или экрана приветствия. Я видел, возможно, одно уведомление во время запуска Xfce. FreeBSD предлагает нам чистую платформу, и мы должны прочитать руководство, если нам понадобится помощь или, если ничего не получится, посетить форум проекта. Сама операционная система старается оставаться в стороне.

После нескольких дней работы с FreeBSD, я обнаружил, что стал более продуктивным. Не потому, что система была особенно быстрой (хотя и быстрой) или эффективной (хотя среда была хорошо оптимизирована), а потому, что все приложения, которые я использую для работы, работали хорошо, а развлекательные программы - нет. На FreeBSD я мог легко установить и использовать Firefox, LibreOffice, Thunderbird, текстовые редакторы, графический редактор GIMP и инструменты командной строки. Однако, хотя я изо всех сил пытался заставить работать мультимедийные программы, Steam не работает на FreeBSD изначально, Netflix не будет здесь работать, а производительность для нативных трехмерных игр очень низкая. По сути, FreeBSD мягко заставляла меня использовать компьютер для работы, а не для игр. Это не всегда делало меня счастливым, но делало меня продуктивным.

Выводы

Поигравшись с FreeBSD в течение недели, я не чувствую, что в этом выпуске произошли какие-то большие изменения по сравнению с FreeBSD 11. В типичной манере FreeBSD прогресс скорее эволюционный, чем революционный, и этот релиз выглядит как отполированный и улучшеннй шаг вперед. Мне нравится, что установщик теперь обрабатывает разделы под управлением UFS и ZFS в дружественной манере. Раньше у меня были проблемы с настройкой загрузочного меню FreeBSD на загрузочные среды, но это было исправлено.

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

Что-то особенное в FreeBSD по сравнению с большинством дистрибутивов Linux, которые я использую, заключается в том, что FreeBSD редко держит пользователя за руку, но также редко удивляет пользователя. Это означает, что нужно больше читать заранее, и новые пользователи могут с трудом привыкнуть к редактированию файлов конфигурации в текстовом редакторе. Но FreeBSD редко делает что-либо, если не сказано ей сделать это. Обновления редко меняют поведение системы, работающие технологии редко меняются на что-то новое, система и ее приложения никогда не выходили из строя во время моих испытаний. Все было очень надежным. Для новых пользователей операционная система может показаться чистой доской, но по моему опыту она удивительно надежна и предсказуема.

Я, вероятно, не рекомендовал бы FreeBSD для использования на десктопе. Ее близкий родственник, GhostBSD, поставляется с дружественным рабочим столом и делает все для обеспечения работы приложений для конечных пользователей. Но для людей, которым нужны серверы, работающие в течение многих лет без изменений или проблем, FreeBSD является отличным вариантом. Это также привлекательный выбор, на мой взгляд, для людей, которые любят строить свою систему с нуля, как вы делаете это с установкой сервера Debian или Arch Linux. Помимо базовых инструментов и документации, в системе FreeBSD нет ничего, кроме того, что мы сами выберем.