46
Preseeding Debian Yuryu@Kansai Debian Meeting 69 2012/02/24

Preseeding Debian

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Preseeding Debian

Preseeding Debian

Yuryu@Kansai Debian Meeting 692012/02/24

Page 2: Preseeding Debian

本日のあらすじ

自己紹介

Preseed

Partitioning

その他 troubleshoot

Page 3: Preseeding Debian

自己紹介

Page 4: Preseeding Debian

Yuryu (twitter: @Yuryu)

某社でインフラエンジニアしてます

potato → woody → ( 浮気 ) → Ubuntu(Gusty) → ... → Ubuntu(Precise)

会社では Debian 使ってます

好きなコマンドは xargs

Page 5: Preseeding Debian

Preseed

Page 6: Preseeding Debian

Preseed してますか?

Page 7: Preseeding Debian

Debian Installer の応答ファイル

すべての選択肢が選べる

PXE と組み合わせると強い

単体でも使えます ( 少々面倒 )

Preseed とは

Page 8: Preseeding Debian
Page 9: Preseeding Debian
Page 10: Preseeding Debian

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

Page 11: Preseeding Debian
Page 12: Preseeding Debian

boot オプションの必要性

Preseed ファイルが読まれるのは、ネットワークの設定が終わってから

ネットワーク設定前にもインストーラーの質問はある

→ ブートオプションとして渡す

長いので手打ちは無理、 PXE を使う

Page 13: Preseeding Debian

expert install

expert options → automated install

途中で preseed ファイルを指定できる

とりあえず試すにはこっち

Page 14: Preseeding Debian
Page 15: Preseeding Debian

url

preseed ファイルの場所

http, ftp, tftp で指定

https は使えない (!)

Page 16: Preseeding Debian

ファイルの中身

「 d-i 項目名 指定」の羅列

Page 17: Preseeding Debian

ファイルの書き方

基本的にはサンプル通り

でも、いくつか落とし穴が ...

一番大変なのが partitioning

Page 18: Preseeding Debian

partitioning

Page 19: Preseeding Debian

partitioning

d-i partman-auto/choose_recipe

atomic - / 一発

home - /home だけ分ける

multi - /home, /usr, /var, /tmp

d-i partman-auto/expert_recipe

Page 20: Preseeding Debian

recipe

Page 21: Preseeding Debian

レシピ形式

レシピ名 :: 最低容量 (MB) 優先度 最大容量 FS パーティション内容 .

500 1000 -1 ext4 \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ /home }

Page 22: Preseeding Debian

容量

最大を -1 にすると空き容量をすべて使う

優先度は数字が大きなほうが低い

最小=最大にせず 100MB 程度の幅をもたせる

Page 23: Preseeding Debian

method

format

通常通りフォーマットして使用

swap

スワップパーティションとして使用

keep

何もせず区画だけ作る

Page 24: Preseeding Debian

ファイルシステム

容量の右側に書くものと、 filesystem{ }

基本的には同じ

ext[2-4], xfs, btrfs, jfs, linux-swap

keep のときは無視される (free でも ok)

Page 25: Preseeding Debian

お約束

冗長に見えても、省略できないもの

format{ }

use_filesystem{ }

filesystem{ ext4 }

Page 26: Preseeding Debian

ハマりました

Page 27: Preseeding Debian
Page 28: Preseeding Debian

primary

$primary{ } プライマリ必須指定

$logical{ } もありそう?

実は無い

省略すると logical になる

Page 29: Preseeding Debian

一行で書く

行末に \ を書いて、一行につなげて書く

\ の後にスペースがあるとそこで切れます

Page 30: Preseeding Debian

レシピ名

レシピ名が必須

partman-auto/choose_recipe とは無関係

expert recipe 使うなら書いてはいけない

何を書いても動作に関係なし ...

Page 31: Preseeding Debian

スペースの扱い

基本的にはスペース必須

開きカッコの手前はスペース不可

○ method{_format_}

☓ method_{_format_}

grep でパースしてるので厳格です ...

Page 32: Preseeding Debian

レシピ、認識されてる?

/tmp/expert_recipe

実際に使われたレシピが入る

Page 33: Preseeding Debian

その他条件文

$iflabel{ label } - ラベルが一致

$defaultignore{ } - LVM を使わない時無視

$lvmok{ } - LVM にしても良い

$lvmignore{ } - LVM の場合は無視

Page 34: Preseeding Debian

パーティション再利用

既存のパーティションを再利用

$reusemethod{ }

method(format, swap) が同一なら再利用

主に biosgrub, swap 向け ?

$iflabel{ label } と組み合わせる

http://lists.debian.org/debian-boot/2011/04/msg00333.html

Page 35: Preseeding Debian

その他 troubleshoot

Page 36: Preseeding Debian

d-i じゃない行もある

d-i で始まらない行もある

tasksel

popularity-contest

コピペ事故に注意

Page 37: Preseeding Debian

止まったら

syslog を確認

INPUT ... の行がパラメーター名

Page 38: Preseeding Debian

ログ

Alt+F4 のログ

インストール中 /var/log/syslog

インストール後 /var/log/installer/syslog

DEBCONF_DEBUG が必須

Page 39: Preseeding Debian

こわくないよ

debian installer の実態はシェルスクリプト

各ディレクトリを for で順に呼んでる

項目名で grep してみるとヒントが

Page 40: Preseeding Debian

debian/*.templates

debian-installer の各種パッケージの debian/*.templates

変数名、型、説明が揃ってる

リファレンス代わりになります

Page 41: Preseeding Debian

debconf-get-selections

インストール済み OS から設定を取得

debconf-get-selections --installer

デフォルト値も含めて大量に出る

必要な物を取捨選択する必要あり

Page 42: Preseeding Debian

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

Page 43: Preseeding Debian

まとめ

Page 44: Preseeding Debian

困ったら syslog を観る

recipe はスペースに気をつける

DEBCONF_DEBUG=5 重要!

Page 45: Preseeding Debian

Questions?

Page 46: Preseeding Debian

Thank you!

@Yuryu