HPUNIX Сайт о ОС и не только!

Практически беспристрастно на тему чем FreeBSD лучше Linux

7 марта 2012 - unix
Почти объективно на тему чем FreeBSD лучше Linux

Если в вопросе Linux против Windows все достоинства и недочеты сравниваемых ОС более-менее ясны, то в вопросе «FreeBSD против Linux» все не так просто, как многим хотелось бы. Вот почему гайды на подобающую тему нередко полны чувств и витиеватых рассуждений.

Я постараюсь быть очень беспристрастным, но читателю следует иметь ввиду, что эту заметку написал человек, у которого FreeBSD установлен даже на домашнем ноутбуке и рабочем компьютере. Чтоб не показаться совершенно уж несведущим в поднятом вопросе, отмечу, что мне приходилось работать с такими дистрибутивами Linux, как Ubuntu, Fedora, CentOS и Gentoo.

1. Но сначала…

Почти объективно на тему чем FreeBSD лучше Linux

Но поначалу я желал бы направить ваше внимание на заголовок поста. Там написано «чем FreeBSD лучше Linux», а не «почему FreeBSD (во всем) лучше». Я не считаю, что все поголовно должны воспользоваться FreeBSD.

Ровно как и Linux. Если вас устраивает та операционная система, которой вы на данный момент пользуетесь, будь то Ubuntu либо Windows 7, нет совсем никакой нужды находить более неплохую операционку!

Другой вопрос, если для вас не нравится, что операционная система каждый денек просит перезагрузить компьютер. Либо если воспользоваться ею опасно без антивируса, а тот в свою очередь потребляет много ресурсов. Либо если для вас охото воспользоваться ОС законно, но на лицензионную копию Windows жаль либо нет средств.

В общем, я пробую сказать, что этот пост — не призыв «ей вы все, перебегайте на фряху». Это мое личное мировоззрение, созданное для тех, кто вожделеет воспользоваться UNIX, но не знает, что избрать — Linux либо FreeBSD.

2. Linux — не операционная система

Принципиально осознавать различия меж операционной системой и ядром операционной системы. Итак вот, FreeBSD — это операционная система. Linux — это ядро операционной системы.

Ubuntu, Gentoo, Arch Linux и SuSe — это дистрибутивы Linux, другими словами операционные системы (плюс инсталятор, менеджер пакетов и тд), основанные на Linux. Всего существует несколько сотен дистрибутивов Linux и они все достаточно очень меж собой различаются.

Допустим, мы установили Ubuntu и какое-то время воспользовались этим дистрибутивом. Пользовались-пользовались, и в некий момент решили, что нам что-то не полностью в нем нравится. Что делать?

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

В отличии от Linux, FreeBSD не ограничивает наш выбор ни в чем.

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

Желаем — устанавливаем софт из бинарных пакетов (пакеджей), желаем — компилируем из исходников (портов). Желаем оконный менеджер — избираем хоть какой от KDE до Awesome. Не нравится фаервол по дефлоту (ipfw), ставим pf.

Нужен сервер — получаем сервер, нужна рабочая станция — получаем рабочую станцию. Как мне понятно, ни один дистрибутив Linux не обладает таковой гибкостью и не предоставляет таковой свободы выбора, как FreeBSD.

Есть и другие препядствия, связанные с тем, что разработкой ядра Linux и операционных систем на его базе занимаются различные люди. Но на мой взор они наименее серьезны, чем описанная выше.

3. FreeBSD намного безопаснее Linux

Если с предшествующим пт еще можно как-то спорить, то тут это совсем никчемно. Проведем простое исследование. Заходим на Гугл и вводим запрос

site:www.securityfocus.com/bid/ intitle:"freebsd"

В настройках задаем период — с 1 Января 2010 по 31 Декабря 2010. Всего Четыре уязвимости за целый год! Согласно security.freebsd.org — 10 уязвимостей, что не меняет картины.

Для сопоставления, в ядре Linux (intitle:’linux kernel’) за тот же период было найдено 100 20 три уязвимости!

