No pasaran, или впечатления от NetBSD


Автор: Алексей Федорчук
Опубликовано 11 октября 2002 года

Насколько в мире открытых систем FreeBSD уступает Linux'у в части всенародной известности, настолько же в *BSD-клане NetBSD оказывается на положении бедной родственницы, по крайней мере, в нашей стране. Если о FreeBSD более или менее регулярно появляются некоторые материалы – например, статьи и переводы Станислава Лапшанского на страницах Софтерры, – если об OpenBSD можно кое-что почитать на www.openbsd.ru или на www.opennet.ru, то о NetBSD в Рунете, пожалуй, не найти ни строки. А ведь существует мнение, не лишенное оснований, что именно она воплощает в себе дух открытых и свободных Unix-подобных систем. По крайней мере, в отношении максимально полной независимости от аппаратной платформы: NetBSD портирована на все «железо», которое может запускаться, и немножко – на то, которое запускаться не способно. Чтобы убедиться в этом, достаточно посмотреть на список поддерживаемых платформ на www.netbsd.org – там обнаружатся и VAX, и Sun Sparc, и RISC-системы от Hewlett-Packadr, и Alpha, и PowerPC, и Amiga, вкупе с мало кому ведомыми Acorn, Atari, Sharp, и так далее, и так далее, и так далее… Список столь обширен, что PC-платформа как-то просто теряется в середине его. Тем не менее, и она не обойдена вниманием разработчиков NetBSD.

Именно о PC-реализации NetBSD и пойдет речь в настоящей заметке. Применительно к последней по времени версии этой ОС, имеющей номер 1.6. На ftp-сервере проекта (ftp.netbsd.org), прорвавшись сквозь дебри архитектур, можно увидеть, что доступна она в следующих формах:
iso-образ установочного диска, объемом (всего-то навсего!) около 70 Мбайт;
iso-образ диска, содержащего полные исходники системы (порядка 200 Мбайт – тоже вполне скромно);
шести iso-образов дисков с прекомпилированными пакетами – эти уж забиты под завязку, каждый тянет на свои законные 650 Мбайт.

Все это, конечно же, не считая обычного CVS-дерева, из которого можно вытащить как текущую, так и разрабатываемую версию системы. Конечно, скачивать такое богачество без веской к тому мотивации, просто для ознакомления, – занятие не из самых здоровых (в том числе и для бюджета). И потому вполне можно ограничиться только первой позицией приведенного списка (хотя, скажем, регенерация ядра неизбежно потребует его исходников, сиречь второго диска). Именно это я и проделал – скачал первые два имиджа, заодно прихватив (благо, по казенному каналу) и первый из дисков с пакетами – просто чтобы получить представление об оных. После чего приступил к установке.

Должен заметить, что от установочной программы NetBSD веет древнегреческой архаикой. Начать с того, что инсталляционный диск – не загрузочный. И для начала требуется изготовить две дискеты с имеющихся на нем образов. Образов этих – изрядное количество. В большинстве случаев можно ограничиться двумя – boot1.fs и boot2.fs, прочие предназначены для всяких специальных случаев. Имеется и образ по имени boot-big.fs – для легендарной дискеты объемом 2,88 Мбайт (кто такие виде?). Причем, судя по документации на сайте проекта, с помощью этого образа можно изготовить и загрузочный CD. Интересно, почему разработчики такового не сделали – чтоб служба юзеру малиной не казалась, что ли? Или это нечто вроде экзамена на чин: могеш загрузочную дискету изготовить – значит, достоин, нет – отвали-подвинься…

Короче говоря, сделать загрузочные дискеты не сложно:
$ dd if=/path/boot*.fs of=/dev/fd0

А в Windows – и того проще: запустить сеанс MS DOS, найти на диске (или в закромах Родины) программку rawrite.exe, запустить ее, указать целевой дисковод, ввести ручьмя (кто забыл – в командной строке DOS нет автодополнения клавишей TAB) путь к файлу образа, и так далее. После чего, засунув первую дискету в привод, можно приступать к установке (в ходе загрузки, правда, придется еще сменить дискету).

Программа установки NetBSD носит имя sysinst. И, как это принято в благородном BSD-семействе, одновременно является (почти) универсальной утилитой конфигурирования. Каковая может быть легко запущена и в любой последующий (после инсталляции) момент времени.

sysinst – программа чисто текстовая, даже без намека на псевдографику, как аналогичная утилита из FreeBSD. Правда, в отличие от установщика OpenBSD, рисуется она не на радикально черном, а на синеватом фоне. И главное ее меню, появляющееся по окончании загрузки, содержит пункты:
Install;
Upgrade;
Re-install;
Rebbot;
Utility;
Exit.

Смысл большинства более или менее ясен. Отмечу только, что Re-install – это доустановка наборов пакетов (именуемых здесь sets), а Utility предназначено для дополнительного конфигурирования (в частности, сети) или просто выхода в командную строку (что позволяет производить всякого рода ремонтно-спасательные манипуляции).

Нас же в данный момент интересует исключительно пункт Install. Выбрав его, нам приходится заняться созданием раздела для NetBSD (если, конечно, нет желания или возможности отвести под нее весь диск). Согласно BSD-системе разбиения дисков, под это дело следует выделить один первичный раздел (в терминологии FreeBSD – слайс), внутри которого создаются логические тома (то есть собственно Partitions, или файловые системы). Процедура не сложна. Однако у меня уже имелся UFS-раздел под FreeBSD, и именно на него система упорно пыталась установиться (видимо, по родственному). Однако этой опасности избежать легко – до определенного момента из программы установки легко (и – без последствий) выйти комбинацией клавиш Control+C, после чего можно запустить ее повторно командой sysinst.

После создания раздела предлагается определиться с меню начальной загрузки – как и во FreeBSD по умолчанию в него попадают все имеющиеся на диске разделы, даже если никаких средств загрузки они не содержат. После чего остается выбрать тип установки – стандартный, стандартный плюс оконная система X или заказной. С последним, каюсь, справиться мне не удалось – именно при нем NetBSD упорно стремилась затереть соплеменную FreeBSD, что в мои планы не входило (благо, указанная выше клавишная комбинация всегда была наготове). А вот с первым двумя вариантами нужно быть внимательным. Именно выбор одного из них предопределяет разбиение BSD-партиции на файловые системы. По умолчанию их создается три – корневая, под каталог /usr, и раздел подкачки. Причем при выборе стандартной установки размер последнего равен удвоенному объему оперативной памяти, а при желании установить еще и X'ы – учетверенному. И отступать от этого, как будет показано ниже, не след.

Теперь наступает время выбрать наборы пакетов (set'ы). Ими являются:
Base,
System,
Compiler,
Games,

и так далее, вплоть до X'ов. Любой из них можно выбрать или исключить, вне зависимости от выбора варианта установки. Однако следует учесть, что если предварительно была выбрана стандартная установка, то последующий выбор для инсталляции X'ов очень быстро повлечет за собой сообщение об ошибке сегментации и прекращение процесса: видимо, не зря X'овый вариант предписывает удвоенный, относительно стандартного, объем swap-раздела.

На этом, собственно говоря, процесс установки заканчивается. Далее выбранные наборы быстренько (действительно – быстро, что показалось мне, учитывая специфику UFS, примечательным) переписываются на диск – и можно, извлекши дискету из привода, перезагружаться (на таких мелочах, как выбор часового пояса и алгоритма шифрования паролей, останавливаться не буду). Можно начинать знакомство с системой. Правда, перед этим хорошо бы озаботиться налаживанием ее загрузки – но это, как обычно, выливается в отдельную историю, к которой вернусь в ближайшее время.

Обновлено: 13.03.2015