Freebsd или linux что лучше

Сравнение Linux и BSD

Когда вы решили выбраться из экосистемы Windows, вы сразу же обратите внимание на macOS. Вряд ли вы ее установите, так как придется купить компьютер Mac. Конечно, можно установить Hackintosh, но для раскрытия ее потенциала вам понадобится специфичное «железо». Многие сомневаются в GNU/Linux как в ОС, что было темой для споров на протяжении долгого времени.

Разница между Linux и BSD

И Linux, и BSD семейства имеют своего маскота или талисмана. Как вы догадались, для Linux это Такс (пингвин), а для BSD-мультяшный демон.

Выбор Linux и BSD

Для пользователей Linux существует бесчисленное количество дистрибутивов. Все они являются производными некоторых популярных дистрибутивов Linux, включая Debian, Gentoo, Red Hat, Slackware и т.д. В дополнение к этому, существует множество отдельных дистрибутивов Linux как Solus, Puppy Linux и т.д.

BSD как самостоятельная ОС больше не существует, но она используется для обозначения существующего семейства производных BSD. В настоящее время BSD представляют три основные ОС, а именно FreeBSD, OpenBSD, NetBSD, наряду с DragonFly BSD и другими дистрибутивами. FreeBSD нацелен на обычных пользователей, на долю которого приходится около 80%.

Программы для Linux и BSD

Пакеты для Linux систем поставляются в готовом (бинарном) виде. Существует два наиболее популярных формата: DEB и RPM, для установки которых требуется наличие APT/yum соответственно.

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

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

В BSD системах количество программ мало, и в связи с этим разработчики ПО пытаются контролировать ситуацию с помощью введения совместимости пакетов, чтобы запускать Linux приложения на BSD.

Обратите внимание на одну вещь. Перед тем как вы станете считать FreeBSD чем то запредельным, имейте в виду, что она поддерживает и популярные DE, например KDE и GNOME, и много других программ, доступных для Linux.

Связь UNIX и BSD

Ядро Linux было написано Линусом Торвальдсом, который до сих пор контролирует весь процесс разработки ядра.

Linux vs BSD: поддержка «железа»

Операционные системы с открытым исходным кодом лишены нормальный поддержки оборудования. В плане поддержки «железа» лидируют Windows и MacOS. Будь это новейший процессор или видеокарта, эти закрытые ОС предоставляют хорошую поддержку, оставляя GNU/Linux и BSD позади.

Если речь идет о редких устройствах, то по сравнению с Windows, дистрибутивы Linux имеют преимущество, так как разработчики сотрудничали с производителями устройств. BSD в этом плане далеко позади, и далеко не факт, что ваш, к примеру, китайский Wi-Fi модуль тут же «заведется».

GPL и BSD лицензии

Еще одно большое отличие между Linux и BSD это вид лицензии, которыми они защищены. GNU/Linux поставляется c GNU GPL (General Public License)

Операционные системы, что основаны на BSD, поставляются с BSD лицензией, так же известной как FreeBSD лицензией.

GPL олицетворяет мировоззрение Ричарда Столлмана, что программное обеспечение должно быть свободным, доступным для всех. Именно поэтому при использовании GNU GPL разработчик обязан опубликовать исходный код в свободном доступе.

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

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

Именно поэтому BSD системы считаются наиболее стабильными и надежными.

Подведем итоги

Что касается спора об целесообразности установки Linux или BSD, Linux наиболее распространен на ПК, нежели FreeBSD. Это обусловлено тем, что для использования BSD необходимо быть более «технически подкованным», а к тому же GNU/Linux имеет намного лучшую поддержку оборудования. Еще одним фактором в споре Linux vs BSD может являться поддержка сообщества Linux.

BSD системы более известны своей надежностью, а поэтому находят свое место на серверах и встраиваемых системах. Также BSD имеет возможность запускать исполняемые файлы, предназначенные для Linux, но, к сожалению, обратная совместимость не предоставляется возможной. Трудно сказать, что лучше, так как обе ОС имеют свои собственные плюсы и минусы.

На завершение видео с обзором NetBSD:

Источник

Чем FreeBSD отличается от Linux

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

FreeBSD — что это такое

FreeBSD — это операционная система с открытым исходным кодом, которая принадлежит к семейству Unix. Её название условно состоит из двух частей: Free — что значит свободная и BSD — что расшифровывается как Berkeley Software Distribution (система распространения программного обеспечения).

