The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Каталог документации / Раздел "Руководства по FreeBSD на русском" (Архив | Для печати)

NetBSD установка и первоначальная настройка

Бешков Андрей
tigrisha@sysadmins.ru

Опубликовано в журнале "Системный администратор"
Оригинал: onix.opennet.ru

Сегодня мы поговорим о NetBSD, которая является одной из разновидностей BSD-систем. Несмотря на то, что она широко распространена среди англоязычных пользователей, в России о ней почти никто не знает. Эта статья призвана исправить сей досадный недостаток.

Первая версия NetBSD, появившаяся в 1993 году, называлась NetBSD 0.8. Основывалась она на исходном коде системы 4.3BSD Lite, разработанной университетом Berkeley, и системе 386BSD, которая стала первым вариантом BSD Unix, способным работать на процессорах Intel 386. В течение последующих лет система NetBSD впитывала самые лучшие идеи из всех веток BSD-систем. Многие из этих идей постепенно трансформировались и улучшались энтузиастами, работающими над развитием NetBSD. Список приобретенных возможностей довольно длинный, поэтому перечислим лишь малую часть из них:

В последствии многое из того, что было опробовано или создано на основе BSD, и NetBSD в частности, стало стандартом для всех Unix-систем. Несмотря на свой малый размер, NetBSD является полноценной Unix-системой. Важнейшими приоритетами в процессе разработки стали хорошо продуманный, но в тоже время простой дизайн, отличное качество кода и приверженность стандартам. Система в первую очередь задумывалась как среда для обучения студентов основам проектирования Unix систем и полигон для проверки новых идей. Это позволило легко портировать систему на огромное количество разнообразнейшего оборудования. Лозунгом системы стала фраза "если внутри этой штуки есть процессор, значит, мы будем на нем работать". На данный момент NetBSD отлично чувствует себя более чем на 20 разных платформах. Давайте кратко пробежимся по их списку:

Среди аппаратного обеспечения, на котором успешно выполняет свои задачи NetBSD, есть как большие 64 битные системы вроде Digital Alpha, так и домашние машины вроде Atari или клоны IBM PC. В тоже время не только Macintosh, но и карманные компьютеры не обойдены вниманием. Примером миниатюризации может служить следующая фотография, на которой запечатлен карманный компьютер HP Jordana 720.

Если внимательно присмотреться к картинке, можно заметить отлично работающий оконный менеджер WindowMaker и игру XDoom, в которой увлеченно сражается с монстрами владелец этого миниатюрного аппарата. Практически все приложения, запускаемые на обычных компьютерах, работающих под управлением BSD-систем, будут работать и на этой машине.

Можно посмотреть галерею снимков рабочих столов пользователей NetBSD по этому адресу http://www.netbsd.org/gallery/in-Action/. Я думаю, вас удивит KDE, GNOME и множество других отлично работающих на этой платформе программ. Благодаря бинарной совместимости с Linux (Linux Binary Compatibility), присущей всем BSD-системам, есть возможность запросто запустить и успешно использовать более 90 процентов программ, скомпилированных для Linux.

Приятно осознавать, что в компьютере размером чуть больше пивной алюминиевой баночки живет свой собственный BSD Unix. Судя по всему, создатели NetBSD крепко усвоили истину, не дающую покоя многим мужчинам - размер имеющегося в распоряжении железа значения не имеет. Главное - уметь им пользоваться как следует. Тут искушенный в Unix читатель должен нахмуриться и высказать мнение, что, дескать, есть системы и поменьше. Например, безвременно почивший LRP (Linux Router Project) или PicoBSD, помещающиеся на одной дискете. А я триумфально отвечу, что не стоит путать полноценный и богатый возможностями Unix с урезанными системами, главным смыслом возникновения которых была необходимость создавать нетребовательные к железу платформы для межсетевых экранов и маршрутизаторов.

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

Многие системы в процессе разработки руководствуются принципом "если код работает, значит, он написан правильно". NetBSD, в отличие от них, считает что такой ход мыслей неверен. Вместо этого пропагандируется следующий подход к созданию систем - код не считается работающим до тех пор, пока не будет полностью проверен на правильность. Кажется странным, что большинство людей не видят или не хотят понимать этих отличий.

Опираясь на университетские традиции, сообщество, работающее над развитием NetBSD, позиционирует свой проект как свободную систему для профессионалов и энтузиастов, которую все желающие могут использовать для любых целей. Каждому предоставляется свободный доступ к исходным кодам и бинарным пакетам системы. А значит, внесение модификаций и дальнейшее распространение системы всячески приветствуется.

