$30 off During Our Annual Pro Sale. View Details »

freebsd_shellscript_install

zinrai
March 02, 2014

 freebsd_shellscript_install

シェルスクリプトでFreeBSDのインストールを自動化するお話

zinrai

March 02, 2014
Tweet

More Decks by zinrai

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide