Обзор FreeBSD 10: удивление и разочарование

Протестировал FreeBSD 10 и пришел в неописуемый восторг. Сначала сильно разочаровался, а потом еще сильнее удивился, но уже приятно.

Часть 1. Разочарование

После установки FreeBSD 10 пользователь получает только командную строку. Выбрать GNOME, KDE, Xfce и т.п. еще в инсталляторе нельзя. Даже Иксов нет. Все это предстоит установить и настроить пользователю.

По умолчанию используется файловая система UFS, отличающаяся медлительностью и тем, что в случае внезапного выключения компьютера вы останетесь без своих файлов. Собственно, это и произошло. Во время настройки Xorg система повисла. Пришлось жать хард ресет. После этого в /etc пропала половина файлов, включая главный конфигурационный файл /etc/rc.conf. В домашней директории файлы остались, но стали нулевой длины. В результате программы начали вести себя немного странно. Ну, например:

Проблема с FreeBSD 10
Невозможно загрузить штатную тему оформления. Штатная тема оформления была загружена.

Локализация проводится в ручную. Загрузчик GRUB отсутствует, есть какой-то совсем примитивный загрузчик версии 1.0.

Иксы и Гном я таки запустил, но какой смысл продолжать описывать систему, которая в любой момент может оставить юзера без его драгоценных файлов.

Часть 2. Восторг

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

На стадии разбивки диска выбрал экспериментальную функцию установки файловой системы ZFS на корневой раздел, чтобы вообще избавиться от протухшей UFS. К сожалению, эта экспериментальная опция требует отдать ей весь диск. На тестовом компьютере это требование еще уместно, но вот на основном рабочем ноутбуке хотелось иметь не только FreeBSD.

Дальше оказалось, что разработчики FreeBSD все это время не сидели сложа руки и успели запилить полноценный аналог apt-get под названием pkg. Например, Midnight Commander устанавливается так:

pkg install mc

Пакетный менеджер pkg показался мне даже более удобным, чем apt-get. Зацените как просто найти пакет по описанию:

pkg search apache

А вот пользователя apt-get зачем-то заставляют запускать apt-cache search для этих целей, что не вполне логично.

Таким образом, установка Иксов и Гнома выглядит так:

pkg install xorg
pkg install gnome2

Да-да, Гном здесь второй! Моя любимая версия, по которой я очень скучал. Третьего Гнома нет не потому, что во Фряхе и все остальное ПО старых версий, а потому, что он не нужен. Кстати, софт в FreeBSD будет посвежее того, что в Debian. Например, удивил LibreOffice, который оказался едва ли не последней версии. Ruby так и вообще версии 2.0, тогда как даже в Ubuntu до сих пор 1.9.

Настройка автозапуска Гнома вместо консоли тоже довольно проста. Основная сложность лишь в том, что это нигде не задокументировано. В хваленом официальном руководстве описаны неработающие способы через извращения с startx и .xinintrc. Правильный рецепт удалось найти — вы не поверите — в ролике на Ютюбе. Оказывает, правильно запускать Гном так:

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

Всё. Это один раз заносится в главный конфигурационный файл /etc/rc.conf и после этого Gnome стартует автоматически.

Загрузив графическую среду, я принялся доустанавливать привычный мне софт. И тут началось самое удивительное — программы запускаются в 5-10 раз быстрее, чем в Linux. Не по субъективным ощущениям, а я засекал. Например, запуск LibbreOffice Writer выглядит так: появляется окно с логотипом и прогрессбаром, прежде чем индикатор прогрессбара успевает тронуться с места закрывается окно с логотипом — Writer загружен. Такое же было, когда я заменил HDD на SSD. Но на этом тестовом компьютере стоял старенький Seagate 1 Tb.

То ли дело в ZFS, то ли в отказе от GCC в пользу Clang, то ли из-за легкого GNOME 2, то ли еще какая причина, но факт в том, что все летает и это очень приятно. Очень трудно после такого возвращаться на Linux, который по сравнению с FreeBSD кажется еле живым.

Таким образом, установив FreeBSD 10 пользователь получает:

  • одну из самых продвинутых файловых систем — ZFS;
  • удобный менеджер пакетов;
  • свежие версии программ, к которым пользователь привык в Linux;
  • репозиторий набит под завязку, в нем есть практически все;
  • программы запускаются значительно быстрее;
  • порядок в директориях (файлы операционной системы и стороннего прикладного софта не перемешиваются);
  • удобный и быстрый GNOME2;
  • бинарники под Linux даже в режиме эмуляции работают в FreeBSD быстрее, чем в самом Linux;
  • и множество других приятнейших особенностей.