BSD — это программное обеспечение, которое было придумано в 1990-е годы в Калифорнийском университете (Беркли). Со временем его код стал открытым, благодаря чему на основе БСД стали разрабатывать ОС под разные задачи. Таким образом сформировалось отдельное подсемейство BSD.

Основные дистрибутивы BSD:

NetBSD — хорошо подходит для сложных архитектур и встраиваемых систем. Является одним из самых первых дистрибутивов;

DragonFlyBSD — идеально подойдет для регулярной обработки данных на сервере и многопроцессорной обработки. Версия, которая позволяет работать на максимально высоком уровне производительности;

OpenBSD — подходит для крупных банков и государственных структур, поскольку обеспечивает высокий уровень безопасности;

OS — единственная коммерческая версия программного обеспечения. В настоящее время не поддерживается;

FreeBSD — самая популярная операционная система (установлена у 70% пользователей BSD). Эта версия проста в управлении и позволяет работать на высоком уровне производительности. Она подойдет как для домашнего, так и для коммерческого использования. Например, на её основе построен Yahoo.

TrueOS (или PC-BSD) — лучше всего подходит для использования на рабочих станциях. Эта ОС была разработана на базе FreeBSD.

FreeBSD лежит в основе таких продуктов, как FreeNAS (специальная ОС для сетевых хранилищ), Darwin (ядро macOS, iOS), pfSense (один из дистрибутивов межсетевых экранов) и многих других.

На Free удобно устанавливать приложения. Это можно сделать одним из двух способов:

Через диспетчер пакетов (лучше всего использовать версии не ниже 9.1 с гибкой реализацией пакетов).

Через коллекцию портов — автоматизированный механизм сборки программ из исходных кодов. Эта система помогает упростить процессы установки — достаточно выбрать нужные пункты и задать параметры сборки.

Сравнение FreeBSD и Linux

Правильнее будет говорить о сравнении операционной системы FreeBSD с одной из операционных систем семейства Linux (например, Ubuntu, CentOS или Debian). Также между собой можно сравнить два подсемейства — Linux и BSD, что мы и сделали.

Сходства

— Оба подсемейства поддерживают практику свободного распространения и имеют открытый исходный код.

— Linux и BSD имеют общие истоки — принадлежат к семейству UNIX. Поэтому их структура содержит схожие элементы (например, принцип иерархизации файлов).

Теперь разберемся, каковы основные отличия BSD и Linux систем.

Различия

— Одно из главных отличий заключается в том, что Linux является ядром сам по себе, в то время как BSD помимо ядра включает и другие комплектующие компоненты.

— BSD и Линукс работают по разным типам лицензии. Так все BSD-дистрибутивы работают по свободной лицензии — в этом случае нет четких границ и условий распространения. Linux же работает по лицензии GNU, в соответствии с которой при использовании кода необходимо строго соблюдать все условия распространения.

— Для установки пакетов БСД преимущественно использует порты (на сегодняшний день их порядка 33 000). Linux же получает пакеты в уже готовом — бинарном виде. Наиболее популярные форматы пакетов — RPM и DEB;

— Линукс — более популярное семейство, его чаще устанавливают. Также о нём знает или хотя бы слышал больший процент обычных пользователей. А это значит, к Linux изначально больше доверия.

На самом деле, в споре”FreeBSD vs Linux” нет гарантированно правильного ответа — рассматриваемые семейства очень похожи. Только вы можете определить, что лучше подойдет под ваш проект или конкретные цели.

Итак, мы подробно рассказали о FreeBSD — что это за программа и для каких целей подойдет. Надеемся, наш обзор помог вам разобраться, в чём отличие FreeBSD от операционных систем семейства Linux.

Источник

Записки программиста

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

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

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

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

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

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

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

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

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

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

Freebsd или linux что лучше. Смотреть фото Freebsd или linux что лучше. Смотреть картинку Freebsd или linux что лучше. Картинка про Freebsd или linux что лучше. Фото Freebsd или linux что лучше

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

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

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

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

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

Freebsd или linux что лучше. Смотреть фото Freebsd или linux что лучше. Смотреть картинку Freebsd или linux что лучше. Картинка про Freebsd или linux что лучше. Фото Freebsd или linux что лучше

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

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

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

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

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

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

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

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

