Документация по ОС FreeBSD Четверг, 06.02.2025, 19:51
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Установка и настройка

Почти объективно на тему «чем FreeBSD лучше Linux» [2010]

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

Я постараюсь быть максимально объективным, однако читателю следует иметь ввиду, что эту заметку написал человек, у которого FreeBSD установлен даже на домашнем ноутбуке и рабочем компьютере. Чтобы не показаться уж совсем некомпетентным в поднятом вопросе, отмечу, что мне приходилось работать с такими дистрибутивами Linux, как Red Hat, Mandriva, Fedora, Ubuntu (пруфлинк) и даже настраивать PDC на Gentoo. Последний, насколько мне известно, до сих пор успешно работает на моей старой работе.

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

Но сначала я хотел бы обратить ваше внимание на заголовок поста. Там написано «чем 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 и какое-то время пользовались этим дистрибутивом. Пользовались-пользовались, и в какой-то момент решили, что нам что-то не вполне в нем нравится. Например, нам хотелось бы иметь возможность собирать некоторый софт из исходников, однако Ubuntu предлагает нам только deb-пакеты. Что делать? Переходить на другую операционную систему, например Gentoo. И изучать, как там под ней устанавливается софт, где хранятся конфигурационные файлы и тд.

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

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

Ни в способе установки программ, ни в используемом оконном менеджере или фаерволе, ни в настройках ядра и способе его обновления. Потому что это одна операционная система и никто не пытается заточить ее только под определенный круг пользователей. Хотим – устанавливаем софт из бинарных пакетов (пакеджей), хотим – компилируем из исходников (портов). Хотим оконный менеджер – выбираем любой от KDE до Awesome. Не нравится фаервол по умолчанию (ipfw), ставим pf. Нужен сервер – получаем сервер, нужна рабочая станция – получаем рабочую станцию. Насколько мне известно, ни один дистрибутив Linux не обладает такой гибкостью и не предоставляет такой свободы выбора, как FreeBSD.

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

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

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

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

В настройках задаем период – с 01.01.2010 по 31.12.2010. Всего 4 уязвимости за целый год! Согласно security.freebsd.org – 10 уязвимостей, что не меняет картины. Для сравнения, в ядре Linux (intitle:’linux kernel’) за тот же период было найдено 123 уязвимости!

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

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


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

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

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

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

III. Impact

A user who can mount filesystems can execute arbitrary code in the kernel.
On systems where the non-default vfs.usermount feature has been enabled,
unprivileged users may be able to gain superuser («root») privileges.

IV. Workaround

Do not allow untrusted users to mount filesystems. To prevent unprivileged
users from mounting filesystems, set the vfs.usermount sysctl variable to
zero:

# sysctl vfs.usermount=0

Note that the default value of this variable is zero, i.e., FreeBSD is not
affected by this vulnerability in its default configuration, and FreeBSD
system administrators are strongly encouraged not to change this setting
.

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


Лично мне за последние полтора года ни разу не приходилось устанавливать какие-либо заплатки на своих машинах с FreeBSD. Также система ни разу не повисала за все это время. Сколько пользователей Linux могут похвастаться тем же?

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

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

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

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

Исходники 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, вышедшие в период с 2003 по 2010 год. Какой релиз в каком году вышел, можно прочитать на оффсайтах проектов.

В результате получилась такая зависимость количества строк кода от времени:


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

--------------------------------------------------------------
>>> Kernel build for GENERIC completed on Tue Dec  7 19:12:36 MSK 2010
--------------------------------------------------------------

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

Давайте внимательно посмотрим на полученную картинку. Во-первых, ядро Linux значительно больше ядра FreeBSD, даже если на минуту представить, что 50% кода Linux – это различные драйверы и потому не считаются (между прочим, с чего бы вдруг им не считаться?). Исходный код Linux версии 2.6.33 даже больше кода операционной системы FreeBSD! Во-вторых, размер ядра Linux увеличивается намного быстрее ядра FreeBSD – 4 млн новых строк кода за 7 лет против 1.5 млн. Кроме того, ядро Linux, похоже, растет экспоненциально, в то время, как ядро FreeBSD – линейно.

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

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

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

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

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

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

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

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

Основных недостатков FreeBSD перед Linux, на мой взгляд, три.

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

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

Наконец, большинство дистрибутивов Linux имеют красивый графический инсталятор, переведенный на десятки языков, чтобы с установкой системы мог справиться даже школьник. Сразу после установки пользователь получает рабочую систему с оконным менеджером и минимальным набором программ (браузер, аудио/видео плеер и тд). Существуют аналогичные сборки FreeBSD (не путать сборки и ОС!) – это PC-BSD и DesktopBSD. Но давайте посмотрим правде в глаза. Проект DesktopBSD в мае этого года чуть было не прекратил свое существование. PC-BSD развивается более стабильно, но на мой взгляд до уровня Ubuntu ему еще далеко.

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

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



Источник: http://eax.me/freebsd-vs-linux/
Категория: Установка и настройка | Добавил: oleg (18.12.2010) | Автор: Александр
Просмотров: 870 | Комментарии: 1 | Рейтинг: 0.0/0 |
Всего комментариев: 1
1 Tehnik_PC  
0
"Или если пользоваться ею небезопасно без антивируса, а тот в свою очередь потребляет много ресурсов."
Не потребляет он ресурсов.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2025