Обзор 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.
Ваша оценка: Нет Средняя оценка: 4.7 (9 votes)
Texnoline

1. ZFS — Sun Microsystems создавалась в начале под Солярку, в 2004 году, к примеру моя любимая fs — JFS — IBM в 1990 году, стала применятся в легендарных системах AIX (в не менее легендарных: впервые применена в OS/2 Warp Server for e-Business в 1999 году.)
2. падение и «нулевая длина», ну это бывает:)))))
3. Полная реконфигурация хранения данных требует сохранения данных на внешние носители (вне ZFS), уничтожения пулов и создания новых пулов по новым правилам.
4. небольшой минус — экспериментальная опция?????

5. Так, что если промышленное применение ZFS на критически важных серверах — штука пока рискованная, то уж использовать её в личных целях на домашних машинах можно вполне. При условии регулярного резервного копирования жизненно необходимых данных, разумеется.

6. в личном опыте — На jfs ни разу не терял данные ни при отключении питания, ни при аппаратных сбоях. А вот на ext4 приходилось, к сожалению, — аппаратный сбой. XFS (на корне) иногда ловил неприятные артефакты после резкого выключения питания (проблемы с БП). Система с них так и не восстановилась.

7. ZFS не является изначально кластерной, распределенной файловой системой и не предоставляет конкурирующего доступа к данным с различных хостов. ZFS — это локальная файловая система.

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

9. C возможностью увеличения дискового места является поочерёдная замена физических дисков на более вместительные, с ожиданием, после каждой такой операции, пока ZFS сама себя вылечит. Время лечения зависит от объёма сохраненной информации, а не от размера диска. Если во время лечения будет создан снапшот — это перезапустит процесс лечения:(. Стоит отметить, что замена дисков без потери данных возможна только в одном из режимов работы пула.

10. максимум файлов в ZFS -2 в степени 48, у JFS - максимум файлов - No limit defined!:)

Ваша оценка: Нет Средняя оценка: 4 (4 votes)

Если кто-нибудь научит меня ставить 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..

Ваша оценка: Нет
pomodor

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

Не сразу допер, как настроить 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 vote)

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

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
Intercessio

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

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
pomodor

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

Ваша оценка: Нет

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

Ваша оценка: Нет

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

Ваша оценка: Нет

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

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

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

Ваша оценка: Нет

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

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

Ваша оценка: Нет
Buranek

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

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

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
pomodor

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

Ваша оценка: Нет
Buranek

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

Ваша оценка: Нет Средняя оценка: 5 (1 vote)

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

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

Ваша оценка: Нет Средняя оценка: 5 (1 vote)

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

Ваша оценка: Нет Средняя оценка: 5 (2 votes)

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

Ваша оценка: Нет

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

Ваша оценка: Нет Средняя оценка: 1 (1 vote)

По умолчанию не 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 работает. Можно кнопкой выключить мягко (штатно).

Ваша оценка: Нет
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.