войти зарегистрироваться

Что такое NetBSD

Возможно этот вопрос окажется для кого-то банальным. Однако я неоднократно сталкивался с людьми, которые реагируют на упоминание 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)

  • А дальше?
    • Что именно Вас интересует? Я не гуру, но постараюсь ответить.
      • Xorg есть? Какой версии? Портированные программы — тоже интересно. поддерживаемые файловые системы, RAID если есть, то какие.
        • С системой поставляется XFree86, однако Xorg можно поставить через менеджер пакетов.

          С файловыми системами не очень: из наиболее ходовых EXT2, FAT(16,32) и NTFS. Основная ФС — FFS — один из вариантов UFS, с поддержкой журналирования. Еще есть LFS, которую сперва выкинули из всех BSD проектов. В определенный момент ее переписали для NetBSD. В настоящий момент ее производительность на приемлемом уровне.

          Есть софтверный RAID 0,1,4,5.

          Что касается программ, недостаток не ощущается :-). Есть система пакетов, на подобии портов FreeBSD. Но полная POSIX-1 и почти полная POSIX-2 совместимость позволяет просто запустить ./configure
          • емм… не сочтите занудой но —
            Например в NetBSD нет поддержки основных файловых систем (JFS, XFS, NTFS, EXT3) и LVM

            и
            С файловыми системами не очень: из наиболее ходовых EXT2, FAT(16,32) и NTFS.


            какое-то не соответствие, не находите?
            а вообще спасибо за статью ))
            • Вы абсолютно правы, мне следовало написать NTFS через fuse
  • NetBSD — очень компактная ОС подмножества BSD, в которой особое внимание уделено сетевой подсистеме. Ранее использовалась во множестве embedded устройств, сейчас сильна вытеснена Linux'ом.
    • Ну тогда и в топку :)
  • Было бы интересно почитать о дальнейшем опыте эксплуатации. Какие и где возникают грабли? Как чувствует себя NetBSD в Windows-сетях? Ну и так далее =)

    P.S. Я всеръез задумался об установке это ОС на домашний сервер для веб-разработки. =)
    • Единственные грабли — не работает mmap на smb mount. В остальном без нареканий. В определенный момент друзья подарили мне thin client, я сделал из него утонченный сервер, естественно под NetBSD. Там крутится sshd и rtorrent с самодельным веб-интерфейсом на php/lighttpd. 128 MB хватает, свап отключен.

      В смысле веб-разработки должен предупредить, что в pkgsrc пока нет mysql 5.1 Я использую NetBSD на своем сервере в конфигурации nginx + php + mysql. Вроде работает.
    • А чем не понравилась FreeBSD (PC-BSD)?
      • С FreeBSD я довольно давно знаком (года наверное 4 с половиной), и в общем-то, просто захотелось чего-нибудь необычного =)
        • OpenBSD )))
          Никакой религии, просто хроническая паранойя и привычка.
          • поддерживаю.
            Использую как настольную ОС.
          • OpenBSD вообще лапочка. Я поставил OpenBSD 2.6 в 2000 году в одной конторке, она там до сих пор без присмотра и вмешательств работает ;)
            • Да, если железки не подводят, то оно работает, работает и работает. :)
            • а обновлять и патчить кто будет? :)
              • А зачем? У это машинки очень специализированная роль, там ни одного сервиса нет, она только порты пробрасывает на реальные сервера. А выглядит так, как-будто это прямо на ней все и установлено.
  • Дополню.
    Cписок платформ на которых работает NetBSD ports-table. Все же по количеству актуальных архитектур, не сильно опережает Debian.
  • Интересная ОС, но на серверах предпочитаю FreeBSD.
    Пробовал OpenBSD, DragonFly BSD и NetBSD — ОС оставили произвели очень положительное впечатление.
    • а я на десктопе предпочитаю FreeBSD, а на сервере — OpenBSD либо NetBSD (особой разницы нет, но OpenBSD привычнее).
      DragonFlyBSD на сервере бы не использовал пока.
  • Очень хорошая статья по дизайну и устройству pkgsrc из NetBSD:
    wiki.netbsd.se/The_design_and_implementation_of_pkgsrc

    Еще одна замечательная особенность pkgsrc — полная работоспособность от непривилегированного пользователя. Это когда у вас на системе недостаточно прав, но очень нужно устанавливать множество пакетов с их зависимостями в свою домашнюю иерархию каталогов. Их бутстраппер специально обучен жить в ~/pkg/bin
  • Имхо, статья ни о чем. Ни обещаных концепций, ни о том, чем она могла бы быть интересна кому-либо кроме автора.
    • Концепции вроде есть. И мне статья понравилась.
  • раскрыть комментарий
  • все знают, что NetBSD — это такая ОС, чтобы тостер mp3 играл когда тосты пожарятся :)
  • NetBSD, это еще и лучшая в отрасли Packages Collection
  • Краткое содержание: «Freebsd на моем ноутбуке падает, netbsd вроде бы нет». Статья действительно ни о чем. Как например упомянутая вами переносимость связана с вашим выбором? У вас ноутбук какой-то отличной от i386 архитектуры или еще что-то?
    • Краткое содержание:

      Концепции NetBSD:
      — Главный приоритет — переносимость.
      — Не столь важно как, главное чтоб работало.
      — Делать так, чтоб одно решение работало везде.

      Мой выбор в первую очередь был обусловлен любопытством. Мне понравилось.
      • Ни один из пунктов не раскрыт в вашей статье.
  • Как один из тех, кто говорил «в топку», напомню причину: я не вижу каких-либо причин уходить от мейнстрима в области серверных ОС
    • Что значит мейнстрим? А в области декстопных ос нужно уходить от самизнаетечего?
      • Мейнстрим — это большие коммьюнити :)
        В любой области альтернативы нужны только тогда, когда очевидны их преимущества.
        Менять десктопную ос надо тем, кто видит эти преимущества. Насчет ухода от Винды меня спрашивать не стоит, сам знаешь :)
        • Мейнстрим — это большие коммьюнити :)
          В любой области альтернативы нужны только тогда, когда очевидны их преимущества.
          Менять десктопную ос надо тем, кто видит эти преимущества. Насчет ухода от Винды меня спрашивать не стоит, сам знаешь :)
        • Про коммунити это ты прав абсолютно. Ещё желательно чтобы стояла какай-нить конторка типа Novell или RedHat.
  • а почему бы им всем не обьединиться и делать совместно одну ОС? зачем такая разроздненность?
    • Почему Вы не объединяетесь с соседом для покупки квартиры?
      • Тупой пример, если честно.
    • Потому что невозможно сделать суперуниверсальную и хорошую вещь. Либо универсально, либо хорошо :)
  • А для решения какой бизнес-задачи нужна переносимость операционной системы? Я не понимаю.
    • По-моему, они это делают just for fun =)

      Кстати, java создавалась и в том числе для переносимости.
  • Вы бы рассказали что там с дистрибуцией софта чуть подробнее — интересно же.
    Вот есть пэкэджи, но есть, наверно, и порты?
    Как они устроены, как их обновлять, как обновлять систему?
    Как устроена совместимость с предыдущими версиями — похоже на фрю или нет…

    • Если придерживаться терминологии, принятой в NetBSD, порт — это набор бинарников под определенную платформу. Например vax port. Базовый дистрибутив разбит на сеты. Например compiler set или xfonts set. Пекеджи это то же, что порты в FreeBSD. Система называется pkgsrc. Я плохо знаком с устройством FreeBSD ports, поэтому сравнивать не буду.

      Есть два варианта установки пакетов: бинарные, через FTP и компиляция исходников, которые, соответственно, тоже приходят по FTP. Естественно, зависимости обрабатываются автоматически. Сборка очень напоминает portage Gentoo: есть волшебные слова, которые надо записывать в mk.conf. В соответствии с ними собираются пакеты. Для работы с пакетами есть набор утилит, с помощью которых можно пакеты также и обновлять.

      Для сборки и обновления базовой системы есть скрипт. По идее, новые исходники нужно скачать через CVS, собрать и обновить систему. Но я полагаю, что можно подсунуть скрипту новые бинарники из вне.

      В конфиге ядра есть опции совместимости с предыдущими версиями. Также можно включить бинарную совместимость с SVR4, SCO, Linux, FreeBSD, Mach и Darwin. Насколько это работает я не знаю.
  • У меня стоит на одном сервере.
    Ставил потому-что было интересно попробывать.
    Впечатления:
    Как ни странно, но работает отлично на очень старом железе с 64 мб памяти.
    Ещё мне понравился их скрипт для конфигурации ядра. Запускаешь и получаешь готовый конфиг под своё железо.
    О производительности то-же сказать трудно, свою задачу на 100% выполняет и не тормозит.
    Сверхъестественного отличия от FreeBSD не заметил.
    Кому интересно — попробуйте, у меня только положительные эмоции.
    • Я думаю желающих как и я много, но после юзанья линукса как то стремно ставить. Я бы давно поставил бы BSD, чтобы как роутер и фаирволл работала, торренты раздавала. Но если бы знать как настроить вообще
      • В чем же проблема? Все когда-то начинали.

        Установка и настройка NetBSD очень хорошо документированы.
        Для торрентов рекомендую использовать rtorrent.
        • Имхо главная проблема — это настроить BSD на работу роутера — у меня корбина, а в ней проблем не мало, чтобы настроить все это.
      • Русское сообщество NetBSD
        runetbsd.ru/
        Я там некоторые вопросы по сборке ядра задавал.
        Всё помогли решить.
  • ниачём
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.