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

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

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

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

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

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

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

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

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

# shutdown -r now
Экран входа в систему
Экран входа в систему

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

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

Включаем кнопки минимизации/максимизации окна в твикере
Включаем кнопки минимизации/максимизации окна в твикере

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

 

Под капотом

Внутри 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.

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

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

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

Вариант 2. Купи один материал

Заинтересовала информация, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для материалов, опубликованных более двух месяцев назад.


5 комментариев

  1. vedernikov

    22.11.2017 at 14:17

    Просто о сложном.
    Автор статьи — молодец!
    Буду ждать новые и ориентированные на решение задач, о которых упоминают в части ‘Итоги’.

  2. Anon

    23.11.2017 at 03:17

    Linux — это просто ядро. А FreeBSD — это просто ОС, полностью самодостаточная, да ещё и с удобной лицензией. Так что используется в огромной куче продуктов. Например как база для операционных систем ps3 и ps4, что делает её одной из самых распространённых unix-подобных систем(хотя тут подобие как раз номинальное, в отличие от Linux, т.к. FreeBSD это прямой потомок Unix) в стационарных консьюмерских устройствах.
    Ещё из неточностей статьи хотелось бы заметить что zfs не требует ECC памяти, и к объёмам толерантна, но требует настройки.

    • dima_gv

      29.11.2017 at 01:14

      о Бог ты мой. Я эту ересть еще слышал 10 лет назад и самое удивительное что ее до сих пор еще кто-то верит в нее и в наше время.
      1) Ну Линукс ядро, а FreeBSD мол что-то больше? В основном все пользуються на ней тем ме же самыми утилитами и тулзами что и на Линуксе — оконные менеджеры, архиваторы, браузеры, компиляторы, тестовые редакторы, среды разработки т.д. А своего написаного чисто под FreeBSD не так уж и много, например свой пакетный менеджера и свой набор базовых утилит для работы с командной строкой.
      2) FreeBSD конечно потомок Unix, здесь это видно отчетливо(https://images.techhive.com/images/idge/imported/article/ctw/2009/06/04/unix_chart_775-100397147-orig.jpg), но что это дает? Не, ну честно что?
      Разве что из-за какой-то «чистоты рассы».
      3) Лицензия очень добная, но для кого? Для частных предпринимателей. Они могу взять чужой код, скопилировать его и ввиде бинарного образа распостронять, что на конечного потребителя не выгодно, так как она не знает что тот добавил еще код. Например следства для слежки или навязчивую рекламу и т.д.

  3. Rathori

    28.11.2017 at 12:06

    Было интересно почитать. Только вот раздел статьи про GUI разочаровал: во-первых, отсутствие предустановленного GUI не есть отличие FreeBSD от Linux, т.к. у линукса тоже есть дистры по-умолчанию не ставящие GUI, взять хотя бы тот же Arch Linux. И во-вторых, отсутствие кнопок минимизации/максимизации также не есть особенность FreeBSD — это стандартные настройки свежеустановленного GNOME. Автор, видимо, никогда не ставил GNOME вручную на Linux.

  4. Rathori

    28.11.2017 at 12:09

    Жаль, что нет примеров «некоторых программ, написанных для Linux», которые можно запускать через слой совместимости.

Оставить мнение

Check Also

Смертельный коммит. Выполняем произвольный код в клиенте git

Думаю, тебе не нужно рассказывать, что такое git, — он сегодня используется всеми от небол…