Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Preseeding DebianYuryu@Kansai Debian Meeting 69         2012/02/24
本日のあらすじ自己紹介PreseedPartitioningその他troubleshoot
自己紹介
Yuryu (twitter: @Yuryu)某社でインフラエンジニアしてますpotato → woody → (浮気) → Ubuntu(Gusty)→ ... → Ubuntu(Precise)会社では Debian 使ってます好きなコマン...
Preseed
Preseed してますか?
Preseed とはDebian Installer の応答ファイルすべての選択肢が選べるPXE と組み合わせると強い  単体でも使えます(少々面倒)
locale=en_US language=en country=JP console-      keymaps-at/keymap=jp106 keyboard- configuration/xkb-keymap=jp106 interfa...
bootオプションの必要性Preseed ファイルが読まれるのは、ネットワークの設定が終わってからネットワーク設定前にもインストーラーの質問はある→ブートオプションとして渡す長いので手打ちは無理、PXE を使う
expert installexpert options → automated install途中で preseed ファイルを指定できるとりあえず試すにはこっち
urlpreseed ファイルの場所http, ftp, tftp で指定https は使えない(!)
ファイルの中身「d-i 項目名 指定」の羅列
ファイルの書き方基本的にはサンプル通りでも、いくつか落とし穴が... 一番大変なのが partitioning
partitioning
partitioningd-i partman-auto/choose_recipe  atomic - / 一発  home - /home だけ分ける  multi - /home, /usr, /var, /tmpd-i partman-...
recipe
レシピ形式レシピ名 :: 最低容量(MB) 優先度 最大容量 FS パーティション内容 .500 1000 -1 ext4  method{ format } format{ }  use_filesystem{ } filesystem{ e...
容量最大を -1 にすると空き容量をすべて使う優先度は数字が大きなほうが低い最小=最大にせず100MB程度の幅をもたせる
methodformat  通常通りフォーマットして使用swap  スワップパーティションとして使用keep  何もせず区画だけ作る
ファイルシステム容量の右側に書くものと、filesystem{ }基本的には同じext[2-4], xfs, btrfs, jfs, linux-swapkeep のときは無視される(free でもok)
お約束冗長に見えても、省略できないもの format{ } use_filesystem{ } filesystem{ ext4 }
ハマりました
primary$primary{ } プライマリ必須指定$logical{ } もありそう?  実は無い  省略すると logical になる
一行で書く行末に  を書いて、一行につなげて書く の後にスペースがあるとそこで切れます
レシピ名レシピ名が必須partman-auto/choose_recipe とは無関係  expert recipe 使うなら書いてはいけない何を書いても動作に関係なし...
スペースの扱い基本的にはスペース必須開きカッコの手前はスペース不可 ○ method{_format_} ☓ method_{_format_}grep でパースしてるので厳格です...
レシピ、認識されてる?/tmp/expert_recipe実際に使われたレシピが入る
その他条件文$iflabel{ label } - ラベルが一致$defaultignore{ } - LVM を使わない時無視$lvmok{ } - LVM にしても良い$lvmignore{ } - LVM の場合は無視
パーティション再利用既存のパーティションを再利用$reusemethod{ }   method(format, swap) が同一なら再利用   主に biosgrub, swap 向け?$iflabel{ label } と組み合わせるht...
その他troubleshoot
d-i じゃない行もあるd-i で始まらない行もある tasksel popularity-contestコピペ事故に注意
止まったらsyslog を確認INPUT ... の行がパラメーター名
ログAlt+F4 のログインストール中 /var/log/syslogインストール後 /var/log/installer/syslogDEBCONF_DEBUG が必須
こわくないよdebian installer の実態はシェルスクリプト各ディレクトリを for で順に呼んでる項目名で grep してみるとヒントが
debian/*.templatesdebian-installer の各種パッケージのdebian/*.templates変数名、型、説明が揃ってるリファレンス代わりになります
debconf-get-selectionsインストール済みOSから設定を取得debconf-get-selections --installerデフォルト値も含めて大量に出る  必要な物を取捨選択する必要あり
Ubuntu 対応基本的には同じいくつか追加の質問   d-i pkgsel/update-policy select none   d-i user-setup/allow-password-weak boolean true   d-i u...
まとめ
困ったら syslog を観るrecipe はスペースに気をつけるDEBCONF_DEBUG=5 重要!
Questions?
Thank you!   @Yuryu
Preseeding Debian
Preseeding Debian
Preseeding Debian
Preseeding Debian
Preseeding Debian
Upcoming SlideShare
Loading in …5
×

Preseeding Debian

4,384 views

Published on

at Kansai Debian Metting 69
Debian の自動化インストール preseed について、特にパーティションの切り方を説明します。

Published in: Technology

Preseeding Debian

  1. 1. Preseeding DebianYuryu@Kansai Debian Meeting 69 2012/02/24
  2. 2. 本日のあらすじ自己紹介PreseedPartitioningその他troubleshoot
  3. 3. 自己紹介
  4. 4. Yuryu (twitter: @Yuryu)某社でインフラエンジニアしてますpotato → woody → (浮気) → Ubuntu(Gusty)→ ... → Ubuntu(Precise)会社では Debian 使ってます好きなコマンドは xargs
  5. 5. Preseed
  6. 6. Preseed してますか?
  7. 7. Preseed とはDebian Installer の応答ファイルすべての選択肢が選べるPXE と組み合わせると強い 単体でも使えます(少々面倒)
  8. 8. locale=en_US language=en country=JP console- keymaps-at/keymap=jp106 keyboard- configuration/xkb-keymap=jp106 interface=eth0 hostname=debian domain=local url=http://holo.yuryu.jp/preseed.cfg DEBCONF_DEBUG=5
  9. 9. bootオプションの必要性Preseed ファイルが読まれるのは、ネットワークの設定が終わってからネットワーク設定前にもインストーラーの質問はある→ブートオプションとして渡す長いので手打ちは無理、PXE を使う
  10. 10. expert installexpert options → automated install途中で preseed ファイルを指定できるとりあえず試すにはこっち
  11. 11. urlpreseed ファイルの場所http, ftp, tftp で指定https は使えない(!)
  12. 12. ファイルの中身「d-i 項目名 指定」の羅列
  13. 13. ファイルの書き方基本的にはサンプル通りでも、いくつか落とし穴が... 一番大変なのが partitioning
  14. 14. partitioning
  15. 15. partitioningd-i partman-auto/choose_recipe atomic - / 一発 home - /home だけ分ける multi - /home, /usr, /var, /tmpd-i partman-auto/expert_recipe
  16. 16. recipe
  17. 17. レシピ形式レシピ名 :: 最低容量(MB) 優先度 最大容量 FS パーティション内容 .500 1000 -1 ext4 method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ /home }
  18. 18. 容量最大を -1 にすると空き容量をすべて使う優先度は数字が大きなほうが低い最小=最大にせず100MB程度の幅をもたせる
  19. 19. methodformat 通常通りフォーマットして使用swap スワップパーティションとして使用keep 何もせず区画だけ作る
  20. 20. ファイルシステム容量の右側に書くものと、filesystem{ }基本的には同じext[2-4], xfs, btrfs, jfs, linux-swapkeep のときは無視される(free でもok)
  21. 21. お約束冗長に見えても、省略できないもの format{ } use_filesystem{ } filesystem{ ext4 }
  22. 22. ハマりました
  23. 23. primary$primary{ } プライマリ必須指定$logical{ } もありそう? 実は無い 省略すると logical になる
  24. 24. 一行で書く行末に を書いて、一行につなげて書く の後にスペースがあるとそこで切れます
  25. 25. レシピ名レシピ名が必須partman-auto/choose_recipe とは無関係 expert recipe 使うなら書いてはいけない何を書いても動作に関係なし...
  26. 26. スペースの扱い基本的にはスペース必須開きカッコの手前はスペース不可 ○ method{_format_} ☓ method_{_format_}grep でパースしてるので厳格です...
  27. 27. レシピ、認識されてる?/tmp/expert_recipe実際に使われたレシピが入る
  28. 28. その他条件文$iflabel{ label } - ラベルが一致$defaultignore{ } - LVM を使わない時無視$lvmok{ } - LVM にしても良い$lvmignore{ } - LVM の場合は無視
  29. 29. パーティション再利用既存のパーティションを再利用$reusemethod{ } method(format, swap) が同一なら再利用 主に biosgrub, swap 向け?$iflabel{ label } と組み合わせるhttp://lists.debian.org/debian-boot/2011/04/msg00333.html
  30. 30. その他troubleshoot
  31. 31. d-i じゃない行もあるd-i で始まらない行もある tasksel popularity-contestコピペ事故に注意
  32. 32. 止まったらsyslog を確認INPUT ... の行がパラメーター名
  33. 33. ログAlt+F4 のログインストール中 /var/log/syslogインストール後 /var/log/installer/syslogDEBCONF_DEBUG が必須
  34. 34. こわくないよdebian installer の実態はシェルスクリプト各ディレクトリを for で順に呼んでる項目名で grep してみるとヒントが
  35. 35. debian/*.templatesdebian-installer の各種パッケージのdebian/*.templates変数名、型、説明が揃ってるリファレンス代わりになります
  36. 36. debconf-get-selectionsインストール済みOSから設定を取得debconf-get-selections --installerデフォルト値も含めて大量に出る 必要な物を取捨選択する必要あり
  37. 37. Ubuntu 対応基本的には同じいくつか追加の質問 d-i pkgsel/update-policy select none d-i user-setup/allow-password-weak boolean true d-i user-setup/encrypt-home boolean false詳しくは https://help.ubuntu.com/lts/installation-guide/i386/preseed-contents.html
  38. 38. まとめ
  39. 39. 困ったら syslog を観るrecipe はスペースに気をつけるDEBCONF_DEBUG=5 重要!
  40. 40. Questions?
  41. 41. Thank you! @Yuryu

×