SolarisにOracleをインストールした程度の容量では、バックアップアーカイブはDVDメディア1枚の中に余裕で収まるはずだが、
使用するにつれ、データ量が増加してくるとメディア1枚収まらなくなる。この場合は一部のディレクトリ以下のファイルをFlashの圧縮よりも高圧縮して、
JumpStart ディレクトリにコピーしておく。これを、システムがリブートする前に作業を実行するスクリプト、
すなわちfinish スクリプトにそのファイルを解凍して復元する処理を記述しておくことにより対処する。
- 使用状況の調査
- duコマンドを使用して各ディレクトリのディスク使用量を表示する。概要だけでよいので、結果をgrepでGバイトを超過するものに絞る。
- 上記の例から、/opt以下を対象にすることにする。
- シェルスクリプトへの追加
「第10回 ブータブルなリカバリディスクの作成」のシェルスクリプトを参照されたい。同シェルスクリプトに追加変更を行う。
- /opt以下をtarで固めて圧縮する、かつその部分はFlashアーカイブには含めない。
- 「finish」という名前のfinishスクリプトを実行するようにruleファイルを変更する。
- finishスクリプトを作成して、実行権限を与える。なお、スクリプトにはログホストとホスト名の設定も加えたので、これに関わる手入力は必要なくなる。
- シェルスクリプト全体
「第10回 ブータブルなリカバリディスクの作成」で作成したシェルスクリプトとの相違は網伏せの部分である。
- 注意点
- tarはcd
してから相対パス(.)で指定して固めることにより、相対パスで展開させる。これはインストール時にインストール先のルートパスは/a以下にマウントされるため、絶対パスで作成しては展開できないためだ。つまり/opt以下のファイルを、/a/opt以下に展開させる。
- より少ない容量で、より正確に行うならシェルスクリプトを2つに分けて前半をシングルモード(init s)下でtar、flarcreate の処理を行い。残りを通常モード(init 3)に戻して、インストールメディアをマウントさせて行う。なお、下記の除外はもともとシングルモードでは外部ドライブはマウントされていないのコメントアウトする。
- 同様にメディア1枚に収まらない場合は、その部分を除外オプション(-x)ではずし、別メディアにシェルスクリプトと同じようなことをtar、gzipで行う。