シェルスクリプトでFreeBSDのインストールを自動化するお話
シェルスクリプトでFreeBSDインストール自動化2014/03/01 @zinrai
View Slide
自己紹介● Twitter : @zinrai (じんらい)● blog : zinrai.github.io● 趣味 : けん玉(四段)
ブログに書いてます● 「シェルスクリプトでFreeBSD 9.1のインストール自動化」http://zinrai.github.io/blog/html/2013/07/20/freebsd_pxeboot.html
モチベーション● 「第15回 FreeBSD勉強会」インストーラを使わないでFreeBSDをインストールする方法http://atnd.org/events/35877
自動化するには、インストーラがなにをしているか知る必要がある。
インストーラってなにしてる● パーティション作成 : gpart(8)● ディスクフォーマット : newfs(8)● デバイスマウント : mount(8)● ユーザーランド/カーネル展開● パスワード設定 : pw(8)● ネットワーク設定● タイムゾーン設定 : tzsetup(8)● ユーザー作成 : pw(8)
ユーザー作成% pw useradd -n nanashi -s /bin/tcsh -m平文% print ‘Xd49D4Pj' | pw usermod -n nanashi -h 0ハッシュ% print '$6$zb/9khHuHs2BArHu$UF/tHGPcXOjxL24Y5qG.rZi.I9qMXe67VzdGvUAiKsHFVycK17T81g3pBRMjp8qVve/TweUsHVn.m1.V0Sm5q0’ | pw usermod -n nanashi -H 0
あとはシェルスクリプトを書くだけ。
インストール自動化の構成ディスクレスブート用のサーバを用意し、ディスクレスブート時にシェルスクリプトを実行させるという簡単な構成サーバには2つのシェルスクリプトを用意しておく● OSインストール用のシェルスクリプトを探して実行するシェルスクリプト(クライアントのMACアドレスを取得し、そのMACアドレスが書かれたシェルスクリプトを実行する)● OSインストール用シェルスクリプト
まとめパーティション作成してフォーマットしてデバイスマウントしてカーネルとユーザーランド展開してfstab書いてchroot(8)してユーザーアカウント作成して再起動すればFreeBSDマシンの出来上がり。
おわり突っ込みや質問はツイッターへ