На мой взгляд, все вышеперечисленные характеристики NetBSD делают ее идеальной системой не только для изучения Unix, но и для многих других начинаний. Одним из приятных моментов в общении с этой системой является то, что для начала работы не нужно покупать дорогостоящего оборудования, а можно использовать старые PC, Mac и прочие компьютеры. Это большой плюс для развития малобюджетных исследовательских проектов. Ну а если вам нужен Unix работающий одинаково стабильно на множестве платформ, то вполне возможно, что NetBSD - ваш единственный выбор.

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

Начать инсталляцию можно со следующих носителей:

Так как статья не задумывалась в качестве исчерпывающего руководства по установке NetBSD, я выбрал cdrom, как наиболее простой путь инсталляции. Не будем осложнять себе жизнь возней с загрузочной дискетой, настройкой nfs и прочими изысками. Для того, чтобы создать загрузочный cdrom, нам нужно скачать iso - образ диска с любого из зеркальных серверов NetBSD. На момент написания статьи для скачивания была доступна версия NetBSD 1.6.1. Именно ее мы и будем использовать. Идем по адресу http://www.netbsd.org/mirrors/#iso и выбираем ближайший к нам сервер дистрибутивов. Лично я использовал работающий на удивление быстро Эстонский сервер ftp://ftp.ee.netbsd.org. Для моего PC компьютера предназначается дистрибутив, в названии которого содержится имя используемого нами процессора i386. Ну а вы, соответственно, должны выбирать дистрибутив для своего процессора. Переходим в директорию /pub/NetBSD/iso/1.6.1/ и качаем оттуда файл с образом загрузочного диска i386cd.iso размером в 125 мегабайт. Интересно, как разработчики системы смогли упаковать полнофункциональный Unix в такой малый объем. В этой же директории находятся еще восемь дисков с пакетами дополнительного программного обеспечения. Они нам пока не нужны, поэтому скачивать их не станем. В качестве бонуса можно взять файл i386pkg-cover.pdf, содержащий внутри себя картинки обложек для cdrom.

По окончании скачивания тем или иным способом записываем образ на cdrom. Я использовал для этого старенькую машину с Linux и программу cdrecord. Впрочем, для Windows программ, выполняющих данную функцию, тоже вполне достаточно.

В BIOS выставили загрузку с cdrom, вставили диск и перезагрузили компьютер. Как и во всех остальных BSD - системах, в начале видим стандартное меню с таймером. Нажимаем клавишу "Enter" или ждем, пока сработает таймер, и загрузка продолжится сама по себе.

В зависимости от скорости процессора на экране в разном темпе начинает возникать информация, выводимая модулем диагностики и обнаружения оборудования. Иногда процесс вывода замирает на 20-40 секунд. Как только мы добрались до этапа, изображенного на следующем снимке, нужно немного подождать. Система задумывается примерно на минуту и, казалось бы, зависает.

Но не стоит беспокоиться и пробовать вмешаться в процесс начальной загрузки. Через минуту - другую все снова зашевелится. Программа - загрузчик была занята созданием файловой системы в оперативной памяти. И вот на экране появилось заглавное меню программы sysinst. На протяжении всего процесса инсталляции мы будем работать именно с ней.

Пользуясь появившимся меню, можно выполнить следующие действия:

Если с первыми тремя пунктами все более или менее ясно, то необходимость четвертого пункта, позволяющего перегрузить машину, для меня лично довольно сомнительна. Почему это нельзя сделать с помощью кнопки "Reset" или, на крайний случай, "Power", непонятно. Следующий интересный для нас пункт меню - "Utility menu". Если выбрать его, то получим набор довольно интересных возможностей.

Например, запуск оболочки командного интерпретатора /bin/sh. На следующем рисунке мы можем видеть результат выполнения команд pwd и ls. Нам предоставлена самая обычная оболочка, с помощью которой можно поработать внутри запущенной сейчас системы и подправить все, что нужно, если вдруг что-то пойдет не так. Выйти из оболочки можно, как обычно, нажав Ctrl+D

Дальше идет интерфейс для установки временной зоны. Меню это настолько лаконично, что и писать-то о нем особенно нечего. Кстати, воспользоваться им для изменения данных так и не удалось. Странно, но нажатие каких угодно клавиш не давало никаких результатов

Следом за ним появляется меню настройки сетевых интерфейсов, отображающее две сетевые карты, установленные на моей машине.

К примеру, можно выбрать первый адаптер pcn0. Затем следует определение типа сетевой среды. Обычно рекомендуется устанавливать autoselect

Следующий вопрос позволяет указать, используем ли мы DHCP для получения сетевых параметров.

