Форум   Статьи   Новости   Файлы   Bugtraq   Сниффер   Друзья   О Клубе
Новый принцип организации общества на основе p2p. Алгоритмический анализ реальности и человеческой жизни

  , 17:08   #1
Ram0nlord
Guest
 
Регистрация:
Сообщений: n/a
По умолчанию Linux против BSD?

Решившим поставить себе юникс посвящается

Алексей Федорчук ([email protected]), http://onix.nm.ru

Антон Карпов ([email protected])

Q: Чем FreeBSD лучше, чем Linux?

A: Во FreeBSD логотип - симпатичный чертенок (вернее, даемон - нечто вроде личного демона, обязанного помогать своему владельцу и к силам зла отношения не имеющего) с вилами, а в Linux - (глупый) пингвин (робко прячет тело жирное), что достаточно пошло и совсем не круто ;).

(Из FAQ'ов на opennet.ru)

Дабы оправдать громкое название статьи, скажу, что в ней мы решим и определимся наконец: Linux или FreeBSD - кто из этих двух самых популярных на сегодняшний день unix-like систем достоин называться лучшим? И почему? И чем они различаются? И кто из них наиболее близок по духу к классическому UNIX? И, наконец, что ответить людям, присылающим мне письма в духе "я решил, наконец, поставить Линух, какой дистрибутив выбрать?". Все эти вопросы мы и объединили под одним заголовком.

Linux

Начнем с Linux'а. Вопреки впечатлению, которое может сложиться от чтения заметок в сети или журналах, Linux - это не более, чем ядро операционной системы. Само по себе не пригодное к использованию в каких-либо целях, кроме разработки ядра же (да и то с оговорками). Пользователю Windows, где даже браузер и медиа-плейер воспринимаются как неотъемлемые части операционки, это может показаться непривычным, но то, что придает Linux'у его функциональность - большинство системных утилит, практически все приложения и уж во всяком случае все средства обеспечения графического интерфейса (сиречь оконная система X и менеджеры окон) - к Linux'у как таковому не имеют ни малейшего отношения. За исключением того, что они работают и под Linux'ом тоже. Не менее (но и не более) успешно, чем под любым другим Unix'ом или тем, что застенчиво именуют "Unix-подобными системами" (в число коих попадают и BSD-системы). И, будучи разработанным в рамках самостоятельных проектов (GNU и многих иных, соплеменных по духу), так же доступны в них, как и в Linux'е.

Не случайно Ричард Столлман, основоположник и апостол движения за открытые исходники, всегда ратовал за то, что Linux как система для пользователя должен бы по-хорошему называться GNU Linux: без GNU-приложений пользователь получил бы мало радости от работы с ним. Впрочем, тема GNU заслуживает отдельного разговора, вынесенного во врезку.

Комплектация ядра Linux'а приложениями для практической работы и средствами ее обеспечения (так сказать, боевого - системными утилитами, и тылового - библиотеками, например) именуется обычно дистрибутивом. Занимаются такой комплектацией и коммерческие (квази-коммерческие) фирмы, и сообщества разработчиков, и даже просто индивидуумы. И руководствуются при этом они исключительно своими соображениями о том, что, с их точки зрения, удобно и нужно народу (к их чести, мнение последнего также учитывается). Дистрибутивов Linux'а имеются многие множества - на сайте www.LinuxLinks.org, например, список только рабочих и полнофункциональных их представителей составляет десятки экранных страниц мелким шрифтом.
Из сказанного ясно, что пользователь Linux'а с этой системой в повседневной жизни практически не общается - если он, конечно, не разработчик ядра (а разработчик ядра Linux'а - тоже пользователь этой ОС, не так ли?). А общается он именно с тем, что предоставили в его распоряжение создатели дистрибутива - по крайней мере, на первых порах. Потом-то ему не возбраняется черпать из безбрежного и бездонного моря открытого софта. Но, так сказать, потребительские качества должны оцениваться не только (а может быть - и не столько) для Linux'а как такового, но и для его реализаций, воплощенных в конкретных дистрибутивах.

FreeBSD

Теперь о BSD-системах. Это - общее обозначение группы ОС, связанных единством происхождения от той ветви Unix, которая в середине 70-х годов попала в Университет Беркли. Именно NetBSD, FreeBSD и OpenBSD ныне представляют свой клан в мире открытых и бесплатных Unix'ов. Правда, есть еще и Darwin - открытая реализация MacOS X, но это пока - весьма ранняя бета, не только не вполне работоспособная, но даже не очень устанавливаемая. Кроме того, в стадии (вяло-) текущей разработки находятся Yamitt и xMach - BSD-подобные системы с микроядерной архитектурой. Об их работоспособности судить трудно, но установка, по крайней мере, xMach - занятие для настоящих machos. И потому речь дальше пойдет только о трех первых именах этого абзаца.

В отличие от Linux, это - именно самостоятельные и (почти) самодостаточные ОС, каждая со своим ядром, своей, хотя и родственной, файловой системой, набором системных сервисов, органичным (хотя и пересекающимся) кругом утилит и приложений. Этот базовый комплект, носящий во FreeBSD название Distribution (сиречь дистрибутив, по-русски), и охватывается понятием ОС Net- (Free-, Open-) BSD.

Как можно заметить, средства обеспечения графического интерфейса не были упомянуты в перечне базового комплекта. И, строго говоря, в него не входят, что особенно подчеркивается разработчиками BSD-систем. Однако такие средства распространяются вместе с базовым комплектом в виде свободной реализации оконной системы X - XFree86. И это - точно та же система X, которая включается во все дистрибутивы Linux, - ни малейших отличий в исходных текстах между ними нет по определению.

Функциональность такого базового комплекта достаточно велика: без привлечения дополнительных программ он обеспечивает полное администрирование системы, работу с файлами, текстами, доступ к сетевым службам, пользовательский интерфейс в лице shell'ов разного рода, средства защиты информации. То есть по потребительской сути своей BSD-системы больше похожи на те ОС, к которым привыкли пользователи линии DOS/Windows ("все-в-одном").

Это, однако, отнюдь не является препятствием к использованию под любой из BSD-систем всего того изобилия открытого и свободного софта, который обычно ассоциируется с Linux-приложениями. Во-первых, любая программа, написанная под абстрактный Unix (либо Linux), может быть непосредственно (или после минимальной, косметического характера, правки) скомпилирована для работы в BSD-системе. Во-вторых, для подавляющего большинство практически полезного софта эта работа уже проделана разработчиками - и он распространяется в виде бинарных, очень просто устанавливающихся пакетов (Packages) вместе с базовым комплектом, хотя с ним и не смешиваясь.
А в-третьих (и - главных!), наращивание функциональности базовой системы обеспечивается уникальной, впервые появившейся во FreeBSD (и заимствованной OpenBSD) системой портов. Она охватывает подавляющее большинство (увеличивающееся в размере чуть ли не ежедневно) Unix-приложений, доступных в исходных текстах, и обеспечивает их получение по Сети, адаптацию для работы в данной ОС, компиляцию и установку.

Вопрос выбора

А теперь - собственно о сравнении Linux- и BSD-систем. Каковое также имеет два аспекта - технологический и, так сказать, потребительский. Общераспространенное мнение гласит, что BSD-системы (в первую очередь FreeBSD) превосходят Linux технологически, тогда как Linux дружелюбнее к пользователю. Однако вопрос представляется мне не столь уж однозначным.

Относительно технологического превосходства ядра BSD спорить довольно трудно (а когда говорим о юниксах, говорим прежде всего о ядре - центральной части системы). Хотя бы потому, что оно развивается почти втрое дольше, чем ядро Linux. Объективные критерии здесь привести трудно, однако, по моему впечатлению, устойчивость FreeBSD выше, чем какого бы то ни было Linux-дистрибутива. Однако: устойчивость любой из обсуждаемых систем более чем достаточна для настольного применения. Что же касается устойчивости приложений - это зависит исключительно от условий их сборки для конкретной системы - раз, и от тщательности тестирования - два. И если одно и то же приложение во FreeBSD отличается завидной устойчивостью, а в OpenBSD - отменной падучестью (а я с таким сталкивался неоднократно), ядро системы здесь абсолютно не при чем. Ну а уж в Linux'ах устойчивость приложений скачет от дистрибутива к дистрибутиву, как тушканчик. Всем знакома ситуация, когда в одном дистрибутиве Linux какой-нибудь Xchat просто летал, а в другом - немилосердно сыпался. То-то...

Поэтому проведем наш анализ с точки зрения потребительских качеств (в частности, пресловутой дружелюбности к пользователю). И при этом - в пользу BSD (конкретнее - FreeBSD, как наиболее развитого представителя клана). Удивлены?

Конечно, современные т.н. user-ориентированные дистрибутивы Linux предлагают красивые графические программы установки и конфигурирования, внешне удобные средства разбиения диска, вход в систему с автоматической загрузкой интегрированной графической среды (KDE и GNOME) и прочие атрибуты пользовательской системы. На этом фоне аскетичный инсталлятор FreeBSD (не говоря уже о до жути минималистском установщике OpenBSD) выглядит более чем скромно.

Однако все в жизни имеет свою оборотную строну. И за внешнюю простоту Linux-инсталляторов приходится платить гигабайтами автоматически устанавливаемого софта непонятного назначения, да, пожалуй, что и непониманием смысла собственных действий. Инсталлятор же FreeBSD (sysinstall, он же - практически универсальный инструмент настройки) при всем своем кажущемся аскетизме обеспечивает высочайшую функциональность и баланс между "умолчальными" установками (не обязательно лучшими, но всегда разумными) и возможностью "ручного" вмешательства. Именно поэтому дефолтовая установка FreeBSD "со всеми делами" (то бишь с иксами и всеми повседневно нужными приложениями) занимает мегабайт 800-900 и грузится 10-15 секунд, а среднестатистический дистрибутив Linux (будь то Mandrake или Red Hat) с радостью готов откушать три, а то и четыре гигабайта дискового пространства и грузится неприлично долго.
Следующий момент, интересующий пользователя, - поддержка всякого рода устройств. Здесь, казалось бы, превосходство за Linux'ом, ведь мало-помалу производители оборудования начинают снабжать свои поделки средствами поддержки этой ОС. Однако и FreeBSD успешно справляется с определением большинства распространенных современных устройств - от звуковых карт до телетюнеров. А уж о сетевых средствах и говорить не приходится, настройка сети во FreeBSD происходит не просто, а очень просто.

И последнее по счету, хотя и первое по значению - это, конечно, прикладные программы. И здесь традиционно утверждается, что база приложений для Linux много шире, чем для BSD. Согласиться с этим трудно - как раз база-то у них общая, и для подсчета программ, разработанных в рамках Open Sources, с одной стороны, и специально для Linux - с другой, хватит пальцев одной руки. А любая абстрактно-юниксоидная программа, как я уже говорил, может быть скомпилирована для BSD-системы. Во всяком случае, все требовавшееся мне и отсутствующее в портах FreeBSD собиралось "на ура".

Ну а с точки зрения наращивания мощи система портов FreeBSD - просто вне конкуренции. Правда, чтобы ею воспользоваться, требуется хоть какой доступ в Интернет (не обязательно с той машины, на которую порты устанавливаются). Но уж если таковой есть - по простоте и эффективности с портами не сравнить ни Red Hat'овский RPM, ни pkgtools из Slackware, ни даже, как говорят, Debian'овский APT.

Другое дело - коммерческие и квази-коммерческие приложения, недоступные в исходниках, существующие в Linux-версиях и только в них (тут на память приходит RealPlayer и тому подобное, а также кучка коммерческих систем сетевой безопасности). Но и это не дает оснований для пессимизма: FreeBSD (а также OpenBSD) имеет средства для запуска бинарных Linux-приложений, причем - без потери производительности (существует даже мнение, что с приращением производительности).

Вместо заключения

При этом я не хотел бы создать впечатление, что FreeBSD - однозначно лучший выбор для любого пользователя, нежели Linux. Все же поначалу она кажется сложноватой, а главное - непривычной. Так, я никогда не рискнул бы ставить ни одну из BSD-систем, не приобретя некоторого навыка в обращении с Unix-системами на базе именно user-ориентированных дистрибутивов Linux. Однако сему виной, вероятно, тлетворное влияние Windows - не так-то просто из мира grug'n'drop'а и интуитивного интерфейса спуститься в темень консоли.
Чем, видимо, подкупает Linux - это потенциальная возможность вмешаться в процесс его разработки. Поучаствовать в изменении мира, так сказать.

Главное же - и Linux, и любая из BSD-систем по большому счету суть Unix. И, как любой Unix, все они обеспечивают эффективное использование ресурсов компьютера, более чем реальную многозадачность, устойчивость и защищенность, на порядок превосходящие Windows любого рода. А с точки зрения внутреннего устройства разницы между ними меньше, чем между ОС линий Windows /9X/ME, с одной стороны, и Windows NT/2000/XP - с другой.

GNU и GPL

Все слышали эти две аббревиатуры, но не все до конца понимают, что они означают. Известно только, что они широко используются, когда говорят об Open Source, и о Linux'е в частности. А на самом деле - все просто. Как только стали выпускаться свободные версии продуктов под UNIX-based системы, тут же возникла необходимость юридически очертить рамки и понятия "свободного софта". И действительно, что понимать под словом "свободное ПО", является ли оно синонимом "бесплатного ПО" и что с этим "свободным ПО" можно делать, не опасаясь преследования в суде. Именно это и описано в лицензии GPL - General Public License, которая была составлена под руководством известного фаната Open Source Ричарда Столлмана, в те годы - работника Массачусетского технологического университета, и в рамках нее распространяется почти весь свободный софт (для интересующихся - неофициальный перевод оной на русский язык тут: http://www.linux.ru/docs/russian/GPL/).

Прежде всего, GPL определяет, что есть "свободное ПО" - это такое ПО, когда каждый имеет право получить не только саму программу, но и ее исходные коды, именно это отличает понятие "свободный софт (free software)" от "бесплатный софт (freeware)". Ведь те же добавки в Windows типа пакета Plus или Power Toys - бесплатны, скачивай с сайта MS, сколько влезет, однако ж это ни в коем случае не открытое ПО, исходники к ним, естественно, не поставляются, и полезны они только если ты купил Windows . Но сама соль GPL не в этом. А в том, что лицензия определяет следующее: любой имеет право получить исходные тексты продукта и модифицировать их, как его душе угодно (переделать под себя, добавить функции, убрать баги). Но если он возьмется распространять измененную программу, также в соответствии с GPL, то он обязан включить в свой дистрибутив и исходные тексты модифицированного им самим продукта, указав, что именно он изменил. В этом кроется изюминка GPL: программы по-настоящему принадлежат сообществу Open Source, и каждый, кто получает доступ к исходникам, может улучшить их, и эти улучшения также будут доступны всем. В результате получаем практически обточенный со всех сторон продукт, прошедший через руки сотен разработчиков и вобравший в себя те качества, которые хочет народ (пользователь, сообщество), а не те, которые решила ему (продукту) приписать какая-нибудь компания, ведомая коммерческими интересами. А подчас - и несколько экземпляров продукта, с разными свойствами, ведь вкусы у людей разные. Да, именно так обстоят дела с дистрибутивами Linux, коих множество различных, на любой вкус - от Slackware до Debian. Неудивительно, что при этом дистрибутив, скажем, FreeBSD, всего один, и никому в голову не придет делать ее клон, хотя - все исходники доступны.
Дабы подчеркнуть, что это - свободное - направление дистанцируется от изначально коммерческого UNIX'а (UNIX - зарегистрированная торговая марка), ему было дано название GNU, что переводится как GNU is Not Unix (забавная рекурсивная аббревиатура). Соответственно, лицензию GPL часто называют лицензией GNU - это одно и то же.

Разумеется, лицензия GPL - не единственная, под которой распространяется софт, в полной мере подпадающий под понятие открытого и свободного. Так, BSD-системы обладают собственной лицензией (которая, как ни странно, так и называется - BSD-лицензия). В некоторых отношениях она еще более либеральна, чем GPL. В частности, она не требует обязательного открытого распространения программ, созданных на ее основе (чем и воспользовались, например, разработчики MacOS X). Этот момент BSD-лицензии - предмет критики со стороны ортодоксальных GPL'щиков. Что, впрочем, не мешает и им признавать BSD- и GPL-лицензии совместимыми - то бишь могущими быть использованными в едином проекте.