Freebsd или linux что лучше. Смотреть фото Freebsd или linux что лучше. Смотреть картинку Freebsd или linux что лучше. Картинка про Freebsd или linux что лучше. Фото Freebsd или linux что лучше

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

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

Дополнение: По состоянию на середину 2016-го года ситуация мало изменилась. Ядро Linux насчитывает 15 млн строк кода, ядро FreeBSD — 5 млн строк, а операционная система FreeBSD в целом — 15 млн строк.

Давайте внимательно посмотрим на полученную картинку. Во-первых, ядро 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 ему еще далеко.

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

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

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

Дополнение: Некоторые другие преимущества FreeBSD перед Linux, не исключая ZFS и DTrace, перечислены в начале поста Использование FreeBSD на десктопе, версия 2.0. Еще вас могут заинтересовать мои заметки про установку и обновление софта в этой системе, а также обновление ядра и мира.

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

Источник

FreeBSD: гораздо лучше GNU/Linux

Сравню FreeBSD с GNU/Linux системами. Всё это исключительно субъективное мнение! Многое это просто мой опыт. Почти 100% всего времени я провожу за компьютером и исключительно Unix системами, примерно поровну с FreeBSD и GNU/Linux, вот уже 20+ лет.

Большая часть достоинств FreeBSD также относится и к другим популярным свободным BSD системам: NetBSD, OpenBSD, DragonflyBSD. Что-то в этих системах будет получше, многое появилось впервые не в FreeBSD, но перекочевало в неё. FreeBSD многое наследует от NetBSD (различные драйвера и подсистемы), от OpenBSD (сетевые технологии), DragonflyBSD (лучшая масштабируемость на многопроцессорных платформах), от Solaris (DTrace, идея Jail-ов, ZFS), сочетая самое лучшее ото всех.

Если коротко, то FreeBSD это высокое качество, надёжность, удобство и простота работы. GNU/Linux это зоопарк, помойка малосвязанного кода, мало чего доделываемое до конца, отсутствие документации, хаос, базар.

Главные отличия

FreeBSDGNU/Linux
BSD это целостные законченные ОС, разрабатывающиеся как единое целое. Если решают добавить поддержку алгоритма сжатия Zstandard, то это появляется не только в компрессорах, но и в syslog-ротации и других местах. Если есть команды выдачи какой-либо статистики, то все они используют библиотеку типа libxo, унифицируя различные варианты вывода. Все команды создаются под одну гребёнку.GNU это просто набор ПО, объединённый названием, copyright holder-ами, советами по созданию документации и конфигурированию сборки. Linux это один из вариантов ядра, наравне с Hurd или FreeBSD. Существуют сотни (тысячи?) дистрибутивов объединяющих всё это вместе, с совершенно разными и отличающимися требованиями, пакетными менеджерами, подходами, проверкой качества и тому прочим. Есть дистрибутивы и почти не использующие GNU ПО. Есть дистрибутивы не использующие Linux.

Какой-либо унификации документации, конфигурации, вывода информации в софте толком нет. Всюду и везде будет явно и отчётливо видно, что вот эта небольшая программа/утилита написана одним человеком, а вот эта другим. Всюду и везде разные подходы ко всему: один считает так, другой считает так.

В основном забота о приведении всего к какому-то одному единому виду лежит на плечах distribution maintainer-ов, которым приходится править софт, возможно что-то дописывать за автором, ведь не всегда автор согласен на любого рода изменения. От maintainer-ов зависит удобство работы и качество (аккуратно разложенная документация, учёт демонов в системах ротации логов, системе логирования, периодичных заданий, и т.д.) предоставляемого ПО.

На практике, если сейчас взять одни из последних дистрибутивов Ubuntu, то вы не факт что сможете поставить его не на первый жёсткий диск, не факт что загрузчик GRUB сможет установится, не факт что вы сможете настроить IPv6, не факт что после первого же обновления пакетов системы во время установки у вас всё загрузится. Недавно я столкнулся с невозможностью штатно настроить MTU на сетевом интерфейсе в Ubuntu (серьёзно!?). Всё это я прошёл на практике и подобные банальные действия регулярно ломаются и не работают.

Взяв дистрибутив GNU/Linux, вы можете получить тысячу компонентов ПО вместе с GNOME, NetworkManager и чем-то подобным, потом занимаясь отключением и удалением последних. А можете получить дистрибутив в котором нет и компиляторов и даже netcat утилит которые бы умели IPv6 (и не будет ни telnet, ни socat), имея на руках мало на что пригодную даже для проверки работоспособности сети ОС.Качество ПО BSD систем значительно лучше. Если разработчики говорят что такой-то функционал готов к промышленному использованию, то значит это так. Годами многие фичи могут быть включены в ОС с громкими пометками о том что это EXPERIMENTAL и только после проверки временем и уверенности разработчиков эту пометку снимут.Если разработчики Linux сказали что что-то готово к использованию, то стоит подождать ещё лет пять, чтобы хотя бы начать смотреть на ту или иную технологию, если, конечно, у вас не критично важная работа, где стоит пойти на риск. Например файловая система btrfs давно официально считается стабильной и production ready, однако на практике никто из серьёзных компаний её не использует (слышал про Facebook — потеря ФС на серверах им не критична), так как на практике она всё равно не стабильна.

Никаких гарантий что та или иная фича вообще когда-либо будет достаточно стабильна и надёжна. Например POSIX file locks, по сути, до сих пор не работают в Linux.Нет зоопарка утилит, когда одно и то же действие можно потенциально выполнить множеством инструментов. Если вам хочется получать разного рода статистику и информацию об ОС, то fstat, gstat, ifmcstat, iostat, ipfstat, kldstat, lockstat, netstat, nfsstat, plockstat, pmcstat, procstat, pstat, sockstat, vmstat к вашим услугам. Хочется что-то настроить? acpiconf, atmconfig, bsdconfig, ifconfig, kldconfig, mdconfig, pciconf, usbconfig, sysctl, sysrc. Почти все имеют унифицированные правила обработки аргументов, конфигурационных файлов, вывода.

Framework для конфигурирования сети штатный один: настройки в rc файле, банально вызывающие ifconfig команды.

В FreeBSD есть три firewall-а: ipf, ipfw, pf — каждый со своими за/против, но каждый из них является полноценным законченным firewall-ом. ipfw это IPv4, IPv6, TCP/UDP/SCTP, ICMP*, Ethernet, traffic shaper/scheduler, NAT, NAT64, NPTv6, IPsec, stateless/stateful firewall в одном флаконе.

Почти всё что касается конфигурирования уровня ОС, глобального, использует sysctl.Если хотите настроить IP адреса на интерфейсе, используйте ifconfig или ip. Хотите маршрутизацию статическую, используйте route или ip. Хотите TUN/TAP интерфейсы, используйте tunctl или ip. Хотите bridge интерфейсы, используйте brctl или ip. Хотите bond, используйте ifenslave или ip. Хотите IPsec SA, используйте setkey или ip. Для беспроводных сетей iwconfig, ip. Хотите различные туннели, то iptunnel, ip. Хотите сменить MAC, то nameif, ip.

Думаете что раз команда ip призвана всё заменить, то она справилась со своей задачей? STP для bridge вы всё равно не настроите на данный момент без brctl, который из коробки может и не стоять. Вместо десятка утилит с совершенно отличающимся синтаксисом, теперь мы имеем на одну утилиту больше, не отменяющую надобность в остальных. В FreeBSD всё описанное выше делается ровно одним ifconfig.

Framework-ов для конфигурирования сети масса: shell-based системы как в Debian, NetworkManager, systemd средства. У всех у них есть какие-нибудь да ограничения на возможные конфигурации.

Думаете можно обойтись одним только iptables, пришедшим на смену ipchains? Для Ethernet пакетов надо использовать ebtables, для IPv6 ip6tables, для ARP arptables. И при этом, как мне кажется, ни один здоровый человек не сможет сказать что синтаксис правил для iptables удобен — он выполняет задачу, но все будут писать собственные скрипты/обёртки с отличным синтаксисом для удобного конфигурирования типа ufw.

Используется ли это всё до сих пор? Безусловно. Однако это считается deprecated и должно замениться nftables. Однако и он объявлен уже deprecated и bpfilter его может заменить. Однако на практике многие популярные дистрибутивы используют firewalld.

Кроме sysctl имеется /sys, а также ещё и дубляж аналогичных ручек управления через специфичные команды.

Для управления разделами накопителей есть fdisk, parted, gdisk, sfdisk, gparted. Думаете хотя бы одна из них может сразу же и работать с MBR/GPT дисками, давать возможность скриптования, иметь удобный интерфейс для пользователя чтобы указывать не конкретное количество блоков/байт для размера партиций, а просто сказать 100%/full? Ни одной. В FreeBSD полностью всему этому удовлетворяющая команда gpart есть, которая, к тому же, ещё и загрузчики умеет устанавливать, делать бэкапы/восстановление разделов.Уже 12+ лет имеет надёжную работающую ZFS реализацию.ZFS-on-Linux, появившись спустя годы, спустя ещё годы начав считаться production-ready, мог потерять ваши файлы. ARC под Linux-ом, хоть и являясь по сути кэшом, не может по требованию освободится, что приводит к тому, что у вас ПО может получить ошибку при попытке выделения памяти. В Linux поэтому размер ARC-а ограничивают сверху RAM/2 — из коробки у вас остаётся куча свободной памяти. Поддержка TRIM появилась лишь в прошлом году, по сути не позволяя достойно использовать ZFS на SSD.Имеет богатую документацию в виде огромного количества man-ов для каждой команды, каждой подсистемы, каждого модуля ядра и его настройки, и в виде FreeBSD Handbook. С последним вы сможете, практически ничего не зная о Unix, полностью настроить себе и сети и диски и софт и кучу всего ещё. Не знаете с чего начать? man intro, а дальше куча ссылок на другие intro или описания подсистем. В OpenBSD вообще почти всё есть в man-ах, без handbook-ов, не требуя доступа в Интернет для внешних ссылок.GNU/Linux администраторы и разработчики высокооплачиваемы ещё и потому, что просто имеют много тайных знаний, которые не идут вместе с дистрибутивами ОС. Часто даже не знаешь с чего начать и куда подглядеть (документация то редко актуальна!) — многим приходиться только лезть в поисковик или на stackexchange.com какой-нибудь. Хотя это всё напрямую следует из того, что система не целостна. Качество многих дистрибутивов хромает так, что документацию часто не приложат, или приложат не полностью.Производительность не всегда лучше/выше чем у GNU/Linux (хотя почти всегда это связано с более простой архитектурой/кодом, а значит и большей надёжностью), но одни из самых высоконагруженных серверов в мире — WhatsApp, держат 2M+ конкурентных TCP соединений. 60% трафика в США (сетевая и дисковые подсистемы) генерируется Netflix, полностью работающим на FreeBSD. Крупнейшая ИТ компания в РФ — Яндекс, для своих ядерных сетевых решений также использует FreeBSD. Когда-то Quake3-for-Linux запускаемый в режиме эмуляции под FreeBSD давал на 10-15% больше FPS.Производительность GNU/Linux систем может в каких-то случаях быть и выше, но это часто зависит от драйверов, версий ядра и тому прочего.Простое и логичное управление памятью и нехваткой памяти.Наверняка любой пользователь сталкивался с тем, что система или перестаёт отвечать/работать при нехватке памяти или OOM killer убивает какой-нибудь («наименее», по его мнению) важный процесс типа SSH демона или СУБД. Даже делают user-space костыли по управлению памятью чтобы хоть как-то иметь работоспособную систему при нехватках памяти: earlyoom, oomd, low-memory-monitor, nohang.Имеет систему портов и параллельно систему бинарных пакетов. Кто хочет собирать из исходников — пожалуйста, кто хочет сразу бинарник кем-то собранный скачать — пожалуйста. При использовании портов можно конфигурировать опции сборки: если я не собираюсь печатать, то зачем мне поддержка тяжёлого CUPS в каком-нибудь GIMP?Дистрибутивы, как правило, предлагают только что-то одно: или что-то аналогичное портам или бинарные пакеты. Либо ничего — собирайте и ставьте софт как хотите самостоятельно. Одна и та же версия пакета может быть разделена на два разных: vim-full или vim-minimal, например, но это всё зависит от maintainer-а.Как правило, отличная поддержка серверного железа. Драйверы, бывает, даже раньше чем для GNU/Linux появляются.Поддержка всякого ширпотреба домашнего, ноутбуков, desktop-ов наверняка будет лучше.IPsec ESP реализация возможно быстрая и стабильная, но не поддерживает ни TFC, ни ESN — последний очень актуален для 10Gbps+ каналов связи. Security Policies не позволяют задавать идентификаторы сторон.Поддержка ESPv3 ESN и TFC имеется, как и, судя по коду strongSwan, identities в Security Policies. По вопросу производительности и стабильности ничего не могу сказать.