В общем, FreeBSD 10 — приятнейшая система, которую я буду обязательно использовать. Остается только сравнить производительность Apache под FreeBSD, но мне уже кажется, что пользователей Фряхи и тут ждет приятный сюрприз.

Дополнительная информация по теме FreeBSD

  • Мой неудачный опыт тестирования FreeBSD 9 описан тут.
  • Если кто-нибудь научит меня ставить FreeBSD в отдельный раздел с ZFS, я перейду на Фряху и начну доставать читателей рассуждениями на тему тотального превосходства FreeBSD над Linux.
Оценка: 
5
Средняя: 4.7 (10 оценки)

Комментарии

Если кто-нибудь научит меня ставить FreeBSD в отдельный раздел с ZFS, я перейду на Фряху и начну доставать читателей рассуждениями на тему тотального превосходства FreeBSD над Linux.

Делать было нечего, попробовал ради интереса. Получилось :)
Ставил FreeBSD на отдельный раздел с ZFS, как пишут тут: http://deathstar.name/ustanovka-freebsd-na-zfs-vklyuchaya-kornevoj-razdel/ (нужно убрать пробел в ссылке, оставить в нормальном виде мне её не дают). Единственное различие — в команде, которая создает раздел с ZFS, нужно ограничить его размер, по умолчанию, он занимает всё до конца диска. Второй шаг, собственно дуалбут. После установки фряхи создал ещё один раздел и установил на него убунту с ext4. Не сразу допер, как настроить GRUB, чтобы он грузил FreeBSD с корнем на ZFS-пуле, но в итоге получил 2 замечательно работающие системы рядом.

Кстати, UFS не настолько уж тормозная и глючная, как может показаться. Чувствительна к электропитанию, да. Но во-1, в своей практике не встречал проблемы, которая не лечилась бы fsck в однопользовательском режиме, а во-2, можно выполнять fsck автоматически при каждой перезагрузке.

Предвидя вопросы насчет менее черезжопного способа установки фряхи с корневым разделом на ZFS, скажу, что сейчас она считается экспериментальной и официально рекомендуется / делать на UFS..

Оценка: 
Средняя: 5 (1 оценка)

Спасибо, попробую. Но количество кода по Вашей ссылке сильно огорчает. Насколько я понял, для установки этим способом даже штатный инсталлятор не потребуется. :)

Не сразу допер, как настроить GRUB, чтобы он грузил FreeBSD с корнем на ZFS-пуле

Можно фрагмент конфига?

Кстати, UFS не настолько уж тормозная и глючная, как может показаться.

Не знаю, может в последних версиях ситуация изменилась. Я активно использовал Фряху на серверах до 6й версии включительно. В то время узким местом была именно производительность файловой системы. А вот глюки не замечал. Когда не было аварийных завершений, UFS работала как часы.

Оценка: 
Пока без оценки

Да, инсталлятор не потребуется. В нем сразу выбираем Live CD и дальше чистая командная строка :)
Вот тот самый кусок, который отвечает за загрузку фряхи:
menuentry "FreeBSD ZFS loader" {
insmod zfs
search --set=root --label zroot --hint hd0,gpt2
kfreebsd /freebsd@/boot/kernel/kernel
kfreebsd_module_elf /freebsd@/boot/kernel/opensolaris.ko
kfreebsd_module_elf /freebsd@/boot/kernel/zfs.ko
set kFreeBSD.vfs.root.mountfrom=zfs:zroot/freebsd
}

Оценка: 
Средняя: 3 (1 оценка)

В этом коде указан пример для gpt, видимо, а если у меня mbr и старый добрый bios?
Подскажите, уже давно хочу фряху с юбунтой подружить.

Оценка: 
Средняя: 5 (1 оценка)

Здорово обрадован, что фряха Вас не огорчила (в конечном счёте),
а как же изучение Gentoo, которое только слегка начато?

Оценка: 
Средняя: 5 (2 оценки)

Оно уже закончено и вполне успешно. Как-нибудь опишу. Но Gentoo использовать не буду. При всех плюсах, этот дистрибутив отнимает дикое количество времени.

Оценка: 
Средняя: 5 (1 оценка)

Почитать вторую часть про Gentoo было бы интересно. «ОС для малозанятых слоев населения» по-моему это в точку )) По крайней мере, десктопный вариант.
В свое время попользовался ей где-то полгода, потом перелез на убунту, т.к. на ковыряние «под капотом» уходило больше времени, чем на реальную работу.

Оценка: 
Средняя: 5 (1 оценка)

оно уже научилось утф в консоли?

Оценка: 
Пока без оценки

Это как раз фигня.

Научилась ли FreeBSD нормально обновляться? Да, pkg обновили до версии 1.3, но догнал ли pkg хотя бы rpm, я уж не говорю о yum или aptitude? Девятка не умела это корректно делать даже в рамках своей ветки. На корректную установку зависимостей из портов я даже не смею надеяться.

Научился ли Clang нормально собирать десктоп? Clang 3.0 заставлял патчить KDE совсем как во времена FreeBSD 4. Впрочем это уже, наверное, придирка: из FreeBSD такой же десктоп как из вантуза надёжная ОС.

Оценка: 
Пока без оценки

Ещё стоит заметить что у FreeBSD немного неадекватное сообщество. Например, если нуб спросит как ему ставить Gentoo, то его гентушники пошлют читать HandBook или ставить Ubuntu. Фряшники же просто пошлют.

Не менее неприятно и разбиение FreeBSD на базовую систему и порты. Но это я расскажу только если кому-то будет интересно (тема всё-таки избитая).

Оценка: 
Пока без оценки

бинарники под Linux даже в режиме эмуляции работают в FreeBSD быстрее, чем в самом Linux;

ВОТ ТАК ВЗБУДОРАЖИЛ!

Оценка: 
Средняя: 5 (3 оценки)

Так это все знают. На Лурке даже эпический срач на эту тему описан.

Оценка: 
Пока без оценки

А может всё дело в том, что ZFS — нежурналируемая ФС? Что, если журналирование в ext4 отключить, и уже тогда побенчмаркать?
Да и на Linux можно поставить ZFS. Вот тогда исследование будут объективные. Чтобы одну и ту же программу и на одной и той же ФС.

Оценка: 
Средняя: 5 (1 оценка)

Да и на Linux можно поставить ZFS.

Можно, но не нужно. Дело в том, что файловый стек Linux и ZFS очень разные. Именно поэтому в ядре завёлся Solaris Porting Layer. Кроме того, ZFS имеет свою систему монтирования, свою систему управления правами (не совместимую с POSIX ACL) и много ещё чего своего. Во FreeBSD поступили просто: вмонтировали ZFS полностью со всеми её хотелками. А в Linux так сделать нельзя — у него свой наработанный файловый стек с поддержкой массы разнородных ФС и технологий.

Оценка: 
Средняя: 5 (1 оценка)

ZFS не журналируемая... Она всего-навсего транзакционная... Но вам-то всё равно... главное журнала нет... :))

Оценка: 
Средняя: 5 (2 оценки)

Наконец нашёл о чём речь! Эта история в своё время очень подорвала авторитет Phoronix, т.к. они сравнивали полностью обвешанную Ubuntu 11.04 (компиз, масса процессов в фоне, все дела) и эмуляцию в PC-BSD 8.2, где были только иксы. Естественно, что только один копиз хавал процентов 20% производительности, поэтому смысла в таком тестировании и не было.

Оценка: 
Пока без оценки

фряшники упоротые? Или мне показалось)) Наверное показалось))

Оценка: 
Средняя: 1 (2 оценки)

))) привыкли к тупым виндовс окнам ? где чтобы изменить параметр надо галку поставить и еще заплатить за его использование)) вперед и с песнями))

Оценка: 
Пока без оценки

Хомячки и бараны привыкают — к тупому!? Что вам не нравится, сразу видно, кто на что учился;)

Оценка: 
Пока без оценки

По умолчанию не UFS (1), а UFS2. Но возможно по умолчанию не включаются SoftUpdate и его журналирование (опции UFS2). Потому, что с ними fsck кажется вообще не запускается. По крайней мере ничего не калечит. Я когда-то на ext3 (хотя может и ext2) в Debian 4 Etch после аварийного выключения убил файлы с помощью fsck -y. Кстати журналирование пожно прикрутить к самому разделу с UFS2 (и вообще с чем угодно, т. к. работает на уровне блочного устройства) с помощью gjournal.
А ZFS вроде памяти много жрёт.
Это не система от Xorg подвисает. Система работает, на неё можно по ssh зайти. Но почему-то Xorg не завершается по Ctrl+Alt+BackSpace и не удаётся переключиться на другой виртуальный терминал. Я сейчас в такой ситуации убил Xorg по ssh, так у меня дисплей на нетбуке (Asus Eee PC 1015PEM) вообще погас и не оживлялся без ребута. Клавиатура работала, уложить систему в Suspend to RAM и поднять обратно удалось.
Кнопкой я выключал, ничего не калечится (UFS2+SoftUpdate+SUJourlaling).
Кстати у неё по умолчанию ACPI работает. Можно кнопкой выключить мягко (штатно).

Оценка: 
Средняя: 5 (1 оценка)

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.