суббота, 9 мая 2009 г.

Раскручиваем свежеустановленную NetBSD

Решил записать действия по первичной настройке NetBSD, которую я гоняю в виртуалке. В отличие от привычных Linux'ов, эту систему нужно сразу после установки немного донастроить.

Для начала нужно настроить сеть. Смотрим список доступных интерфейсов:
$ ifconfig -a
В моей локальной сети есть DHCP-сервер, поэтому я настроил сетевой интерфейс по DHCP.
# dhclient ne2
Теперь с помощью консольного ftp-клиента скачаем файл ftp.netbsd.org/pub/pkgsrc/pkgsrc-2009Q1/pkgsrc-2009Q1.tar.bz2 в каталог /usr и распакуем его:
# cd /usr
# ftp ftp://ftp.netbsd.org/pub/pkgsrc/pkgsrc-2009Q1/pkgsrc-2009Q1.tar.bz2
# tar xjvf pkgsrc-2009Q1.tar.bz2
Этот архив содержит систему управления пакетами pkgsrc, аналогичную ports из FreeBSD. Суффикс 2009Q1 указывает на то, что это - первая стабильная ветка в 2009 году.

Запускаем процедуру bootstraping'а - самоустановки системы pkgsrc:
# cd /usr/pkgsrc/bootstrap
# ./bootstrap
И ждём, когда система соберёт минимальный набор инструментов для дальнейшего её использования.

В общем и целом система очень сильно напоминает ports FreeBSD:
  • Система ports располагается в каталоге /usr/ports, а pkgsrc - в каталоге /usr/pkgsrc.
  • Система ports устанавливает программы каталог /usr/local, а pkgsrc - в каталог /usr/pkg.
  • В системе ports главный конфигурационный файл находится в файле /etc/mk.conf, а у pkgsrc - в /usr/pkg/etc/mk.conf.
  • В системе ports для поиска порта используются команды make search name=<имя_пакета> и make search key=<ключевое_слово>, а в системе pkgsrc - только make search key=<ключевое_слово_или_имя_пакета>.
  • В системе ports для выбора опций сборки порта используется команда make config, а в pkgsrc доступные опции можно посмотреть с помощью команды make show-options и задать их при сборке в командной строке make, в переменной окружения PKG_DEFAULT_OPTIONS, PKG_DEFAULT_OPTIONS.<имя пакета> или прописать эти переменные в файле /usr/pkg/etc/mk.conf.
Я попробовал установить wget из pkgsrc. В виртуальной машине на копиляцию perl, digest и wget ушло около 3 часов. Мне это не понравилось, поэтому я решил попробовать воспользоваться установкой уже готовых двоичных пакетов.

Для этого найдём подходящее зеркало на странице http://www.netbsd.org/mirrors/#ftp, прописываем выбранное зеркало в переменную окружения PKG_PATH и экспортируем её:
# PKG_PATH="ftp://ftp.fr.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0_2009Q1/All"
# export PKG_PATH
Установим привычный bash:
# pkg_add bash
Посмотрим где он лежит:
# which bash
Пропишем его у root оболочкой по-умолчанию:
# vipw
и заменяем /bin/sh на /usr/pkg/bin/bash
Теперь настроим привычный вид приглашения, любоваться на название оболочки и номер её версии глупо - это не самая востребованная информация. Пропишем приглашение вида "пользователь@узел каталог$ " или "пользователь@узел каталог# " в зависимости от того, является ли текущий пользователь пользователем root. Для этого в файл /root/.profile пропишем строчку:
PS1='\u@\h \w\$ '
Завершим сеанс и войдём в систему снова. Будет запущен привычный bash с привычным удобным приглашением.

Ну и наконец, пропишем немного в начальную конфигурацию системы /etc/rc.conf:
hostname="netbsd.ufanet.ru"
dhclient=YES
dhclient_flags="ne2"
Ссылки:
  1. Настройка DHCP-клиента в NetBSD
  2. Список FTP-зеркал NetBSD
  3. Руководство по системе pkgsrc

3 комментария:

hasilzu комментирует...

Спасибо.

Анонимный комментирует...

по адресу ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/ находятся два вида бинарников 5.0_2009Q1 и "просто" 5.0. какая разница между ними?

morbo комментирует...

Сейчас никакой разницы. Когда выйдет pkgsrc-2009Q2, то ссылку 5.0 поменяют и она будет соответствовать каталогу 5.0_2009Q2.