Что же лучше Windows или Unix/FreeBSD/Linux
Содержание
Недавно я писал, но хотелось бы еще раз процитировать свои строчки!
…очень интересный факт. 7 из 10 серверов работают под операционной системой Windows и только 2 под X-nix`ами (1 под Solaris). В принципе, я всегда так и считал, но сейчас в этом окончательно убедился. … А теперь ожидаемая статья…
Факты — вещь упрямая.
Вот коротко о плюсах и минусах той и иной системы:
Windows
+ огромное кол-во различного софта;
+ поддержка большинства технологий;
+ совместимость и расширяемость;
— ошибки безопасности; (бабка на двое сказала)
— невысокое быстродействие. (тоже довольно спорный вопрос, что быстрее)
Unix/BSD
+ огромное разнообразие настроек;
+ множество проектов реализованных в nix`ах — open-source;
— нет единого framework для работы приложений. У каждого будет свой nix!;
— ошибки за счет плохой совместимости;
Сам я за Windows, ОДНОЗНАЧНО! Рекомендации при выборе Windows:
- Чисто для серверных задач использовать Windows 2000 Server SP4.
- Хотя бы раз в неделю делайте AutoUpDate, а лучше каждый день. В этом ничего страшного нет.
- КАТЕГОРИЧЕСКИ не рекомендую использовать для серверов не лицензионные копии Windows.
- Windows XP не совсем серверная платформа, ее нужно действительно использовать в качестве рабочей станции не более того. Смотрите лицензионное соглашение Windows и описание системы.
Про Windows 2003 пока ничего сказать плохого или хорошего не могу, потому как не пользовался. Пока хватает на все нужны Windows 2000.
Платформа Windows дешевле в эксплуатации чем платформа Unix (Linux), поскольку требует меньше времени на администрирование. Эксплуатация и Интернет сайта на платформе Windows обходится дешевле, так как многие операции занимают несколько секунд и несколько щелчков мыши, в отличие от подобных операций на платформе Unix (Linux). Администрирование же интернет-ресурса, работающем на платформе Windows, может осуществляться владельцем самостоятельно и не требует специальных знаний в области программирования или привлечения сторонних специалистов. В конечном итоге «единица предоставляемого сервиса» обходится дешевле для клиента. Здесь стоит добавить. что интерфейс Windows Server является дружественным к пользователю и интуитивно понятен, что обусловлено широким использованием программных продуктов компании Micrisoft (начиная от офисных пакетов и заканчивая операционными системами Windows)
То, что работать под Unix безопаснее, по сравнению с Windows — миф. Windows сервера проще поддерживать в актуальном состоянии с точки зрения зашиты от взлома. Устанавливать патчи и апдейты на Linux значительно сложнее и дольше. «Дыр» в Linux не меньше, чем в Windows, и обнаруживаются они не реже чем в Windows, просто информация о них не вызывает такого ажиотажа и общественного резонанса, как обнаружение «дыры» в Windows. Потому, что пользователи работают в 95 % на системе Windows. Также следует отметить, что ФАПСИ, ныне входящее в структуру ФСБ РФ, рекомендовало проводить информатизацию органов государственной власти на базе ОС (операционных систем) Microsoft Windows. Начальник Главного управления информационных ресурсов органов государственной власти Российской Федерации Федерального агентства правительственной связи и информации при Президенте Российской Федерации (ГУИР ФАПСИ) Евгений Кораваешников, на пресс-конференции 20 января 2003 года в Москве, заявил, что информатизация гос. структур на базе систем (вроде Linux) обходится в два-четыре раза дороже.
Платформа Windows поддерживает свои технологии (такие как ASP.NET, SharePoint, Microsoft Access и MS SQL и многое другое), а также практически все технологии, поддерживаемые на платформе Linux. При хостинге на платформе Linux пользователь будет вынужден ограничиться предоставляемыми ему Perl, PHP, MySQL (менее функциональная база данных по сравнению с MS SQL).
Это я так коротенько и слегка поверхностно описал проблему. Если копать глубже, то там получается Linux Must Die.
Есть, кстати, еще один аспект данного вопроса. Психологический. Не секрет то, что компьютерщики немного не от мира сего. В компьютере можно сделать себе жизнь совершенно другую, такую какую хочешь в действительности, а если не получилось начинаем заново. Когда происходит настройка системы на Windows, то администратор понимает, что при желании любой другой придет и турнет его с этого места, потому, что администрировать систему Windows после первоначальной настройки практически не требуется. Сам страдал от этого 2 раза. Настроил Windows, работодатель посчитал, что мне теперь у него делать нечего, сижу страдаю бездельем, (ну раз все работает, чем мне еще заниматься?). Вот и лазил, всякую фигню читал:))). Турнули короче меня. Пришел «ВАСЯ» и еще 2 года работал. Пока не оказалось, что все эти два года он не знал пароль входа на сервер :)))) Следовательно, работа идет на смарку. Вернее ей может воспользоваться тот, другой. А значит от Администратора (настройщика) мало что зависит. XXX nix — тут дело куда круче. Человек, который настроил все на Linux или любой другой системе nix, то все — баста карапузитки. Фирма зависит теперь только от него. А разве не круто когда от тебя все зависят!? Захочу все работает захочу ничего не работает и разобраться то толком ни кто не сможет, потому как, спецов в Linux очень и очень мало.
Следующий аспект, который хотелось бы затронуть и описать в данном вопросе, это моральный. Все прекрасно знают, что Билл Гейтс «кАзел». Но ему от это-то не тепло не холодно. Он тихо мирно подсчитывает свои миллиарды. Так, между прочим, на новый год 2005 его состояние оценивалось в 70 миллиардов баказоидов. Так вот. Многие компании, да практически все пошли по его пути. Потому, что это приносит деньги. Поэтому все тихо мирно ведут такую же политику как и Microsoft, получают деньги и ни с кем не ссорятся и ни на кого не наезжают, потому как хватает. У большинства моих знакомых есть поговорка на людей такого рода. «Моська лает, а слон идет». И этим, я думаю, все сказано.
И последнее. Почему считается, что Linux (или FreeBSD) безопаснее, чем Windows? Есть несколько причин. В Linux, как правило по умолчанию все службы отключены и по умолчанию ничего не работает, требуется настройка. А если по умолчанию ничего не включено, то и взломать ничего нельзя. У Windows все наоборот, все включено по умолчанию, зато сразу все работает, чем он мне и нравится. Но все таки руки прикладывать к этому надо. Но ДЕБИЛЫ АДМИНИСТРАТОРЫ, из-за которых образовался этот миф, действуют по принципу, ВСЕ РАБОТАЕТ зачем еще что то делать!? Админ это такая ленивая скатина, пересказать словами невозможно! Если работает то и зае…сь. А если думаешь о безопасности серьезно, то будь добр потрудись и отключи все ненужные службы и закрой порты, которые ты не собираешься использовать, это дел то на пару секунд. Неужели вы думаете, что корпорация с миллиардными доходами, не может про финансировать и создать хорошую защиту?
Да и еще, Linux — практически вся литература на английском. Все хором линуксоиды — УЧИ английский! Но блин лень мне учить английский, нет времени, а в школе плохо учился. А Windows родной, все на русском :).
Также репутация безопасности Windows пострадала, из-за опять же тех же админов новичков, которые пытались построить, хостинг или хлеще MS SQL на системе Windows 95 :)))))) После выпуска Windows Me, Microsoft признала, что, действительно ядро Win9x было «не совсем» тем, чем ее представляли в рекламах. И поэтому Windows Me был последним среди серии 9x. Особенно «многозадачность» там впечатляла. Попробуйте теперь это сказать по NT движку? Проверка показала, что 600 процессов живут и ни жалуются. Немного отклоняясь от темы, скажу, что сам процессор за 1 так выполняет только 1 действие. А значит о настоящей многозадачности в любой системе, использующие процессоры х86, говорить не приходится. С другими процессорами не работал, утверждать не буду.
Так что, вот такие пироги братья по разуму. Нужно смотреть правде и статистике в глаза. А правда то не за Linux ни фига. О как! Бесплатный сыр только в мышеловке.
Итак подводя итоги
1 миф — Linux (FreeBSD) быстрее, чем Windows. Если убрать многие лишние службы, то Windows не чуть не медленнее.
2 миф — Linux (FreeBSD), безопаснее, чем Windows. Большой и гадкий миф. отключи лишние службы, загружай все UpDate, закрой все не нужные порты. И Все! Да и еще немного статистики. Систему Windows пытаются ломать 95 процентов пользователей, а находят ошибки там и там практически в равном количестве. Так, что безопаснее в % соотношении? Все устал писать 🙂 Может потом еще чего напишу :).P. S. Данная статья написана потому, что устал, да и просто уже бесит, смотреть на 18 летних мальчиков, которые считают себя умнее всех на свете, но при этом не имеют ни гроша в кармане.
P. S.S. Обратите внимание на многие запросы в интернете. типа dll?абракадабра — это виндовый сервер 😉 Особенно это заметно на поисковых серверах типа www.aport.ru
В Linux больше уязвимостей, чем в Windows
Вот что значит хорошо проплаченный PR: в операционной системе типа *nix было найдено больше уязвимостей, чем в операционной системе Windows!
Команда изучения готовности компьютеров к чрезвычайным ситуациям (Computer Emergency Readiness Team, CERT) представила американскому правительству отчет, согласно которому в течение 2005 года в операционной системе типа *nix было найдено больше уязвимостей, чем в операционной системе Windows. Вместе с Linux и Unix в категорию *nix попали и Mac OS, и многочисленные разновидности бурно развивающегося Linux.
Число уязвимостей в Windows, по словам представителей CERT, в два раза меньше, чем во всевозможных *nix.
Из 5198 отчетов о слабых местах в системе защиты, собранных за 2005 год, 2328 относились к операционной системе *nix, в то время как на операционных системах Windows приходилось всего 812. Оставшиеся 2058 относились сразу к нескольким операционным системам и были связаны со сбоями различных программ.
Такая статистика производит впечатление. В связи с ней можно вспомнить, насколько превратна статистика любых отказов или неисправностей. Например, наиболее часто возвращаемый в магазин товар — не обязательно самый плохой, напротив, он может быть самым лучшим, а от того и самым покупаемым. Чем больше людей покупают товар, тем больше и относят его назад в случае неисправности. С операционными системами наблюдается та же ситуация — об уязвимостях Windows говорят больше всего потому, что Windows установлена на большинство компьютеров.
Да, да по сравнению с окнами, линь просто решето какое-то 🙂
Лично я думаю, что мнение человека, заработавшего миллионы на ИТ сфере куда авторитетнее, чем выкрикивания разных человеков, с разных форумов, 3 дня изучивших Linux — кричащих во все горло, поставь Linux и не будет проблем. Гадкий миф.
Дополнительная информация по теме
Описание основных отличий кодировок UTF-8 и cp1251, подробное рассмотрение плюсов и недостатков той или другой кодировки на практике
Подробное описание новой операционной системы Windows 8: возможности, принципы работы, достоинства и недостатки
Что же на самом деле представляет собой хостинг и что должно в него входить при выборе услуг
Пошаговая инструкция по восстановлению операционной системы Windows XP из ранее сохраненной «точки восстановления»
Linux или FreeBSD? Без гнева и пристрастия
Заметка эта родилась в ходе многочисленных переходов с одной системы на другую, в ходе многолетнего (во временных масштабах IT) их совместного использования, а также в ходе размышлений на тему: а какую систему мне поставить на новую машину? Непосредственным же толчком для нее послужила переписка с рядом авторов unix.gingas.ru и мечты об идеальном дистрибутиве, обсуждавшиеся нет так давно на Linuxforum. Но для начала Пара оговорок
Должен сразу предупредить ответа на вопрос, вынесенный в качестве заголовка, здесь не будет. Потому что и сам его не знаю. Но за то, что я следую завету великого римского историка ручаюсь. Потому что люблю обе системы и, более того, и ту, и другую использую в обыденной жизни то совместно, то, порознь, в зависимости от задач, обстоятельств и просто настроения.
И еще: далее ни слова не будет говориться о применении Linux или FreeBSD в качестве серверов, узлов локальной сети и тому подобных сисадминских материях. А исключительно о пользовательских, сиречь десктопных, их качествах. Предвидя реакцию некоторой категории читателей, последнюю фразу готов выделить тэгом и повторить дважды и трижды :)Субъективное вступление
Скоро четыре года, как FreeBSD и Linux чередуются на моих машинах (домашних и служебных) с некоторой периодичностью. Или мирно уживаются в одном, отдельно взятом системном блоке. И за это время я заметил интересную закономерность.
В периоды, когда на моей машине одна FreeBSD, рабочее время мое распределяется примерно так: 90% практическая работа (абсолютно не важно, какой характер она носит в данный момент), и 10% более или менее нездоровые эксперименты над системой. Стоит же угнездиться в уголке винчестера какомуникакому Linuxу и временная доля экспериментов сразу подскакивает до 50%. А в периоды, когда я занимался сборкой Linuxа с нуля, экспериментальный режим фактически становился перманентным.
И я задал себе вопрос почему? И для себя же ответил: FreeBSD цельная и стройная система, в которой после комплекса начальных настроек не возникает желания ни прибавить чего, ни убавить. Не случайно движение from Scratch, время от времени охватывающее широкие слои Linuxпользователей, в мире FreeBSD фактически не получило развития: известное сочинение Йенса Швайкхардта (существующее и в русском переводе) это скорее описание автоматизированной альтернативы sysinstall, нежели ручного построения собственной системы с нуля.
Linux такую внутреннюю стройность продемонстрировать не может. И потому желание чтото изменить в уже установленной системе, усовершенствовать, добавить, почистить, а то и просто пересобрать все заново, возникает постоянно, и преодолевается только дефицитом времени.
Однако это не значит, что я однозначно считаю FreeBSD лучшей системой для работы. Потому что работа моя, в том числе, состоит и из создания различных околокомпьютерных заметок. Сюжеты, которым поставляют те самые нездоровые эксперименты над системой, проведению которых столь благоприятствует Linux и к которым так не располагает FreeBSD.
Однако повторяю, все это сугубо субъективно, ведь далеко не все занимаются сочинением околокомпьютерных заметок. И потому попробую провести более объективное сравнение.Первая попытка объективизма: «железо»
Что требуется большинству пользователей от операционной системы как таковой? Вопервых, конечно поддержка «железа», которое на настольных персоналках, как известно, однообразием не страдает.
Бытует мнение, что Linux поддерживает более широкий спектр оборудования, нежели FreeBSD. Действительно, для последней мы не найдем, скажем, принтерных драйверов от производителя. Полноценная поддержка современных видеокарт реализована только в том случае, если они от NVIDIA (да и то, по отзывам, существенно худшая, нежели для Linuxа). Вероятно, возникнет в этой ОС напряженка и с т.н. winмодемами. Это с одной стороны.
А с другой: всем счастливым обладателям контроллеров ATA RAID и Serial ATA в Linux до недавнего времени приходилось прибегать ко всякого рода ухищрениям. К тому же не всегда удачным, особенно если присоединенные к таким контроллерам диски предполагалось использовать в качестве загрузочных устройств. Собственно, ситуацию можно считать нормализовавшейся только в последних ядрах ветки 2.6.X.
Во FreeBSD же 5й ветки более или менее параллельно, на каком контроллере IDEсемейства сидит жесткий диск: благодаря CAM (Common Access Method) както работать с ним можно будет в любом случае, а если он еще и корректно опознан, то не будет препятствий и для загрузки с него. Да и в 4й ветке я ни разу не сталкивался с проблемами для «одновозрастных» контроллеров ATA RAID.
Другой пример звуковые карты. Все те из них, что основаны на болееменее распространенных чипах, работали во FreeBSD без малейшего напряжения (рук или мысли). То же можно сказать и о «чипсетном» звуке. В Linuxе же аналогичные устройства часто требовали не вполне тривиальных манипуляций с ALSAдрайверами, благо ныне они встроены в ядро. Однако даже и в последнем случае без коекаких настроечных действий не обойтись. Но это уже предмет второй попытки объективизма.
А итог «железного» объективизма я сформулировал бы так: может быть, Linux поддерживает более широкий круг всяческого оборудования (в том числе, и коекакой экзотики), но все «железо», что поддерживается FreeBSD (а это практически все стандартное и распространенное «железо»), использовать, в большинстве случаев, проще. И тут мы плавно переходим ко второму волнительному для юзера, особенно начинающего (а не начинающие давно сделали свой выбор) моменту, имя которому Настройка
Устоявшее (и тщательно культивируемое) мнение, будто бы FreeBSD сложнее в установке и настройке, нежели Linux, я не могу объяснить ничем иным, как недоразумением. Потому что ничего общего с действительностью оно не имеет.
Начнем с установки. Инсталляция FreeBSD штатными средствами (с помощью утилиты sysinstall) выполняется за полчаса, не требует непременного доступа к Сети (хотя таковой лишним не будет) и дает в итоге полностью работоспособную систему с кириллической консолью, функционирующим dialup (или, по ситуации, включением в локалку), запускаемыми Иксами и необходимым для начала практической деятельности минимумом пакетов (из прекомпилированных бинарников). Все настройки, и общесистемные, и для прикладных пакетов, разумны (пусть и не идеальны с точки зрения конкретного юзера).
Конечно, установка FreeBSD требует некоторых предварительно полученных знаний. Каковые сводятся к а) представлению о разметке диска в BSDстиле, принятой здесь номенклатуре накопителей и стратегии создания файловых систем. Не потому, что эти моменты так сложны просто именно они очень отличаются от всего, что пользователь мог знать ранее (по опыту общения с DOS/Windows или Linux). И к тому же разметка диска и файловые системы на них это единственное, что пользователь не в силах изменить после инсталляции (без тотальной переустановки, естественно). Однако и это не столь страшно: предлагаемая в sysinstall схема разметки и файловых систем по умолчанию вполне походит для настольной персоналки, хотя и не идеальна в ряде специальных случаев.
Большинство известных мне инсталляторов из разных дистрибутивов Linux отличаются от Free’шного sysinstall в две противоположные стороны:
- есть установщики более простые хотя, на мой взгляд, это та самая простота, которая хуже. сами знаете чего;
- и есть установщики более гибкие но онито уже требуют от пользователя достаточно глубоких знаний и четкого понимания сути совершаемых действий.
Наравне с Freeшным sysinstall я поставил бы (из всех мне известных) только установщик из Archlinux. Написанный, как свидетельствует его разработчик, под влиянием первого, он обеспечивает почти такое же сочетание простоты и гибкости.
Однако (и это уже специфика Linux как системной целостности) даже в этом случае законченной работоспособной системы на выходе не получается. Без ручной доводки обойтись не удастся.
Конечно, постинсталляционная доводка не возбраняется и во FreeBSD. Однако здесь она направлена на достижение идеала, а не обеспечение базовой функциональности. Что я проиллюстрировал бы серией примеров.
Начнем с той же русификации. Сразу после установки FreeBSD пользователь, при желании, получает полностью кириллизованную консоль. Правда, в одномединственном варианте, с внутренней кодировкой kOI8R, вводом в ней же и экранным выводом в кодировке DOS, да еще и с не вполне идеальными шрифтами. Но никаких дальнейших действий по базовой русификации от него в обязательном порядке не требуется. А привести раскладки и шрифты в соответствие со своим идеалом он может и позднее. В дистрибутивах же Linux, не очень напирающих на дружественность пользователю ручной правки пары конфигов, пожалуй, не избежать. На причинах этого останавливаться не буду (для тех, кто представляет разницу между консолью в Linux и FreeBSD, они очевидны).
Конечно, в userориентированных дистрибутивах Linux отечественного происхождения пользователь получает стопроцентно русифицированную консоль «из коробки». Однако выполненную в соответствии с представлениями разработчиков. Каковые отнюдь не обязаны совпадать с представлениями (и, главное, потребностями) данного конкретного пользователя. И в этом случае на коррекцию ему придется затратить существенно больше сил, нежели при русификации с нуля какоголибо дистрибутива из числа Source Based. В подтверждение чему вспомним многочисленные статьи, посвященные откату в Red Hat (и Fedore’ном Core) с «прогрессивной» кодировки UTF на KOI8, пусть «бомжовскую», но вполне устраивающую многих и многих.
Русификация консоли тесно связана со стилем инициационных файлов, принятых в данной системе. И тут линейный BSDстиль с позиций пользователя выглядит более простым, нежели принятая в Linux инициация в стиле System V, основанная на понятии runlevels, перевод которого как «уровни выполнения» способен окончательно запутать начинающего пользователя.
Господа админы промышленных серверов возразят мне, что стиль System V позволяет гибко подключать и отключать различные стартовые сервисы. Не буду спорить. Однако часто ли такая задача встает перед настольным пользователем? Гораздо чаще его целью является убиение раз и навсегда многочисленных служб, которые майнтайнеры дистрибутива посчитали жизненно необходимыми для его счастья.
Не случайна тенденция многих современных дистрибутивов Linux к использованию BSDстиля загрузки, примерами чему, кроме классической Slackware, и CRUX, и Gentoo. А в Archlinux понятие runlevels вообще утрачивает значение, хотя соответствующие слова в файле /etc/inittab найти можно, на практике уровни выполнения при старте системы никак не играют. А вот попыток внедрить в BSDсистемы «прогрессивный» стиль System V чтото не наблюдается. Не считать же таковым группировку скриптов различных служб в едином подкаталоге в /etc во FreeBSD 5й ветки.
Что до русификации Иксов X, как известно, он и в Африке X. И действия по вписыванию путей к файлам с кириллическими шрифтами, коррекция клавиатурной раскладки и установка переключателя с латиницы на кириллицу окажутся неизбежными, поверх какой операционки Иксы бы ни стояли.
Второй показательный пример настройка звука. Во FreeBSD это требует (для подавляющего большинства распространенных чипов и чипсетного аудио) внесения одной (и одинаковой во всех случаях) строки в конфигурацию ядра и перекомпиляции последнего. После чего о звуке можно просто забыть он будет работать всегда и везде.
К слову, можно обойтись и без перекомпиляции ядра, модуль поддержки звука собирается (как и почти все модули) во FreeBSD в обязательном порядке, достаточно загрузить его вручную или обеспечить загрузку при старте системы.
В Linux: начинаем с того, что то же самое чипсетное аудио (а с постепенным вымиранием карт типа SB AWE128 оно становится предпочтительным для всех пользователей без претензий на меломанию или композиторство) непременно требует драйверов ALSA. Благо, что ныне они встроены в ядро и в большинстве дистрибутивов включены в умолчальные ядра в качестве модулей. Если нет, то перекомпиляция ядра большого труда не составит.
Однако перекомпиляцией ядра дело не ограничивается. Нужно еще поставить соответствующий ALSAинструментарий (да еще, как правило, средства совместимости ее со старой звуковой системой OSS), активизировать соответствующего демона и с помощью не вполне очевидных средств обеспечить его «самовосстановление». И после всего этого опять столкнуться с неожиданностями. Например, с нежеланием мирного сосуществования ALSA и arts (звуковой системы KDE). Конечно, мне могут возразить, что это проблемы KDE, однако во FreeBSD их не возникает вовсе.
Кстати, о доустановке инструментария (и прочих программ). Для этого ведь необходимаСистема управления пакетами
Здесь до недавнего времени первенство, безусловно, принадлежало FreeBSD. Система портов ее обеспечивала несравненное сочетание простоты и гибкости, всегда оставляя возможность выбора собирать ли пакеты из исходников, или устанавливать их из бинарников. Не возбраняя и комбинацию этих методов. Из всего Linuxового богачества по этой части с портами мог сравниться только Debianовский apt, ассимилированный в недрах многих rpmbased дистрибутивов. Однако, хотя apt и предполагает возможность сборки собственных пакетов, основным методом при нем является использование прекомпилированных бинарников, собранных в соответствие с представлениями майнтайнера о зависимостях оных.
Ныне положение изменилось и в Source Based дистрибутивах Linux широко используются портообразные системы, развившиеся под сильным влиянием своего FreeBSDпрототипа: портежи Gentoo, Sorcery из Sorcerer’а, порты CRUX, Archlinux Building System из одноименного дистрибутива. Они подчас превосходят своего прародителя по универсальности, гибкости, глобализации настройки или прозрачности устройства, использования и модернизации. К тому же, за десятилетие своего развития порты FreeBSD стали весьма громоздким и труднообозримым сооружением, поддержание которого в актуальном состоянии представляет собой отдельную задачу. Далеко не всегда решаемую с помощью дополнительных средств типа portupgrade (которая сама по себе является уже частью не базовой системы, но системы портов).
И тут уместно сказать пару слов еще об одной широко распространенной легенде будто бы сборка из исходников посредством портообразных управляющих комплексов всегда приводит к более «чистой» (то есть свободной от лишних компонентов) системе. Это далеко не всегда так.
Вопервых, в самой природе портов (и их клонов) часто заложена некоторая избыточность устанавливаемых компонентов. Хрестоматийный пример cvs-up, требующий для актуализации, как базовой системы, так и портов FreeBSD: в бинарном виде это легкий компактный пакет, не обременяющий даже пользователя с модемным подключением. При сборке же через порты он тянет за собой дистрибутив modula (поскольку на нем написан), который дальнейшем не пригодится никому, кроме приверженцев этого языка программирования.
Что меня всегда удивляло в портах FreeBSD, так это ситуация со сборкой моего любимого редактора joe. Каковой в качестве зависимости непременно требовал GNU make версии 3.80, хотя собственный make входит в состав FreeBSD Distributions и собрать с его посредством joe руками не составляет никаких проблем.
А вообще «чистота» установки пакета очень зависит от конкретной реализации порта. Недавно обнаружил я в новостях сообщение о новом оконном менеджере под названием edo небольшом, как говорилось, компактном и быстром. Обнаружился он и в портах FreeBSD, откуда я решил его собрать. В итоге этот маленький :) WM потянул за собой (как зависимость зависимости) не что иное, как MySQL.
Однако если вы думаете, что такое поведение портов особенность FreeBSD, и создатели их Linuxклонов учли ошибки прошлого, то уверяю это не всегда так. Причем в Linux ситуация усугубляется особенностями базовой системы, точнее, несогласованностью развития отдельных ее компонентов.
Каждый, кому доводилось собирать Linux from Scratch, знает, что некоторые версии пакетов Base Linux имеют обыкновение собираться только с определенными (отнюдь не обязательно самыми свежими) версиями таких утилит, как autoconf и automake, категорически отказываясь делать это с другими их версиями (пусть даже более свежими и прогрессивными).
Разработчики Source Based дистрибутивов Linux подчас обходят эту сложность тем, что принудительно вносят в список зависимостей таких «склизких» пакетов autoconf и automake «прошлогоднего» розлива, притом, что сам по себе базовый комплект включает уже текущие на данный момент их версии. В результате чего, например, в Gentoo при выполнении бутстраппинга или emerge system можно с удивлением наблюдать, как система лезет в Интернет за бородатым, как Карл Маркс, autoconf хотя свежая его версия только что была развернута из тарбалла stage1. А если вспомнить, что многие полагают, будто по настоящему стабильное ядро Linux может быть собрано только с gcc версии 2.9.X, результатом чего оказывается присутствие в системе двух компиляторов, то о какой «чистоте» сборки можно еще говорить?
Впрочем, достижение разумного баланса между развертыванием прекомпилированных пакетов, установкой их из портообразной системы и самостоятельной «штучной» сборкой тема совершенно отдельного разговора. А пока рискну сформулировать еще пару «объективок»:
- FreeBSD, вопреки устоявшемуся мнению, существенно проще в настройке и локальном администрировании. Даже без учета того факта, что она одна, а Linuxов много;
- напротив, система портов FreeBSD в настоящее время (в отличие от недавнего прошлого), не имеет значимых преимуществ перед аналогичными инструментами из Source Based дистрибутивов Linux.
Если тщательно подсчитать приведенные выше плюсы и минусы обеих операционок, можно прийти к выводу, что счет между ними равный. Возможно, с незначительным позиционным преимуществом FreeBSD, но столь незначительным, что вполне резонно согласиться на ничью. Однако каждая ОС устанавливается, настраивается и наращивается приложениями не ради себя самой, а для практического использования. И потому следует рассмотреть в сравнении ихПользовательские качества
Здесь для начала рискну высказать крамольное, с точки зрения фанатиков любой из обсуждаемых систем, мнение (впрочем, фанатики любое мнение, не совпадающее с их собственным, сочтут крамольным). А именно:
Для пользователя, отдающего преимущество работе в графическом режиме, разницы между FreeBSD и Linux практически нет.
Ибо такой пользователь большую часть времени проводит в Иксах, и ему абсолютно без разницы, поверх какой операционки эти самые Иксы крутятся. Ему только кажется, что он работает в Linux или FreeBSD (NetBSD, OpenBSD рискну расширить я этот список). На самом деле работает он в KDE (Gnome, XFce, WindowMaker нужное дописать). И если бы ему не пришлось предварительно устанавливать и настраивать свою операционку, он имел бы шанс никогда не узнать, в какой именно из POSIXсовместимых систем он работает: перед ним будут одни и те же интерфейсные элементы, одни и те же средства настройки и приложения.
Так что в сравнительном аспекте речь может идти только о работе в консольном режиме с использованием системных и пользовательских утилит базового комплекта.
И тут я не могу не произнести оду текстовой консоли FreeBSD и средствам управления ею. Каковые включают в себя всего две команды: vidcontrol и kbdcontrol, назначение которых однозначно вытекает из названий. И которые позволяют настроить в консоли абсолютно все от плотности символов на экране (т.н. разрешения) до цвета бордюров, своих для каждого виртуального терминала.
Пользователь Linux для начала вынужден разбираться с тем, какой из двух пакетов управления консолью kbd или console-tools применяется в его дистрибутиве. Конечно, ныне они практически идентичны по своим возможностям, но каждый имеет свой набор команд с несколько различающимся синтаксисом. А коекакие настройки (например, цвета текста и фона) требуют от него использования команд, не входящих ни в один из пакетов. А коечто (например, те же цвета бордюров) все равно останутся для него недоступными.
Сказанное относится и к базовым командам обеих систем. FreeBSD Distributions монолит, тесно увязанный с ядром, включающий в себя все, что может понадобиться пользователю для администрирования и использования системы (а администрирование локального десктопа такая же пользовательская задача, как и обработка текстов или манипулирование файлами).
Конечно, и Linux располагает тем же самым набором классических Unixутилит (точнее, как и FreeBSD, их аналогами). Однако это именно разобщенные пакеты, разрабатывавшиеся в рамках проекта GNU, в сущности, независимо от операционной системы. И уже в силу этого не столь тесно интегрированные с ней и между собой.
Так что же, в консольном режиме первенство остается за FreeBSD? По моему мнению безусловно. Но только если речь идет именно о чисто текстовой консоли. Если же обратить свой взгляд на т.н. графическую консоль (реализуемую посредством Frame Buffer), то все видится несколько иначе.
Начать с того, что графическая консоль FreeBSD (т.н. Raster Mode) ограничена однимединственным разрешением 800×600 (тут речь идет именно о настоящем пиксельном разрешении, а не плотности символов). Да и то на некоторых чипах этот режим не работает вообще, на других имеет вполне скверный вид. Собственно, нормального результата в Raster Mode мне не удавалось добиться ни на одной из имевшихся в моем распоряжении видеокарт.
В Linux же графическая консоль просто радует глаз. Даже при поддержке Frame Buffer для абстрактных VESAсовместимых карт, можно варьировать разрешения от 640×480 до 1280×1024, с изменением глубины цвета в стандартном диапазоне. Что обеспечивает не только комфортный просмотр изображений, но и весьма приличное (на мой взгляд более чем приличное) воспроизведение видео. Для карт, имеющих хорошо реализованные собственные драйвера в ядре Linux (Matrox, ATI, чипсетное видео от Intel) к этому добавляется возможность установки нестандартных разрешений экрана.
Естественно, никто не использует консоль для работы с изображениями, и очень немногие для просмотра видео. Почему же я придаю графической консоли такое значение? Да потому, что незаметно, но наступает эра жидкокристаллических дисплеев, знаменующая собой смерть чисто текстового режима (но не консольного режима как такового). Почему легко поймут те, кто видел стандартный текстовый режим 80×25 символов на 18дюймовом LCDмониторе с физическим разрешением матрицы 1280×1024. А как это смотрелось бы на экране с соотношением сторон 16:9 я боюсь себе даже представить.
Наконец, остается еще один вопрос, важный для пользователя О производительности
Представление о большем быстродействии FreeBSD по сравнению с Linuxом столь же традиционно, как и мнение о большей сложности ее настройки. Однако так ли все однозначно?
Вопервых, как один из основных критериев при этом рассматривается скорость загрузки, корреляция которой со скоростью исполнения приложений несколько сомнительна. Помнится, из немалого числа операционок, которые мне довелось видеть в своей жизни, быстрее всех грузилась MS DOS :)
Вовторых, даже если считать скорость загрузки одним из критериев быстродействия, то превосходство перед Linuxом обнаруживает только FreeBSD 4й ветки. Пятая ветка грузится ровно столько же, сколько и любой дистрибутив Linux, задействующий файловую систему устройств devfs. Конечно, в благородном Linuxсемействе можно подобрать таких представителей, которые грузятся еще дольше, но это очень дружественные к юзеру системы, отягощенные. изобилием стартовых сервисов (в частности, автоопределителем оборудования kudzu).
По своему сугубо пользовательскому опыту я бы сказал, что разницы в быстродействии на пользовательских задачах между Linux и FreeBSD органолептически обычно не просматривается. За двумя исключениями, первое из которых файловые операции.
Очевидно, что на производительность файловых операций каждой ОС влияют два фактора реализация взаимодействия с дисковой подсистемой (для десктопа конкретно с интерфейсом ATA) и организация поддерживаемой файловой системы (систем). И вот тутто FreeBSD оказывается в невыгодном по сравнению с Linux положении.
Выше упоминалось, что за счет CAM во FreeBSD (речь идет о 5й ветке) достигается универсализм в работе с дисковыми контроллерами у меня сложилось впечатление, что ей вообще безразлично, на каком конкретно контроллере сидит диск (лишь бы он опознавался BIOS’ом но и это необходимо только для загрузки с него ядра). Однако за универсализм приходится платить. И, похоже, что в данном случае расплата наступает в виде снижения быстродействия дисковых операций хотя достоверной информации по данному вопросу я не нашел, исходя из общих соображений, это выглядит похожим на правду.
Такова первая сторона вопроса. Вторая файловая система FreeBSD, каковыми являются UFS и (по умолчанию в 5й ветке) ее усовершенствованная модернизация UFS2. Традиционно в этой ОС обе используются в частично синхронном режиме (noasync mode), когда изменения метаданных файлов записываются на диск немедленно, а изменения блоков данных кэшируются в оперативной памяти.
В Linux принята другая модель работы с ATAдисками: разные типы контроллеров имеют (или не имеют) собственную поддержку в ядре. Что исключает использование явно не поддерживаемых устройств, зато для поддерживаемых, судя по всему, обеспечивает большее быстродействие. Файловые системы (а Linux поддерживает в качестве нативных несколько их разновидностей) по умолчанию все (кроме, возможно, JFS) используются в полностью асинхронном режиме (async mode), когда и данные, и метаданные кэшируются в оперативной памяти.
В результате сочетания указанных факторов файловые операции осуществляются в Linux существенно быстрее, нежели во FreeBSD. Собственно, я всегда это подозревал, но только серия измерений показало, насколько отставание FreeBSD 5й ветки в этом плане существенно положение не спасает даже механизм SoftUpdates, призванный повысить и надежность, и производительность манипуляций над файлами. К слову сказать во FreeBSD 4й ветки такого отставания ранее не наблюдалось, что косвенно подтверждает негативное влияние работы с дисковой подсистемой (усугубляющее деградацию именно синхронных операций) в ней модель CAM не используется (по крайней мере, не использовалась, когда я ею пользовался). А вот в Linux с его исключительно асинхронным использованием файловых систем, по моим наблюдениям, зависимости скорости работы с файлами от производительности дискового железа почти нет.
Второе из обещанных исключений относится к операциям своппинга. Каковые в Linux и FreeBSD выполняются существенно по разному. Для установления чего достаточно посмотреть на вывод команды top в той и другой ОС при среднепользовательской нагрузке. В Linux можно видеть, что при достаточном количестве оперативной памяти процент использования swapпространства стремится к нулю. Например, на моем ноутбуке с Linux (512 Мбайт памяти) в момент сочинения этих строк, при загруженном KDE, htmlредакторе Quanta, konsole, двух экземплярах konqueror и работающем mplayer (воспроизводство mpeg и RealAudio), swap не задействован вообще. На десктопе с FreeBSD (1 Гбайт памяти) при той же нагрузке задействованная область подкачки меньше 10% почти не опускается.
Это связано с тем, что Linux прибегает к своппингу только при переполнении оперативной памяти, во FreeBSD же на диск в любом случае (даже при избытке RAM) выгружаются страницы памяти, к которым не было обращений в течение некоего промежутка времени. В сущности, оперативная память в этой ОС выступает в качестве своего рода кэша для области подкачки (точнее, для виртуальной памяти вообще). Что эффективно при ограниченном ее объеме и было оправдано в стародавние времена, когда процессоры были медленными, а памяти мало. Ныне такая модель использования своппинга в некоторых ситуациях приводит к замедлению работы. Пример KDE с большим количеством рабочих столов и периодическим переключением между ними, где такое замедление видно невооруженным глазом.
Все это обуславливает большее объективное (устанавливаемое тестами) и особенно субъективное быстродействие Linux по сравнению с FreeBSD. Хотя должен опять подчеркнуть речь идет именно о десктопной сфере: на сильно загруженном сервере механизм кэширования FreeBSD может проявить свои сильные стороны, и скоростные соотношения между этими системами, возможно, в ряде случаев окажутся прямо противоположными.Подведем итоги
В самом начале этой заметки я не обещал дать однозначного ответа на поставленный в ее заголовке вопрос. Точнее, обещал, что его не будет. И действительно, для себя однозначного ответа я не вижу. Но коекакие наметки для него сделать себе позволю.
Чем подкупает FreeBSD так это а) простотой установки, б) логичностью настройки и в) легкостью администрирования в локальном масштабе. Однако те же особенности (по крайней мере, большая их часть) характерны ныне и для лучших (по моему мнению) современных представителей Linuxсемейства (CRUX и Archlinux, в какойто степени Gentoo). Хотя ожидать от них внутренней стройности и целостности FreeBSD, по понятным причинам, в ближайшее время не приходится.
В то же время я отдаю себе отчет в архаичности файловой системы FreeBSD, особенно отчетливо проступающей в сравнении с современными реализациями ReiserFS и XFS для Linux. И почти месячная эксплуатация FreeBSDдесктопа и Linuxноутбука машин с практически равным номинальным быстродействием, что называется, лицом к лицу, убеждает меня в большем быстродействии последней. А вот что имеет больший вес для пользователя это каждый должен решать для себя. Хотя, как это ни прискорбно, Linux в настоящий момент кажется лучшим выбором для настольного применения.
Однако подчеркну в настоящий момент, ведь выход версии FreeBSD 5.3 может существенно изменить ситуацию. Однако что бы ни случилось, будущее хотелось бы видеть как взаимовлияние обеих операционных систем, взаимной ассимиляции всех плюсов и изживании минусов. Почему я и закончил бы свое затянувшееся повествование лозунгом в духе советских времен: