それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

httpに置いたpreseed で自動インストール

前回は initrd.gz を再構成したpreseedをやりました。

でもちょっと変更するのに、initrdを作りなおすのも面倒だし。preseed.cfg を書き換えるだけで済ませたい。

http に設置した preseed.cfg を取得して展開させたい

とっても簡単

  • preseed.cfg を書いて
  • http サーバーにファイル置いて
  • 起動オプションにurlを書く

2回目からは preseed.cfg を編集するだけで済む

preseed.cfg の設置

cp preseed.cfg  /var/www/preseed.cfg 

起動メニューを変更

これも、grub などのブートメニューを手動で編集すれば済むのです

わたしはPXE環境なので、pxe-menu.cfg/defaultをこんな風に書きました。

default syslinux/menu.c32
timeout 30
ontimeout debian-installer-text
label live debian
    linux /debian-live/live/vmlinuz1
    initrd /debian-live/live/initrd1.img
    append boot=live config netboot=nfs nfsroot=192.168.1.10:/var/tftpd/debian-live quiet splash

label debian-installer-text
        menu label ^Install Debian 
        menu default
        kernel debian-installer/i386/linux
        append auto=true vga=788 initrd=debian-installer/i386/initrd.gz url=http://192.168.1.1/preseed.cfg console-setup/charmap=UTF-8 console-keymaps-at/keymap=jp console-setup/layoutcode=jp console-setup/ask_detect=false pkgsel/language-pack-patterns=pkgsel/install-language-support=false interface=eth0 hostname=debian domain=local -- quiet

なんでこんなに長いのか。

起動オプション長い。。。

起動してpreseedを読み込むだけであれば、これだけで済むのですが。

append 
  auto=true
  initrd=debian-installer/i386/initrd.gz
  url=http://192.168.1.1/preseed.cfg

preseed を読み込むためにネットワーク設定が必要

つまり、ネットワーク未設定ではpreseedが読み込めないので、インストール画面からネットワーク設定は手動でやる必要があって自動化出来ない。

またインストールでネットワーク設定画面まで到達するのにキーボード設定が必要。 こちらも自動化できない。

そこで初回のネットワーク設定をappendする

  • キーボードと地域言語設定
  • ネットワーク設定

これらを起動オプションで渡すと解決

それがこのへんになる。

console-setup/charmap=UTF-8
console-keymaps-at/keymap=jp
console-setup/layoutcode=jp
console-setup/ask_detect=false
pkgsel/language-pack-patterns=pkgsel/install-language-support=false
interface=eth0
hostname=debian
domain=local

初期設定➝自動取得したらお任せ

起動オプションによる初期設定が上手く行っていれば、preseedを取得してインストールが開始する

tailf -f /var/log/apache/access.log

アクセスログでも監視しながらDeibanインストーラーがアクセスするか確認すればいいかな。

これで相当楽になる。

PXEブート ➝ ブートメニュ ➝ preseed.cfg でインストール

ここまでやれば相当楽にインストールができるようになる。

複数台やってみた結果

複数台やってみるにはネットワーク・インストールはやっぱり遅くなる。

何度もインストールするには「持ってこい」な設定のネットワークインストールだけど、

一度に大量にインストするなら、トラフィックが・・・

ということで、 DVD イメージを丸まるローカルにおいておいたほうが速いかもしれないです。

また、aptでアップデートが走るので apt-chacher もあったほうがいいかな。

次回は preseedの中身ついて

とても長いpreseedの中身について書こうと思います。