Возможно этот вопрос окажется для кого-то банальным. Однако я неоднократно сталкивался с людьми, которые реагируют на упоминание NetBSD стереотипным ответом «в топку».
Я хочу осветить основные концепции этой ОС и мой опыт работы с ней.
Зачем нужна еще одна операционная система?
Идея проекта NetBSD заключается в создании современной, максимально кросплатформенной операционной системы. Под словом современной я понимаю поддержку различных новых технологий например, xen host. В отличии от Linux, переносимость NetBSD не ограничивается ядром. Один и тот же дистрибутив работает на всех заявленных платформах. Я считаю, что это основное достижение.
Несомненно, есть и минусы. Небольшая команда разработчиков + приоритет переносимости накладывают ограничение на совместимость. Например в NetBSD нет поддержки основных файловых систем (JFS, XFS, NTFS, EXT3) и LVM. Есть полноценные аналоги — LFS и ccd. В этом заключается еще один аспект идеологии NetBSD — не гнаться за все подряд. Не столь важно как, главное чтоб работало.
Как и сама OS, pkgsrc — система пакетов NetBSD — ориентирована в первую очередь на переносимость. Именно поэтому в определенный момент DragonFlyBSD перешли на pkgsrc. В настоящий момент pkgsrc поддерживает 14 операционных систем. Это еще один пример комплексного подхода «делать так, чтоб работало везде».
Мое знакомство с NetBSD
Долгое время в моей домашней сети 24/7 сервером с ssh и ослом был стары ноутбук по OS/2. Все работало отлично. Постепенно в осле файлов стало все меньше, а торренты все популярнее. В OS/2 с торрентами очень плохо. Есть только родной клиент на питоне и ctorrent. Серьезно качать, а тем более раздавать с их помощью невозможно. По-этому возникла необходимость заменить серверную OS, где можно было бы крутить rtorrent.
Ставить Linux было в первую очередь не интересно. Я решил попробовать FreeBSD. Как раз в тот момент вышел релиз 7.0. Я радостно поставил скачивать что-то, а на утро обнаружил, что FreeBSD упала «Panic String: kmem_malloc(4096): kmem_map too small: 26476544 total allocated». В интернетах рекомендовали увеличивать буферы, я их увеличивал, но результат был всегда одинаковый. В LJ сообществе любителей FreeBSD мне порекомендовали попробовать NetBSD.
В первые же сутки работы SSH опять перестал отвечать. Однако, система осталась жива. Я изменил количество NMBCLUSTERS в соответствии с рекомендациями и больше ни каких проблем не возникало. На мой взгляд стабильность — одно из важнейших качеств серверной системы. Что касается производительности, пожаловаться я не могу. Приводить никаких бенчмарков я не буду — все слишком сильно зависит от железа, настроек ПО и т.д.
комментарии (49)
С файловыми системами не очень: из наиболее ходовых EXT2, FAT(16,32) и NTFS. Основная ФС — FFS — один из вариантов UFS, с поддержкой журналирования. Еще есть LFS, которую сперва выкинули из всех BSD проектов. В определенный момент ее переписали для NetBSD. В настоящий момент ее производительность на приемлемом уровне.
Есть софтверный RAID 0,1,4,5.
Что касается программ, недостаток не ощущается :-). Есть система пакетов, на подобии портов FreeBSD. Но полная POSIX-1 и почти полная POSIX-2 совместимость позволяет просто запустить ./configure
и
какое-то не соответствие, не находите?
а вообще спасибо за статью ))
P.S. Я всеръез задумался об установке это ОС на домашний сервер для веб-разработки. =)
В смысле веб-разработки должен предупредить, что в pkgsrc пока нет mysql 5.1 Я использую NetBSD на своем сервере в конфигурации nginx + php + mysql. Вроде работает.
Никакой религии, просто хроническая паранойя и привычка.
Использую как настольную ОС.
Cписок платформ на которых работает NetBSD ports-table. Все же по количеству актуальных архитектур, не сильно опережает Debian.
Пробовал OpenBSD, DragonFly BSD и NetBSD — ОС оставили произвели очень положительное впечатление.
DragonFlyBSD на сервере бы не использовал пока.
wiki.netbsd.se/The_design_and_implementation_of_pkgsrc
Еще одна замечательная особенность pkgsrc — полная работоспособность от непривилегированного пользователя. Это когда у вас на системе недостаточно прав, но очень нужно устанавливать множество пакетов с их зависимостями в свою домашнюю иерархию каталогов. Их бутстраппер специально обучен жить в ~/pkg/bin
Концепции NetBSD:
— Главный приоритет — переносимость.
— Не столь важно как, главное чтоб работало.
— Делать так, чтоб одно решение работало везде.
Мой выбор в первую очередь был обусловлен любопытством. Мне понравилось.
В любой области альтернативы нужны только тогда, когда очевидны их преимущества.
Менять десктопную ос надо тем, кто видит эти преимущества. Насчет ухода от Винды меня спрашивать не стоит, сам знаешь :)
В любой области альтернативы нужны только тогда, когда очевидны их преимущества.
Менять десктопную ос надо тем, кто видит эти преимущества. Насчет ухода от Винды меня спрашивать не стоит, сам знаешь :)
Кстати, java создавалась и в том числе для переносимости.
Вот есть пэкэджи, но есть, наверно, и порты?
Как они устроены, как их обновлять, как обновлять систему?
Как устроена совместимость с предыдущими версиями — похоже на фрю или нет…
Есть два варианта установки пакетов: бинарные, через FTP и компиляция исходников, которые, соответственно, тоже приходят по FTP. Естественно, зависимости обрабатываются автоматически. Сборка очень напоминает portage Gentoo: есть волшебные слова, которые надо записывать в mk.conf. В соответствии с ними собираются пакеты. Для работы с пакетами есть набор утилит, с помощью которых можно пакеты также и обновлять.
Для сборки и обновления базовой системы есть скрипт. По идее, новые исходники нужно скачать через CVS, собрать и обновить систему. Но я полагаю, что можно подсунуть скрипту новые бинарники из вне.
В конфиге ядра есть опции совместимости с предыдущими версиями. Также можно включить бинарную совместимость с SVR4, SCO, Linux, FreeBSD, Mach и Darwin. Насколько это работает я не знаю.
Ставил потому-что было интересно попробывать.
Впечатления:
Как ни странно, но работает отлично на очень старом железе с 64 мб памяти.
Ещё мне понравился их скрипт для конфигурации ядра. Запускаешь и получаешь готовый конфиг под своё железо.
О производительности то-же сказать трудно, свою задачу на 100% выполняет и не тормозит.
Сверхъестественного отличия от FreeBSD не заметил.
Кому интересно — попробуйте, у меня только положительные эмоции.
Установка и настройка NetBSD очень хорошо документированы.
Для торрентов рекомендую использовать rtorrent.
runetbsd.ru/
Я там некоторые вопросы по сборке ядра задавал.
Всё помогли решить.