Slide 1

Slide 1 text

シェルスクリプトでFreeBSDインストール自動化 2014/03/01 @zinrai

Slide 2

Slide 2 text

自己紹介 ● Twitter : @zinrai (じんらい) ● blog : zinrai.github.io ● 趣味 : けん玉(四段)

Slide 3

Slide 3 text

ブログに書いてます ● 「シェルスクリプトでFreeBSD 9.1のインストー ル自動化」 http://zinrai.github. io/blog/html/2013/07/20/freebsd_pxeboot. html

Slide 4

Slide 4 text

モチベーション ● 「第15回 FreeBSD勉強会」 インストーラを使わないでFreeBSDをインストー ルする方法 http://atnd.org/events/35877

Slide 5

Slide 5 text

自動化するには、インストーラがなにをしているか 知る必要がある。

Slide 6

Slide 6 text

インストーラってなにしてる ● パーティション作成 : gpart(8) ● ディスクフォーマット : newfs(8) ● デバイスマウント : mount(8) ● ユーザーランド/カーネル展開 ● パスワード設定 : pw(8) ● ネットワーク設定 ● タイムゾーン設定 : tzsetup(8) ● ユーザー作成 : pw(8)

Slide 7

Slide 7 text

ユーザー作成 % 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

Slide 8

Slide 8 text

あとはシェルスクリプトを書くだけ。

Slide 9

Slide 9 text

インストール自動化の構成 ディスクレスブート用のサーバを用意し、ディスクレスブート時にシェルスクリ プトを実行させるという簡単な構成 サーバには2つのシェルスクリプトを用意しておく ● OSインストール用のシェルスクリプトを探して実行するシェルスクリプト (クライアントのMACアドレスを取得し、そのMACアドレスが書かれたシェルスク リプトを実行する) ● OSインストール用シェルスクリプト

Slide 10

Slide 10 text

まとめ パーティション作成してフォーマットしてデバイスマ ウントしてカーネルとユーザーランド展開してfstab 書いてchroot(8)してユーザーアカウント作成して 再起動すればFreeBSDマシンの出来上がり。

Slide 11

Slide 11 text

おわり 突っ込みや質問はツイッターへ