Если согласиться, то адрес TCP/IP для этого интерфейса будет получен автоматически при условии наличия в сети DHCP сервера. Вводим данные о домене и имени хоста. Я использовал в качестве имен строки "netbsd" и "unreal.net" соответственно. Так как вокруг меня нет сетей, работающих с протоколом IPv6, я отказался от его использования. И в результате получил вот такую картинку.

Точно такого же результата можно достичь, если отказаться от DHCP и отвечать на все задаваемые вопросы самостоятельно.

DHCP сервер на основе FreeBSD работающий по адресу 192.168.10.2, выделил мне адрес 192.168.10.128. Ответив "Yes" на вопрос о том, верно ли проведено конфигурирование сетевой карты, я решил проверить, насколько правильно она будет после этого работать. Пользуясь меню, о котором мы говорили ранее, запустил оболочку /bin/sh. Затем с помощью команды ping попытался посмотреть, доступен ли наш DHCP сервер. Также по совместительству он является DNS сервером и шлюзом по умолчанию.

Как видите, сервер оказался доступен. Окрыленный таким успехом, я решил проверить другие протоколы и для этого воспользовался ftp сервисом, работающим на том же сервере. Авторизовавшись, скачал из домашней директории пользователя tigrisha файл .cshrc. Убедился, что файл появился в локальной файловой системе.

Вы можете спросить меня, зачем производились все эти странные манипуляции. А я отвечу: просто для эксперимента. Из чистейшего любопытства и желания проверить, насколько гибко работает мини-система, управляющая инсталляцией. Кстати, все настройки, которые мы сейчас определили, можно по окончании инсталляции сохранить как используемые системой по умолчанию. А это значит, что нам не придется вносить их руками в конфигурационные файлы после первой перезагрузки системы.

Учитывая тот факт, что система вместе с ядром и прочими программами, с которыми мы работали, находится в оперативной памяти, а на жестком диске еще нет никаких данных, стоит признать ее впечатляющие возможности. Я предвижу, что в этом месте многие читатели поморщатся и выскажут свое скептическое мнение. Дескать, экая невидаль ping и ftp у них работает. А я им в ответ заявлю, что для сравнения пусть попробуют сделать что-либо подобное во время установки Windows или Linux. Итак, наигравшись и выяснив потенциальные возможности системы, возвращаемся в самое первое меню и приступаем к созданию разделов на жестком диске. Для этого выбираем пункт "Install NetBSD to hard disk".

Следующая подсказка повествует о том, что для продолжения инсталляции нам необходимо создать разделы на жестком диске. Затем внутри этих разделов разместить файловые системы нашей операционной системы. И уж только после этого установить нужные наборы программного обеспечения, называемые почему-то "distribution sets". Согласившись с предлагаемым планом, выбираем целевой жесткий диск. В моей системе он назывался wd0. Последствия выбора не заставляют себя долго ждать.

Тут нам разрешают использовать данные о геометрии жесткого диска, собранные мастером оборудования, или задать свои. Я использовал данные, определенные мастером. После этого наступает черед очень опасного выбора. Нужно решить, использовать все пространство, доступное на этом диске, или только часть из него. Выбирать использование части стоит в том случае, если на диске есть разделы других операционных систем или вы желаете их создать в дальнейшем. При использовании всего пространства данные, раннее находившиеся на этом диске, будут уничтожены.

У меня ничего ценного на этом диске отродясь не водилось, поэтому было решено полностью использовать доступное пространство, которое было равно 1023,97 мегабайт. Следует отметить, что NetBSD для исправного функционирования довольствуется гораздо более скромным пространством. Инсталляция всех пакетов плюс система X Windows займет 290 мегабайт, а без него 200 мегабайт. Следующий вопрос, заданный системой, уточняет тип разбиения диска на файловые системы.

Я выбрал Standart X и получил следующую картину распределения файловых систем по жесткому диску.

Поверив, что все на первый взгляд выглядит нормально, решил не пользоваться опцией "Change partitions", вызывающей местный аналог программы fdisk, и выбрал взамен пункт меню "Partitions are ok". На следующем экране система интересовалась, не хочу ли я дать имя жесткому диску вместо используемого по умолчанию "mydisk". Я решил, что хочу и назвал его "system". Впрочем, вы может поступить, как вам заблагорассудится, потому что название не критично. Затем последовало предупреждение о том, что изменения на жесткий диск пока не записаны и у нас есть последний шанс все отменить. Недрогнувшей рукой выбираем пункт меню, разрешающий продолжать инсталляцию. Некоторое время на экране будут мелькать надписи, извещающие нас о процессах создания и о ходе разметки новых файловых систем. Нарисовав следующее меню, система пытается узнать, что мы хотим использовать в качестве системной консоли. Выбрать можно один из двух вариантов:

Я выбрал Normal bootblock, в ответ система немножко пожужжала диском и радостно сообщила о том, что первый этап инсталляции завершен и теперь мне необходимо выбрать наборы программного обеспечения, которые будут установлены далее. Как обычно, дают выбрать из двух наборов - Full и Custom. Повинуясь своему неуемному любопытству, решил использовать нестандартный набор пакетов. На следующем экране слева виден список выбранных пакетов, а справа меню со списком доступных для установки пакетов. Установить или снять пометку о выборе можно с помощью клавиши "Enter".

После того, как разберемся с выбором пакетов, система задаст вопрос о носителе, с которого будет производится инсталляция.

Я выбирал CDROM, ну а вы можете использовать все, что душе угодно. В следующем меню определяем, является у нас CDROM устройством или директорией. Такой подход удобен, если CDROM примонтирован в нестандартное место.

Выбрав пункт device, соглашаемся с предлагаемым системой вариантом: считать нужный нам cdrom устройством cd0. Несмотря на то, что в вашей системе маркировка может отличаться, я думаю, догадаться, что есть что, особого труда не составит. Указав, где у нас находится CDROM, используем пункт меню "Continue" и приказываем продолжать установку. Минут 5 любуемся на бегущие по экрану списки устанавливаемых пакетов. К сожалению, с таким составом пакетов с первого раза удачно завершить инсталляцию мне не удалось. Начались шаманские танцы с бубном, но, несмотря на все старания, процедура установки с завидным постоянством прерывалась сообщениями о фатальной ошибке в пакете X11-fonts. Хорошо, что установка длится всего 5 минут. На третьей неудачной попытке были отключены все пакеты, связанные с X Windows. И только после этого инсталляция удалась. Либо при скачивании из сети образ диска был поврежден, либо у меня плохо работает cdrom.

В голове крутятся мысли о том, что, конечно, хотелось посмотреть, насколько хорошо работает оконная система, но все же это не критично. Посмотрев на настенные часы, понимаю, что 3 часа ночи - не самое лучшее время для того, чтобы разбираться с неполадками. Ложусь спать с твердым намерением завтра обязательно победить эту досадную ошибку. На следующий день подопытная машина почувствовала на своей шкуре все прелести профилактики и техобслуживания. После этого была начата новая инсталляция NetBSD с полным набором пакетов X Window, завершившаяся успешно.

Как только нужные пакеты установились на жесткий диск, система покажет меню с вопросом, корректно ли у нас настроена сетевая подсистема и можно ли записать настройки, использовавшиеся в этом сеансе как настройки по умолчанию. С радостью соглашаемся и жмем "Yes": все-таки редактировать системные файлы с помощью vi - удовольствие не из самых приятных. После этого наступает черед установить часовой пояс, в котором находится эта машина. Для меня это зона EUROPE/Moscow. Выбираем ее с помощью клавиши "Enter" и выходим из меню, нажав одну за другой клавиши "x" и "Enter". Далее выбираем схему шифрования паролей. Доступны шифры DES и MD5. В большинстве Unix-подобных систем стандартом де факто является DES. Решено было использовать именно его.

Система спросит, не хотим ли мы проинициализировать пароль пользователя root. Изъявляем желание и устанавливаем в качестве пароля что-то очень длинное и сложно-запоминаемое.

Читаем поздравления, говорящие об удачном завершении установки, а когда надоест, нажимаем "OK" и снова попадаем в самое первое меню инсталляции. Теперь нужно перегрузить машину, наконец-то нам пригодилась загадочная опция "Reboot machine".

Следующим сюрпризом для нас будет тот факт, что теперь во время загрузки для отображения сообщений на системную консоль используется шрифт ярко-зеленого цвета. Под конец процедуры загрузки демонов шрифт снова станет белым. Не Unix, а какой то калейдоскоп. Войдя в систему под пользователем root, смотрим состояние сетевых интерфейсов с помощью команды ifconfig -a. Настройки, определенные в процессе инсталляции, сохранились. Затем настраиваем X Windows с помощью программ xf86config или XF86SETUP. Процесс этот ничем от остальных Unix- систем не отличается, поэтому писать о нем не станем. Стоит отметить, что X Windows запустились сразу же без каких-либо ошибок. А вот с русской локализацией консоли разобраться так и не удалось. Возможно методики решения этой проблемы станут темой следующих очерков. Если отклик на данную статью будет достаточно сильным, то, наверно, я буду продолжать писать об освоении NetBSD. На этом, наверно, стоит завершить нашу совместную экскурсию по системе и пожелать вам успехов в освоении этого варианта Unix.


  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor