Blog, The

1 月 22 日生まれ、ブログ座です。

NetBSD インストールメモ

1年前ぐらいのメモ。結構色々書いてるのに下書きのままだったので公開してみる。

最近 Micro SD に NetBSD仮想マシンを放り込んで持ち歩くってことをしてて、環境構築で何かとつまづいたのでメモ。

NetBSD のインストール

Full Installation を選択。

最初は Custom Instllation で最小限の構成となるようにしてたんですが、

  • gcc が入ってなくてパッケージのインストールで詰む。
  • コンパイラ入れたのはいいけど X11 関連のエラーが出まくって詰む。

と、僕の知識じゃ何かと詰んでしまう感じなので、おとなしく身の丈にあった Full Installation を選ぶことにしました。

ネットワークの設定

仮想化には VirtualBox を使ってます。
ネットワークは様々な構成を選択できるんですが、今回はホスト OS とのやり取りはホストオンリーネットワーク、外部とのやり取りは NAT を使うことにしました。

まずはホストオンリー。こいつは固定 IP にします。
/etc/ifconfig.wm0 (wm0 はインターフェース名。環境によって変わるかも) を以下の内容で作成します。

192.168.56.201 netmask 255.255.255.0 media autoselect

続いて NAT。こいつは DHCP にしました。
/etc/rc.conf に以下の内容を追記します。

dhclient=YES
dhclient_flags="wm1"

その他 rc.conf の設定

/etc/rc.conf に以下を追加。
ホストネームの設定、SSH サーバーの有効化、BIOS 時刻を現地時間として使用するように設定してます。

hostname=netbsd
sshd=YES
rtclocaltime=YES

pkgsrc のインストール

NetBSD の標準パッケージ管理ツール。
FTP からダウンロードして、/usr 以下に展開します。

# ftp ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.gz
# tar -xzf pkgsrc.tar.gz -C /usr

インストールするパッケージのディレクトリ (/usr/pkgsrc/{カテゴリ}/{パッケージ} みたいな感じ) に移動して、make install するってのが基本的な使い方のようです。

インストールしたパッケージは /usr/pkg 以下に設置されます。

各種パッケージのインストール

bash

ログインシェルは bash がいいのでインストール。
zsh はいつか試す。いつか。

# cd /usr/pkgsrc/shells/bash
# make install && make clean clean-depends
sudo

セキュリティっていうより、単純に使用感に慣れちゃってるのでインストール。

# cd /usr/pkgsrc/security/sudo
# make install && make clean clean-depends

wheel グループのユーザーに対して、sudo の実行を許可するよう設定します。
visudo で sudoers ファイルの以下の行をコメントアウトします。

%wheel ALL=(ALL) ALL
emacs

GUI は不要なので emacs じゃなくて emacs-nox11 っていうパッケージにしました。

# cd /usr/pkgsrc/editors/emacs-nox11
# make install && make clean clean-depends
git

デフォルトだと GUI のツールもインストールされるらしい。
不要であれば、事前に /etc/mk.conf (なければ作成) に以下の行を追加しとく。

PKG_OPTIONS.scmgit=-scmgit-gui

あとは普通にインストール。

# cd /usr/pkgsrc/devel/scmgit
# make install && make clean clean-depends
mozilla-rootcerts

git で httpsリポジトリをクローンするときとかにエラーになっちゃうので、ルート証明書をインストールしとく。

# cd /usr/pkgsrc/security/mozilla-rootcerts
# make install && make clean clean-depends

インストールしたルート証明書を OpenSSL のディレクトリに展開。

# cd /etc/openssl/certs
# mozilla-rootcerts extract
# mozilla-rootcerts rehash
sun-jdk6

Java のプログラムを書くことは滅多にないけど、Closure Compiler とかは使うので。

事前に Oracle のサイトから以下のファイルをダウンロードし、/usr/pkgsrc/distfiles に設置しておきます。

加えて、/etc/mk.conf に以下を追記します。

ACCEPTABLE_LICENSES+= sun-jdk6-license
ACCEPTABLE_LICENSES+= sun-jre6-license

あとは普通にインストール。

# cd /usr/pkgsrc/lang/sun-jdk6
# make install && make clean clean-depends

ユーザーの追加と設定

ごくプライベートな環境とはいえ、root しかいないってのは精神衛生上よくないので。

# groupadd tkmsaoi
# useradd -g tkmsaoi -G wheel -s /usr/pkg/bin/bash -m tkmsaoi
# passwd tkmsaoi
dotfiles

tkmsaoi/dotfiles · GitHub

$ git clone https://github.com/tkmsaoi/dotfiles.git
$ cd dotfiles
$ ./install.sh
rbenv

ずっと rvm を使ってたんですが、試してみました。
rvm も優れたツールですが、rbenv で必要十分ですね。

その他

普通に使ってる分には気にならないんですが、環境構築の時はさすがに Micro SD の書き込み速度が気になります。
環境構築を終えるまではローカルディスクでやったほうがいいかもしれません。


構築したことに満足して、実はそんなに使ってない。あるある。

1年後。その Micro SD の所在は不明です。