SlideShare a Scribd company logo
1 of 46
Preseeding Debian

Yuryu@Kansai Debian Meeting 69
         2012/02/24
本日のあらすじ


自己紹介

Preseed

Partitioning

その他troubleshoot
自己紹介
Yuryu (twitter: @Yuryu)

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

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

会社では Debian 使ってます

好きなコマンドは xargs
Preseed
Preseed してますか?
Preseed とは


Debian Installer の応答ファイル

すべての選択肢が選べる

PXE と組み合わせると強い

  単体でも使えます(少々面倒)
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
bootオプションの必要性

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

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

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

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


expert options → automated install

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

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


preseed ファイルの場所

http, ftp, tftp で指定

https は使えない(!)
ファイルの中身

「d-i 項目名 指定」の羅列
ファイルの書き方


基本的にはサンプル通り

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

 一番大変なのが partitioning
partitioning
partitioning

d-i partman-auto/choose_recipe

  atomic - / 一発

  home - /home だけ分ける

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

d-i partman-auto/expert_recipe
recipe
レシピ形式

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

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


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

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

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

format

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

swap

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

keep

  何もせず区画だけ作る
ファイルシステム


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

基本的には同じ

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

keep のときは無視される(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 } と組み合わせる

http://lists.debian.org/debian-
boot/2011/04/msg00333.html
その他troubleshoot
d-i じゃない行もある


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

 tasksel

 popularity-contest

コピペ事故に注意
止まったら

syslog を確認

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


Alt+F4 のログ

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

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

DEBCONF_DEBUG が必須
こわくないよ


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

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

項目名で grep してみるとヒントが
debian/*.templates


debian-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 user-setup/encrypt-home boolean false

詳しくは https://help.ubuntu.com/lts/installation-
guide/i386/preseed-contents.html
まとめ
困ったら syslog を観る

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

DEBCONF_DEBUG=5 重要!
Questions?
Thank you!
   @Yuryu

More Related Content

What's hot

プログラミング作法
プログラミング作法プログラミング作法
プログラミング作法
Kota Uchida
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用
Ruo Ando
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
Takuto Matsuu
 
私がPerlを使う理由
私がPerlを使う理由私がPerlを使う理由
私がPerlを使う理由
Yohei Azekatsu
 
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
Tsuyoshi Yamada
 

What's hot (20)

FreeBSDのブートプロセス
FreeBSDのブートプロセスFreeBSDのブートプロセス
FreeBSDのブートプロセス
 
シグナル
シグナルシグナル
シグナル
 
本格的に始めるzsh
本格的に始めるzsh本格的に始めるzsh
本格的に始めるzsh
 
Slide
SlideSlide
Slide
 
プログラミング作法
プログラミング作法プログラミング作法
プログラミング作法
 
Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入
 
【学習メモ#5th】12ステップで作る組込みOS自作入門
【学習メモ#5th】12ステップで作る組込みOS自作入門【学習メモ#5th】12ステップで作る組込みOS自作入門
【学習メモ#5th】12ステップで作る組込みOS自作入門
 
【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門
 
Perl Parser Hacks vol.2
Perl Parser Hacks vol.2Perl Parser Hacks vol.2
Perl Parser Hacks vol.2
 
シェル入門
シェル入門シェル入門
シェル入門
 
Perlでつくったものとか
PerlでつくったものとかPerlでつくったものとか
Perlでつくったものとか
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
 
【学習メモ#11th】12ステップで作る組込みOS自作入門
【学習メモ#11th】12ステップで作る組込みOS自作入門 【学習メモ#11th】12ステップで作る組込みOS自作入門
【学習メモ#11th】12ステップで作る組込みOS自作入門
 
【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門 【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門
 
私がPerlを使う理由
私がPerlを使う理由私がPerlを使う理由
私がPerlを使う理由
 
【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門 【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門
 
【学習メモ#6th】12ステップで作る組込みOS自作入門
【学習メモ#6th】12ステップで作る組込みOS自作入門 【学習メモ#6th】12ステップで作る組込みOS自作入門
【学習メモ#6th】12ステップで作る組込みOS自作入門
 
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
 

Similar to Preseeding Debian

Hatochan's Resume 20130216@Koedolug
Hatochan's Resume 20130216@KoedolugHatochan's Resume 20130216@Koedolug
Hatochan's Resume 20130216@Koedolug
Kentaro Hatori
 
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことWebサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
TrinityT _
 
自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう
Masahiko Hashimoto
 
サーバーだけじゃない! Linux デスクトップを使い倒そう! その1
サーバーだけじゃない! Linux デスクトップを使い倒そう! その1サーバーだけじゃない! Linux デスクトップを使い倒そう! その1
サーバーだけじゃない! Linux デスクトップを使い倒そう! その1
Fuminobu Takeyama
 

Similar to Preseeding Debian (20)

Prefixから始めるgentoo生活
Prefixから始めるgentoo生活Prefixから始めるgentoo生活
Prefixから始めるgentoo生活
 
NGS速習コース:UNIXの基礎の理解/Linux導入
NGS速習コース:UNIXの基礎の理解/Linux導入NGS速習コース:UNIXの基礎の理解/Linux導入
NGS速習コース:UNIXの基礎の理解/Linux導入
 
FreeBSDで行こう for small server
FreeBSDで行こう for small serverFreeBSDで行こう for small server
FreeBSDで行こう for small server
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
 
Hatochan's Resume 20130216@Koedolug
Hatochan's Resume 20130216@KoedolugHatochan's Resume 20130216@Koedolug
Hatochan's Resume 20130216@Koedolug
 
Btrfsの基礎 part1 機能編
Btrfsの基礎 part1 機能編Btrfsの基礎 part1 機能編
Btrfsの基礎 part1 機能編
 
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことWebサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
 
initramfsについて
initramfsについてinitramfsについて
initramfsについて
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ
 
What is chef
What is chefWhat is chef
What is chef
 
とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。
 
Gentoo Linuxの紹介
Gentoo Linuxの紹介Gentoo Linuxの紹介
Gentoo Linuxの紹介
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
 
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した
 
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and DracutIntroduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and Dracut
 
PHP With Windows binary
PHP With Windows binaryPHP With Windows binary
PHP With Windows binary
 
systemdを始めよう
systemdを始めようsystemdを始めよう
systemdを始めよう
 
DebianでFirefoxをカスタマイズするには
DebianでFirefoxをカスタマイズするにはDebianでFirefoxをカスタマイズするには
DebianでFirefoxをカスタマイズするには
 
自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう
 
サーバーだけじゃない! Linux デスクトップを使い倒そう! その1
サーバーだけじゃない! Linux デスクトップを使い倒そう! その1サーバーだけじゃない! Linux デスクトップを使い倒そう! その1
サーバーだけじゃない! Linux デスクトップを使い倒そう! その1
 

More from Emma Haruka Iwao

More from Emma Haruka Iwao (20)

Friction Logging and Internal Advocacy, DevRel/Asia 2020
Friction Logging and Internal Advocacy, DevRel/Asia 2020Friction Logging and Internal Advocacy, DevRel/Asia 2020
Friction Logging and Internal Advocacy, DevRel/Asia 2020
 
Woman Tech Terrace 2020 Keynote - 夢を持ち続ける
Woman Tech Terrace 2020 Keynote - 夢を持ち続けるWoman Tech Terrace 2020 Keynote - 夢を持ち続ける
Woman Tech Terrace 2020 Keynote - 夢を持ち続ける
 
Google Cloud 一般公開データセット
Google Cloud 一般公開データセットGoogle Cloud 一般公開データセット
Google Cloud 一般公開データセット
 
Favorite English YouTube Channels
Favorite English YouTube ChannelsFavorite English YouTube Channels
Favorite English YouTube Channels
 
Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月
 
CephとGluster次期バージョンでの新機能
CephとGluster次期バージョンでの新機能CephとGluster次期バージョンでの新機能
CephとGluster次期バージョンでの新機能
 
Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンGit for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオン
 
Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3
 
Dockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニックDockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニック
 
Storage by Red Hat #rhcpday 2015
Storage by Red Hat #rhcpday 2015Storage by Red Hat #rhcpday 2015
Storage by Red Hat #rhcpday 2015
 
Docker向けOSとか[LT] @ #techgirl 2015/01
Docker向けOSとか[LT] @ #techgirl 2015/01Docker向けOSとか[LT] @ #techgirl 2015/01
Docker向けOSとか[LT] @ #techgirl 2015/01
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
 
RHEL, CentOS 7 に移行しよう! LT
RHEL, CentOS 7 に移行しよう! LTRHEL, CentOS 7 に移行しよう! LT
RHEL, CentOS 7 に移行しよう! LT
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
 
DockerをRed Hatはどのように見ているのか
DockerをRed Hatはどのように見ているのかDockerをRed Hatはどのように見ているのか
DockerをRed Hatはどのように見ているのか
 
初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ
 
Ceph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and HowCeph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and How
 
Rails Girls: Not Only for Girls - RubyKaigi 2014
Rails Girls: Not Only for Girls - RubyKaigi 2014Rails Girls: Not Only for Girls - RubyKaigi 2014
Rails Girls: Not Only for Girls - RubyKaigi 2014
 
AWS VM import / export ハンズオン
AWS VM import / export ハンズオンAWS VM import / export ハンズオン
AWS VM import / export ハンズオン
 
Hello, systemd
Hello, systemdHello, systemd
Hello, systemd
 

Recently uploaded

Recently uploaded (11)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Preseeding Debian