Содержание статьи
Первый запуск
Первое отличие от Linux, которое ты заметишь, — FreeBSD загружается в текстовом режиме. И это абсолютно нормально, GUI необходимо устанавливать отдельно.
К примеру, чтобы использовать GNOME 3, нужно проделать следующие шаги. Сперва установить сам GNOME 3 и Xorg:
# pkg install xorg gnome3

Затем отредактировать (с помощью 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. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
sved
22.11.2017 в 14:17
Просто о сложном.
Автор статьи — молодец!
Буду ждать новые и ориентированные на решение задач, о которых упоминают в части ‘Итоги’.
Anon
23.11.2017 в 03:17
Linux — это просто ядро. А FreeBSD — это просто ОС, полностью самодостаточная, да ещё и с удобной лицензией. Так что используется в огромной куче продуктов. Например как база для операционных систем ps3 и ps4, что делает её одной из самых распространённых unix-подобных систем(хотя тут подобие как раз номинальное, в отличие от Linux, т.к. FreeBSD это прямой потомок Unix) в стационарных консьюмерских устройствах.
Ещё из неточностей статьи хотелось бы заметить что zfs не требует ECC памяти, и к объёмам толерантна, но требует настройки.
dima_gv
29.11.2017 в 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) Лицензия очень добная, но для кого? Для частных предпринимателей. Они могу взять чужой код, скопилировать его и ввиде бинарного образа распостронять, что на конечного потребителя не выгодно, так как она не знает что тот добавил еще код. Например следства для слежки или навязчивую рекламу и т.д.
Rathori
28.11.2017 в 12:06
Было интересно почитать. Только вот раздел статьи про GUI разочаровал: во-первых, отсутствие предустановленного GUI не есть отличие FreeBSD от Linux, т.к. у линукса тоже есть дистры по-умолчанию не ставящие GUI, взять хотя бы тот же Arch Linux. И во-вторых, отсутствие кнопок минимизации/максимизации также не есть особенность FreeBSD — это стандартные настройки свежеустановленного GNOME. Автор, видимо, никогда не ставил GNOME вручную на Linux.
Rathori
28.11.2017 в 12:09
Жаль, что нет примеров «некоторых программ, написанных для Linux», которые можно запускать через слой совместимости.