Постоянная технологическая отсталость GNU/Linux

FreeBSDGNU/Linux
Production-ready ZFS имеется уже 12+ лет.

UFS2 ФС показывает отличную производительность и устойчивость к сбоям. Хотя я часто слышал что теряли данные на UFS2, но у меня за всю жизнь с FreeBSD ни разу не было, тогда как на ext3/ext4 неоднократно.До сих пор production ready ZFS нет. Поддержка TRIM появилась лишь в прошлом году.

ext4 появился лет на 10 позже UFS2 и только с ним в Linux появилась штатная система в которой хотя бы динамически происходит inode allocation. Однако, в ext4 при этом может утекать место занимаемое под директории и его невозможно вернуть назад без пересоздания ФС. Опыт компании ivi.ru говорит что на очень нагруженной (постоянно создание, удаление, тасование файлов) ext4 через месяцы работы становится неработоспособной и нужно пересоздавать ФС с нуля.

Также ext4 имеет смехотворный максимальный размер файла в 16 TiB для 4K блоков.

Про ReiserFS ничего не могу сказать, так как я её даже не успел попробовать, Райзер уже сел.

Единственной хорошей работающей достойной ФС в GNU/Linux я видел только XFS, творение начала 90-х SGI IRIX.Имеет мощнейшую GEOM дисковую подсистему прозрачно позволяющую (как бы) что угодно делать с блочными устройствами. Одни из модулей этой подсистемы: CACHE — кэширование; CONCAT — JBOD; ELI — шифрование; JOURNAL — журналирование (независимое от ФС); LABEL — labeling; MIRROR — зеркалирование; MULTIPATH — I/O multipath; NOP — эмуляция ошибок, секторов, размеров; RAID, RAID3; SCHED — планировщик I/O; SHSEC — диски с разделяемым секретом; STRIPE — striping. Можно собрать RAID3 из журналируемого зашифрованного диска, вместе с stripe-ом из зеркал с дисками с разделённым секретом и отдельно диском для кэширования. Из коробки полная (и target и initiator) поддержка iSCSI имеется вместе с iSER.Аналогом пытается быть dm подсистема, но до сих пор в ней всё равно нет всего функционала, например по созданию RAID-ов. iSCSI зоопарк реализаций, мало где идущий из коробки.

Для слежения за изменением файлов был dnotify, потом его сменил inotify — отдельная от epoll подсистема. Всё это всё равно не покрывает все возможности kqueue.С начала 2016-го в FreeBSD появились ZFS Boot Environment, что было взято у Solaris.Какая-то поддержка в загрузчике появилась только во второй половине 2019-го.Как и ZFS, поддерживает NFSv4 ACL, а также POSIX ACL.Не имеет стабильной реализации (экспериментальная поддержка только для ext3/ext4) NFSv4 ACL.Есть OSS4 аудио-подсистема с простым API. Resampling, микширование от разных приложений, эквалайзер, объёмный звук, независимые настройки громкости для приложений, bit-perfect режим.

sndio используемый в OpenBSD умеет resampling, микширование от разных приложений, причём микшируя по устройствам (одна колонка для одного приложения, другая для другого), запись программами того, что играют другие, независимое управление громкостью, поддержка MIDI (с кучей фич), near real-time маленькие задержки.

Я молчу о том, что преобладающая часть популярных дистрибутивов начала активно использовать systemd и один только факт того, что *BSD его не используют уже является killer-feature. Но если взять systemd-free дистрибутив, то тогда нормально. При этом в FreeBSD, среди NetBSD и OpenBSD, самая продвинутая система загрузки, поддерживающая зависимости между службами, легко конфигурируемая простым текстовым файлом, написанная на небольшом количестве pure shell.

Неужели у GNU/Linux нет достоинств? С ходу я могу сказать, что некоторый важный GNU софт работает значительно быстрее BSD вариантов: sed и grep я ставлю GNU-шные. Это, зачастую, ценой усложнения кода и всяких трюков, но нельзя совершенно отбрасывать со счетов производительность. Чем, кстати, OpenBSD не может похвалиться — она плохо масштабируется на несколько процессоров.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *