Следующая новость
Предыдущая новость

В гостях у чертёнка. FreeBSD глазами линуксоида

22.11.2017 13:06
В гостях у чертёнка. FreeBSD глазами линуксоида

Содержание статьи

  • Первый запуск
  • Под капотом
  • Файловые системы
  • GEOM и управление дисками
  • Модульный сетевой стек Netgraph
  • Брандмауэры
  • Управление пакетами
  • DTrace
  • Безопасность
  • Контейнеры
  • TrustedBSD
  • Привилегии POSIX.1e и Capsicum
  • Слой совместимости с Linux
  • Итоги

Порог вхождения новичка в мир Linux за последние десять-пятнадцать лет ощутимо снизился. В дистрибутивах добавились удобные графические инсталляторы, значительно похорошел GUI, появилась какая-никакая унификация рабочих столов и прочие усовершенствования. Однако, помимо дистрибутивов Linux, существуют и другие POSIX-совместимые системы. Мы решили взглянуть на одну из них — FreeBSD — глазами современного пользователя (и администратора) Linux и оценить удобство работы и функциональность.

Первый запуск

Первое отличие от Linux, которое ты заметишь, — FreeBSD загружается в текстовом режиме. И это абсолютно нормально, GUI необходимо устанавливать отдельно.

К примеру, чтобы использовать GNOME 3, нужно проделать следующие шаги. Сперва установить сам GNOME 3 и Xorg:

# pkg install xorg gnome3 
Установка GNOME

Затем отредактировать (с помощью vi!) файл /etc/rc.conf.

dbus_enable="YES" hald_enable="YES" gdm_enable="YES" gnome_enable="YES" 

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

И только после этого можно перезагрузиться:

# shutdown -r now 
В гостях у чертёнка. FreeBSD глазами линуксоида
Экран входа в систему

После входа будет стандартный интерфейс GNOME 3 без каких-либо сторонних приложений. После установки Firefox (с чем пришлось повозиться — об этом далее) он появился в приложениях.

Опять же сосредоточимся на различиях. На уровне графического интерфейса их крайне мало. Единственное отличие в интерфейсе — отсутствие кнопок минимизации/максимизации — исправляется парой щелчков мышью в твикере. Аудиофайлы MP3 проигрываются без особых проблем, видео тоже, все устройства определились и заработали.

В гостях у чертёнка. FreeBSD глазами линуксоида
Включаем кнопки минимизации/максимизации окна в твикере

С бытовыми задачами (посерфить в интернете, послушать музыку, посмотреть видео) особых проблем нет, так что не будем задерживаться на этом и перейдем к внутренним различиям.

Под капотом

Внутри FreeBSD значительно отличается от Linux. Конечно же, здесь совсем другое ядро и большая часть рантайма (то есть стандартных библиотек и команд), но отдельно стоит отметить следующие различия:

  • загрузчик — хотя сейчас ничто и не мешает использовать Grub 2, но по историческим причинам и из-за лицензирования используется собственный;
  • базовый набор команд в большинстве своем совместим с тем, что в Linux, но может сильно отличаться в той части, которая касается управления оборудованием;
  • своя система управления пакетами, дополненная системой так называемых портов, которая позволяет автоматически устанавливать софт из исходников;
  • мощная модульная система GEOM, позволяющая строить любые мыслимые и немыслимые дисковые конфигурации;
  • ZFS из коробки;
  • модульный сетевой стек, своего рода аналог GEOM для обработки пакетов;
  • несколько брандмауэров, включая мощный и удобный pf из OpenBSD;
  • несколько NAT-подсистем.

Сравним некоторые особенности с аналогами в Linux.

Файловые системы

Во FreeBSD есть две основные файловые системы: UFS2 и ZFS. Первая ФС — внучка FFS, вторая — детище Sun.

UFS2 напоминает старые ФС Unix/Linux, такие, например, как ext2: в ней нет журнала (хотя его можно создать с помощью GEOM), но зато есть нечто под названием Soft Updates — механизм, обеспечивающий (почти) беспроблемную работу после аварийного останова. Работает он на основе отслеживания зависимостей метаданных и группирования изменений в них в атомарные записи. Это позволяет избежать неконсистентных состояний ФС, которые в противном случае могли бы помешать запуститься системе, и также позволяет выполнить проверку файловой системы в фоновом режиме.

ZFS — комбинация файловой системы с менеджером томов, портированная во FreeBSD из Solaris. По сравнению с ее ближайшим аналогом в Linux, Btrfs, ZFS более стабильная, имеет работающие аналоги RAID 5/6, поддерживает блочные устройства поверх пула (volumes), в результате чего появляется возможность создавать iSCSI-хранилища, поддерживает кеширование на SSD (что позволяет ощутимо ускорить работу, хотя и увеличивает расход памяти), дедупликацию во время работы.

Минус (по сравнению с традиционными ФС) по большей части один — требует много оперативной памяти с поддержкой ECC.

Продолжение статьи доступно только подписчикам

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

Подпишись на журнал «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

1 год

4890 р.

Экономия 1400 рублей!

1 месяц

540 р.

25-30 статей в месяц

Уже подписан?

Источник

Последние новости