Наконец, GNU - это еще и проект по созданию свободной Unix'оподобной ОС, которая была бы открыта и распространялась под лицензией GPL. Проект этот так и не был завершен (не завершен он и по сей день), так как все карты разработчикам спутало рождение Linux в 1991 году. Но, в конце концов, это пошло на пользу GNU: как известно, Линус Торвальдс не желал придумывать свою лицензию для Linux, который он и так хотел сделать свободным, а потому начал распространять его под GPL. А учитывая, что при написании своей ОС Торвальдс активно пользовался продуктами GNU (как он сам говорит: "Я стоял на плечах гигантов"), то фанаты Open Source ратуют за то, что Linux правильнее называть GNU/Linux, подчеркивая тем самым его природу.

МИКРОЯДРО - БУДУЩЕЕ *NIX-СИСТЕМ?

Уже достаточно много написано про историю *nix, настало время порассуждать о будущем. А оно уже перед нами. Не факт, что его ждет успех, однако внимания оно заслуживает. Я говорю о микроядре.

Как известно, традиционно UNIX построен по классической архитектуре, когда ядро - это монолитная часть системы, в которой работают важные системные процессы. Оно одно, большое и сложное. Микроядерная же архитектура подразумевает дробление ядра на несколько микроядер, гораздо более простых по отдельности и связанных вместе для выполнения функций большого ядра. По словам сторонников такой архитектуры, это упростит разработку ОС, сделает ее гибче и понятнее. Одним словом, за микроядром - будущее, а монолит - на помойку истории. Но не все так однозначно. Сторонники классической модели (к коим относится и Торвальдс) парируют вышеприведенные аргументы, утверждая, что хоть модули и получатся проще, но связь между ними усложнится до предела, и еще неясно, что легче написать - большое ядро или связанные микроядра. Во-вторых, и в-главных, "классическая" система _работает_, и работает отлично - BSD, Linux и т.п. тому примером. А микроядро? Ничего толкового в мире *nix на нем пока не написано. Но ведь существуют же какие-то проекты? Действительно, существуют.
Во-первых, это проект HURD (название - еще один акроним, да еще двойной: "HURD" - это "Hird of Unix-Replacing Daemons", а "Hird" - это "Hurd of Interfaces Representing Depth". Хакеры извратились . Когда я говорил, что проект GNU сошел на нет из-за рождения Linux, я был немного не прав. Да, Linux серьезно подорвала планы тогдашней восьмилетней разработки ОС GNU (Столлман начал работать над GNU в 1983 г.): вот вам бесплатный Юникс, распространяемый под GPL, берите, сколько хотите. И действительно, на Linux обратили взор десятки компаний и миллионы людей. Были даже идеи закрыть проект HURD и использовать ядро Linux как ОС GNU. Но Столлману хотелось нечто иного, принципиально нового, а Linux - всего лишь дитя революции и копия ядра UNIX, воспроизведенная с нуля. И еще до Линукса, в 1983 г., он задумывается о микроядре, как замене несовершенному существующему. Сначала таким ядром был TRIX, разрабатываемый там же, где работал Столлман, - в Массачусетском технологическом институте. Однако затем разработчики переключились на другое микроядро - Mach, разрабатываемое университетом Карнеги-Меллона (впрочем, проект этот кочевал по ряду других университетов и ныне практически мертв - последнее обновление его датируется 1996 г.). Работы продвигались, но потом возникли проблемы с выпуском ядра под лицензией GPL, чтобы свободно продолжать работу над ним. А тут и Линукс подоспел, все внимание общественности переключилось на него, и становится понятно, почему до сих пор выпущено лишь два черновых варианта окончательного ядра - под именем HURD, основанного на Mach. И вот уже 20 лет они все тянут кота за хвост (как именно - можно почитать на www.hurd.ru), в то время как Linux написан за год с нуля простым финским студентом (ну, не совсем простым .

Второй проект с тем же микроядром Mach - это Mac OS X. Да, "яблочники" тоже приложили свою руку к переработке 4.4BSD и Mach, результатом чего стала разработка революционной Mac OS X. Впрочем, среди профессионалов об этой системе не очень высокое мнение, к тому же примечателен следующий факт: Apple приглашала на роль ведущего специалиста по разработке Mac OS X самого Торвальдса, однако он отказался, сочтя Mach неинтересной и бесперспективной. Ну, не нравится ему микроядро .

Есть, конечно, и удачная реализация микроядерной архитектуры - это знаменитая система реального времени QNX. Но это - не совсем Unix, отнюдь не Open Sources (хотя на определенных условиях и бесплатная), и уж микроядро там вовсе не Mach... Но, в целом, пока микроядерная архитектура в unix-like'системах не сказала своего решительного слова и громко не заявила о себе. Пока...
А пока Линус Торвальдс работает в компании Transmeta, цель которой - выпустить процессор, который бы потреблял рекордный минимум энергии за счет мощной программной эмуляции различных режимов работы.

Linux развивается, и все ждут релиза ядра версии 2.6. Пока что активно обновляется девелоперская ветка 2.5.х.

FreeBSD медленно, но верно идет к своему релизу 5.0.

Что-то будет...

ЧТО ЧАЩЕ ЛОМАЮТ?

Надежность системы обратно пропорциональна количеству взломанных машин, на которых она запущена, это очевидно. И сразу необходимо добавить - при достаточном распространении этой системы. То, что и FreeBSD, и Linux весьма популярны как серверные Оси, - сомнений нет, поэтому особенно интересно проследить, машины, управляемые какой из сих двух систем, чаще бывают взломаны кибертеррористами. Разумеется, мы можем оценивать этот фактор лишь косвенно, т.к., как правило, о взломе какого-либо сервера общественность узнает лишь тогда, когда на месте "боевых действий" остается визитная карточка очередного скрипт-кидди - дефейс. Существуют спецархивы дефейсов, один из них - www.alldas.org, на примере его статистики мы и посмотрим, какая ось чаще подвергалась надругательствам за последние два с половиной года, то бишь с апреля 2000.

На первом месте, разумеется, Windows - около 57% всех дефейсов пришлось на долю серверов под WinNT Server/Win2k Server. На втором месте - Linux (22% дефейсов). Далее - Солярис (Solaris, около 4%), и на четвертом месте - FreeBSD, всего 3% сайтов, крутящихся под нею, было задефейсено. Далее идут всякие Irix'ы, HP-UX'ы и Ultrix'ы - малый процент их определяется скорее непопулярностью этих ОС. Но, напомню, все это относительно, т.к. далеко не всегда взлом - это дефейс, который постепенно становится уделом лишь резвящихся script-kiddies.
   
Наши Спонсоры
  , 17:17   #2
zic
Местный
 
Аватар для zic
 
Локация: РУНЕТ
Регистрация: 22.10.2008
Сообщений: 277

Репутация: 102 / 2
По умолчанию Re: Linux против BSD?

Алексей Федорчук - это вообще гуру линукса(имхо). Прочитал немало его статей! Определился на что именно буду переходить. Узнал много новой, а главное не сухой а интересной инфы.
 
Пользователь вне форума    
 

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обзор] Популярные расширения безопасности для ОС Linux ozs Linux 0 29.12.2010 15:39
[Статья] Подробности процесса загрузки Linux ozs Linux 0 29.12.2010 15:29
Linux – «притон» хакеров Ram0nlord Linux 8 30.06.2010 19:43
Игры под Linux Ram0nlord Gaming Zone 11 07.02.2010 15:15
Какой дистрибутив выбрать? Ram0nlord Linux 1 13.07.2009 19:29



Часовой пояс GMT +2
Powered by vBulletin® 3.x.x Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Copyright © 2008 - 2013 «HPC» Реклама на сайте Правила Форума Пользовательское соглашение Работа на сайте
При копировании материалов ставьте ссылку на источник
Все материалы представлены только в ознакомительных целях, администрация за их использование ответственности не несет.