web-dev-qa-db-ja.com

partmanは、Debianインストーラのpreseedファイルで複数のディスクをどのようにパーティション分割できますか?

Partmanパーティションを単一のディスクにするのは簡単です。

d-i partman-auto/disk string /dev/xvda
d-i partman-auto/method string regular
d-i partman-auto/expert_recipe string \
      boot-swap :: \
        2048 2048 -1 ext3 \
           $primary{ } \
           $bootable{ } \
           method{ format } \
           format{ } \
           use_filesystem{ } \
           filesystem{ ext3 } \
           mountpoint{ / } \
           device{ /dev/xvda } \
           . \

またはさらに簡単:

d-i partman-auto/disk string xvda
d-i partman-auto/method string regular
d-i partman-auto/choose_recipe select atomic

しかし、複数のディスクがあるため、私が見つけたレシピや書いたレシピはどれも機能しません。インストーラーは、パーティション分割方法を要求する画面に到達し、そこで停止します。私はここでその質問に答えたと思いました:

# The presently available methods are:
# - regular: use the usual partition types for your architecture
# - lvm:     use LVM to partition the disk
# - crypto:  use LVM within an encrypted partition
d-i partman-auto/method string regular

それが質問に答えて、それが実際に次のビットで立ち往生しているとしても、ディスクを選択することは、これによって答えられませんか?

d-i partman-auto/disk string /dev/xvda

最終的に3つのディスクを目指します。/home、/usrなどを含む/ dev/xvdaのルート。/dev/xvdbの追加のスワップボリューム。/var/buildにマウントされた/ dev/xvdc上のEXT3ボリューム。さらに複雑にするために、/ var/buildはインストール時に存在しないため、何らかの方法で作成する必要があります。これはDebianSqueezeにあります。

3
Peter Westlake

私はこれをスクイーズで試していませんが、 エッチングで行ったこと はまだ機能するはずです。未テスト:

d-i preseed/late_command string echo ';' | sfdisk /dev/xvdb ; mkswap /dev/xvdb1 ;
    echo '/dev/sdb1 none swap sw 0 0' >> /target/etc/fstab ;
    echo ';' | sfdisk /dev/xvdb ; mke2fs -j -q /dev/xvdb1 ;
    mkdir /target/var/build ;
    echo '/dev/xvdb1 /var/build ext3 defaults 0 2' >> /target/etc/fstab

sfdiskトリックを見つけた参照を掘り下げる必要があります-それは基本的にディスクのパーティションテーブルを一掃し、1つの巨大なパーティションを作ります。

2
Mike Renfro