FreeBSDをワンライナーでインストールしてみた、の解説
前回の記事(FreeBSDをワンライナーでインストールしてみた - くんすとの備忘録)の解説です。
前回から一週間も経ってしまいましたが……
前回使用したワンライナーは以下のとおり。
mdmfs -s 100m md1 /tmp && printf 'PARTITIONS=ada0\nDISTRIBUTIONS="base.txz kernel.txz"\n'>/tmp/a && bsdinstall script /tmp/a
ここでやっていることは、
①/tmpの作成
mdmfs -s 100m md1 /tmp
※「bsdinstall」コマンドの使用には、デフォルトでは/tmpが必要です。
②bsdinstallで使用するスクリプトの作成
printf 'PARTITIONS=ada0\nDISTRIBUTIONS="base.txz kernel.txz"\n'>/tmp/a
※出力ファイル
PARTITIONS=ada0 DISTRIBUTIONS="base.txz kernel.txz"
bsdinstallに使用するスクリプトに関する説明は、マニュアル(bsdinstall(8))の「SCRIPTING」の項目に記述されています。
今回の記述内容は、ざっくり
- インストール先ディスク:ada0 ※パーティション分割は自動
- ディストリビューション選択:base.txz、kernel.txz
という意味になります。
手動インストール時と照合すると、以下の設定をした時と同じと思われます。
③bsdinstallの実行
bsdinstall script /tmp/a
「script」ターゲット(引数)を付けてbsdinstallを実行すると、引数に渡したスクリプトの内容を元に、自動インストールが実行されます。
(詳細は後日掘り下げたい……)
ちなみに、記述内容がおかしいと、実行直後にエラーになります。