Выходит, что каждую неделю в ядре Linux находят по две ошибки.

А если прибавить уязвимости в GNU и разных дистрибутивах? Ниже приведена гистограмма, отображающая количество ошибок, отысканных во FreeBSD, Microsoft Windows и ядре Linux за последние 6 лет.

Количество ошибок, найденных во FreeBSD, Linux и Windows

В одном только ядре Linux находят больше ошибок, чем в целых операционных системах.

Почти объективно на тему чем FreeBSD лучше Linux

Но ужаснее всего то, что количество уязвимостей, которые находят в Linux, год от года размеренно вырастает!

Можно было бы гласить о том, что в Linux находят больше ошибок, так как им пользуется больше людей, чем FreeBSD… если б ошибок было не в Двенадцать раз больше, а, хотя бы, исключительно в два. Я практически уверен, что конкретно благодаря собственной безопасности, FreeBSD пользуется большой популярностью у таких больших хостинг-провайдеров, как Masterhost, Majordomo и RU-CENTER.

Кстати, если пристально поглядеть, какие ошибки находят во FreeBSD, нетрудно увидеть, что, обычно, они могут употребляться злоумышленником исключительно в очень редчайших случаях. Взять например достаточно свежайшую уязвимость в nfsclient.

Не умопомрачительно, что конкретно серверы под управлением FreeBSD славятся большенными значениями uptime. Железо, на котором работает ОС, выходит из строя резвее, чем возникает необходимость обновиться и презагрузить машину. Высочайший аптайм серверов на FreeBSD подтверждает (на момент написания этих строк) NetCraft:

Аптайм FreeBSD

Мне за последние 18 месяцев никогда не приходилось устанавливать какие-либо заплаты на собственных машинах с FreeBSD. Также система никогда не повисала за все это время. Сколько юзеров Linux могут повытрепываться этим же?

4. Размер имеет значение

Трудно спорить с цифрами. Так что я решил провести очередное малеханькое исследование, сейчас связанное с количеством строк в коде FreeBSD и Linux. Вы спросите, какое отношение имеет количество строк кода к качеству операционной системы?

Прямое.

Хоть какому программеру понятно, что количество ошибок в программке тем больше, чем больше ее код. Полностью разумеется, что при написании малеханькой программы-калькулятора ошибиться намного труднее, чем при разработке сурового бухгалтерского приложения.

Для кого это не разумеется, тот без усилий отыщет в сети огромное количество исследовательских работ на подобающую тему. Так давайте же посчитаем количество строк в коде FreeBSD и Linux!

Считать будем при помощи утилиты CLOC («Count Lines Of Code», в портах FreeBSD — /usr/ports/misc/cloc). Она не учитывает комменты и пустые строчки в коде, также умеет отфильтровывать копии файлов. Считать количество всех строк в начальном коде не любопытно, так как комменты, пустые строчки и копии файлов, разумеется, никак не оказывают влияние на количество ошибок в программке.

Почти объективно на тему чем FreeBSD лучше Linux

Исходники Linux лежат в свободном доступе на kernel.org, исходники FreeBSD можно скачать из SVN репозитория:

# сохраняем исходники FreeBSD 5.0-RELEASE в каталоге 5.0-RELEASE
# не забываем поначалу поставить /usr/ports/devel/subversion
svn export http://svn.freebsd.org/base/release/5.0.0/ ./5.0-RELEASE

Анализировались только релизы FreeBSD и Linux ветки 2.6, вышедшие в период с Две тыщи три по Две тыщи 10 год. Какой релиз в каком году вышел, можно прочесть на офсайтах проектов.

В итоге вышла такая зависимость количества строк кода от времени:

Количество строк в коде FreeBSD и Linux

Тут «freebsd» — это операционная система FreeBSD (все исходники), а «freebsd kernel» — это только ядро FreeBSD (каталог sys в исходниках системы). Просто убедиться, что ядро FreeBSD собирается совсем независимо от других частей системы. Просто копируем исходники в /usr/src, перебегаем, удаляем все сборники, не считая sys, говорим «make buildkernel». В конце компиляции должно показаться последующее сообщение:

--------------------------------------------------------------
>>> Kernel build for GENERIC completed on Tue Dec Семь 19:12:36 MSK 2010
--------------------------------------------------------------

Ассоциировать, очевидно, следует ядро с ядром, а не ядро с системой. Желающие могут провести собственное исследование, сравнив ОС GNU/Linux с ОС FreeBSD.

Давайте пристально поглядим на полученную картину. Во-1-х, ядро Linux существенно больше ядра FreeBSD, даже если на минутку представить, что 50% кода Linux — это разные драйверы и поэтому не числятся (меж иным, с чего бы вдруг им не считаться?).

Начальный код Linux версии 2.6.33 даже больше кода операционной системы FreeBSD! Во-2-х, размер ядра Linux возрастает намного резвее ядра FreeBSD — Четыре млн новых строк кода за Семь лет против 1.5 млн. Не считая того, ядро Linux, похоже, вырастает экспоненциально, в то время, как ядро FreeBSD — линейно.

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

Как следует, Linux наименее надежен и наименее неопасен, чем FreeBSD. Это подтверждает и предшествующий пункт заметки. Тот, который про безопасность.

Кстати, в процессе собственного исследования, я направил внимание на пару увлекательных вещей, которыми не могу с вами не поделиться. Во-1-х, в Linux до сего времени нет 10 млн строк кода, о которых так отрадно орали все СМИ еще в Две тыщи восемь году. Но при таких темпах роста, круглое число может быть достигнуто уже через пару месяцев.

Во-2-х, почему-либо при анализе исходников ядра 2.6.33, CLOC свалился в кору, дойдя до каталога include/linux. И падал при повторном его анализе, так что мне пришлось пользоваться wc. Кому-то не охото, чтоб мы знали количество строк в коде Linux?

И в-3-х, есть суровые подозрения, что разработчики FreeBSD наращивают первую цифру в версии системы при достижении еще одного миллиона строк кода. Другими словами, согласно cloc, FreeBSD 3.0-RELEASE имеет чуток более Три млн строк кода, 4.0-RELEASE — Четыре млн строк и т.д. прямо до 8.0-RELEASE. Может, об этом и написано где-нибудь в документации, но я лично был не в курсе.

5. Всякие мелочи

Тут я мог бы поведать, чем лицензия BSD лучше лицензии GPL, что единственный мейнтейнер ядра Linux в лице Линуса Торвальдса — это не так отлично, как core team из 9-и человек, выбираемых раз в два года, и много еще о чем. Но не буду, так как обо всем этом вы сможете прочесть в уже упомянутой сначала заметки статье БСД: Огромные и Жуткие Бесы, также в статье FreeBSD: Open Source кандидатура Linux на freebsd.org. Мысль в том, что достоинства FreeBSD не ограничиваются только количеством находимых в системе ошибок и размером начального кода ядра.

6. FreeBSD хорош… но не во всем

Главных недочетов FreeBSD перед Linux, на мой взор, три.

Во-1-х, Linux поддерживает больше разных экзотичных устройств, которые в особенности обожают производители ноутбуков. В защиту FreeBSD скажу, что следует выбирать железо под определенную операционную систему, а не напротив. На моем ноутбуке Asus X51L стоит FreeBSD и нет никаких заморочек с точпадом, чтением SD-карт, внедрением Блютуз и Wi-Fi, печатью на принтере через USB либо сеть.

Во-2-х, некие программки, к примеру Skype, распространяются исключительно в виде бинарников для Windows, Mac OS и нескольких дистрибутивов Linux. Естественно, это не вина разработчиков FreeBSD, но специально на этот случай они предусмотрели в собственной ОС возможность запускать (конкретно запускать, а не эмулировать!) программки, скомпилированные под Linux. К счастью, таких программ раз, два и обчелся, а для всяких Photoshop и VMWare Workstation есть бесплатные аналоги.

Дополнение: Увлекательный бенчмарк по теме — http://habr.ru/p/128098/.

В конце концов, большая часть дистрибутивов Linux имеют прекрасный графический инсталятор, переведенный на 10-ки языков, чтоб с установкой системы мог совладать даже школьник. Сходу после установки юзер получает рабочую систему с оконным менеджером и наименьшим набором программ (браузер, аудио/видео плеер и тд).

Есть подобные сборки FreeBSD (не путать сборки и ОС!) — это PC-BSD и DesktopBSD. Но давайте поглядим правде в глаза. Проект DesktopBSD в мае этого года чуток было не закончил свое существование.

PC-BSD развивается более размеренно, но на мой взор до уровня Ubuntu ему еще далековато.

Дополнение: В текущее время PC-BSD смотрится уже полностью достойно. А есть еще GhostBSD. Очень приятная штука, но, к огорчению, пока несколько сыроватая.

7. Заключение

Видите ли, каждому из проектов есть чем повытрепываться и есть куда стремиться. Если вы цените надежность, безопасность и упругость системы, я бы рекомендовал начать исследование юниксов с FreeBSD.

Без графического инсталятора и предустановленного оконного менеджера сначала, естественно, будет нелегко, зато намного увлекательнее! Если же вы желаете в течение часа перейти на UNIX и сходу получить доступ к аське, вконтакту и тп, тогда смело ставьте Ubuntu. А если для вас просто нужен «бесплатный Windows» и все эти междоусобные войны для вас параллельны, тогда, может быть, вас заинтригует ReactOS.

Дополнение: Вас могут заинтриговать мои заметки про резвую установку FreeBSD и настройку воркстейшн, установку и обновление софта в этой системе, также обновление ядра и мира.

Дополнение: Не так давно эту заметку выпустили в «Компьютерной газете». А еще товарищ alpha6 написал в собственном блоге развернутый и вдумчивый ответ на мои упреки в адресок Linux. Там же вы отыщите мой комментарий.

Дополнение: Если вас заинтересовывают «более технические» различия меж Linux и FreeBSD, направьте внимание на интервью с Константином Белоусовым — человеком, входящим во FreeBSD Core Team.

Похожие статьи

  • Чем неплох и чем плох Linux (либо хоть какой другой nix)

    Друзья нередко задают мне вопросы в стиле «а чем так хороша эта ваша Ubuntu?», «а не перейти ли мне на Linux?», «а какой линукс мне избрать?» и тп. Эта статья поможет новеньким в мире открытых ОС най...

  • Установка и обновление софта во FreeBSD

    В сети есть много инфы про внедрение портов и пакеджей FreeBSD. К огорчению, нередко эта информация оказывается устаревшей. Время от времени бывает, что одна статья противоречит другой.

    Что касается...

  • Как обновить ядро Linux без перезагрузки системы

    Ksplice представляет собой расширение Linux, позволяющее создавать «горячее» обновление ядра, другими словами, без перезагрузки системы. Под катом представлена маленькая памятка по использованию Ksplice...

  • О юниксах, программировании и принятии решений

    До недавнешнего времени я очень заморачивался на темы вроде «кто платит каждый месяц за ссылки в SAPE, когда можно приобрести нескончаемые в GoGetLinks» либо «я не могу поставить эту программку, ведь она исполь...

  • Каким будет мир в 2022-м году

    Я отлично помню, что мое плотное общение с компьютерами началось кое-где в 2002-2003 году. Прошло всего каких-либо 10 лет, и вот, мы имеем технологии, о которых ранее даже не желали. Давайте всп...

Рейтинг: +18 Голосов: 100 1700 просмотров
Комментарии (0)

Нет комментариев. Ваш будет первым!

Найти на сайте: параметры поиска

Windows 7

Среда Windows 7 на первых порах кажется весьма непривычной для многих.

Windows 8

Если резюмировать все выступления Microsoft на конференции Build 2013.

Windows XP

Если Windows не может корректно завершить работу, в большинстве случаев это

Windows Vista

Если к вашему компьютеру подключено сразу несколько мониторов, и вы регулярно...