bsdinstallを使ったFreeBSDの自動インストールについて[基本編]
これまで何度か取り上げましたが、FreeBSD 9.0から「bsdinstall」というセットアップツールが登場しました。
これを使用すると、非常に簡単にFreeBSDを自動インストールできます。ここでは、
|
|
を使った自動インストールでの、引数に渡すスクリプトについて調べてみます。
基本形
マニュアルに記載されているサンプルは以下の内容となっています。
|
|
このスクリプトは、シバン行(#!/bin/sh)によって、前半(preamble)と後半(setup script)に分かれます。
前半(preamble)
|
|
前半では、インストールで使用する環境変数の設定を行います。このサンプルで設定されている内容としては、以下の通りです。
- PARTITIONS=ada0
- インストール先のパーテイションはada0
- ※PARTITIONSはscriptedpartターゲットで使用する環境変数
- DISTRIBUTIONS="kernel.txz base.txz"
- インストールするディストリビューションは kernel と base
後半(setup script)
|
|
後半は、インストールが終わった状態から、新環境で実行されるシェルスクリプトです。
サンプルではrc.confの設定とpuppetのインストールを行っています。
風雨のシェルスクリプトなので、パスワードの設定や他の設定ファイルへの書き込みなど色々することができます。
任意のパーティション分割してインストールする
前半(preamble)で定義している環境変数「PARTITIONS」に、基本形では「ada0」のみを定義していますが、ここにscriptedpartで使用するパーティション定義を記述すれば、任意の形でパーティション分割することができます。
前半(preamble)
|
|
上記の設定では以下のようにパーティション分割されます。
- ufs / 1G
- swap 512M
- ufs /var 512M
- ufs /usr 残り
パスワードの設定やユーザーの追加などを行う
後半(setup script)は普通のシェルスクリプトになっているので、そこに初期設定を行うコマンドを記述すればOKです。
後半(setup script)
|
|
上記の設定では以下の設定を行っています
- rootユーザーにパスワード「vagrant」を設定
- 一般ユーザー「vagrant」を作成。パスワードは「vagrant」、ログインシェルは「tcsh」
- pkg installを使って、sudo・curl・bashをインストール