Порог вхождения новичка в мир 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. Аватар

    sved

    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

Хроники битвы при Denuvo. Как «непробиваемая» игровая защита EA Origin оказалась пробиваемой

Защита от пиратства Denuvo пришла на смену SecuROM и связана с одним действующим лицом – Р…