bsdinstallの全ターゲットを試してみた
前回(FreeBSDをワンライナーでインストールしてみた、の解説 - くんすとの備忘録)に引き続き、bsdinstallネタです。
bsdinstallにはいくつかのターゲットがありますが、とりあえずぜんぶ試してみましょう。
※どんなターゲットがあるのかは、マニュアル(bsdinstall(8))を参照です。
前準備
一旦マルチユーザーモードでログインして、それからshellに移行します。
(/tmpや/varをマウントしてくれるので…)
その後、DHCP設定をします。
dhclient -l /tmp/dhclient.lease.em0 em0
必要に応じてキーボード配列を変更しておきます。
kbdmap
マニュアルに載っている順番に、各種ターゲットを試す
bsdtinstall auto
キーマップの選択が出てきました。
オプションなしで実行した時と同じです。
bsdinstall entropy
ソースによると、
dd if=/dev/random of=$BSDINSTALL_CHROOT/entropy bs=4096 count=1
するらしいです。
bsdinstall mountしてから実行すると、/mnt/entropy が作成されました。
bsdinstall jail <destination>
jail環境を作成します。
※構築済みのFreeBSD環境で実施しました。
mkdir -p /usr/freebsd-dist mkdir aaa bsdinstll jail aaa
(./aaa にjail環境を構築する)
./aaa にFreeBSD Jail環境が構築されました。
bsdinstall script
前回の記事(FreeBSDをワンライナーでインストールしてみた、の解説 - くんすとの備忘録)で使用したので割愛。
bsdinstall keymap
キーボード選択のみを行います。
設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
bsdinstall hostname
ホスト名の設定のみを行います。
設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
bsdinstall netconfig
ネットワーク設定のみを行います。
設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
bsdinstall autopart
パーティションの設定のみを行います。
※パーティションの切り方は自動です
パーティション情報が書き込まれ、設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
bsdinstall zfsboot
zfsの設定のみを行います。
パーティション情報が書き込まれ、設定ファイルが/tmp/bsdinstall_etc/と/tmp/bsdinstall_boot/以下に出力されました。
bsdinstall partedit
パーティションの設定のみを行います。
※autopartとは異なり、こちらはパーティションの切り方は手動設定です。
パーティション情報が書き込まれ、設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
bsdinstall scriptedpart <parameters>
bsdinstall scriptedpart ada0 { 512M freebsd-ufs /, 512M freebsd-swap, 512M freebsd-ufs /var, auto freebsd-ufs /usr }
パーティション情報が書き込まれ、設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
bsdinstall mount
/tmp/bsdinstall_etc/fstab にしたがって、/mnt以下にディスクをマウントします。
マウント後、/tmp/bsdinstall-tmp-fstab が作成されました。
bsdinstall distfetch
ディストリビューションのアーカイブをダウンロードします。
環境設定を行ってから実行
export FTP_PASSIVE_MODE=YES export DISTRIBUTIONS="base.txz kernel.txz" export BSDINSTALL_DISTDIR=/mnt/usr/freebsd-dist export BSDINSTALL_DISTSITE=ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/10.0-RELEASE mkdir -p /mnt/usr/freebsd-dist bsdinstall distfetch
base.txzとkernel.txzが、/mnt/usr/freebsd-dist に落ちてきました。
bsdinstall checksum
ダウンロードしたディストリビューションのアーカイブのチェックサムを検証するらしいですが、何も起こらず……
ちょっとよくわかりません。。。
bsdinstall distextract
ダウンロードしたディストリビューションのアーカイブを解凍します。
bsdinstall distfetchで取ってきたアーカイブが/mnt以下に展開されました。
なお、/mnt/usr/freebsd-dist以下は残っている様子。
bsdinstall rootpass
新環境で、rootユーザのパスワードを設定します。
※/mnt 以下にシステムが存在しないとちゃんと動かない模様
/mnt/etc 以下のパスワード関連のファイルが更新されました
bsdinstall adduser
新環境で、ユーザの追加を行います。
※/mnt 以下にシステムが存在しないとちゃんと動かない模様
/mnt/home以下にホームディレクトリが作成されていました。
bsdinstall services
サービスの選択のみを行います。
設定ファイルが/tmp/bsdinstall_etc/以下に出力されました。
bsdinstall config
/tmp/bsdinstall_etcや/tmp/bsdinstall_boot内のファイルを新環境へコピーします。
※/mnt 以下にシステムが存在しないとちゃんと動かない模様
rc.conf~がrc.confに統合され、新環境に上書きされました。
まとめ
bsdinstallの日本語情報があまり見当たらなかったので、この記事が何かの参考にでもなれば幸いです。
……酔狂ではある。。。