web-dev-qa-db-ja.com

d-i partmanレシピ文字列を使用していますか?

すべてのワークステーションを同じ方法で自動的にパーティション分割したい:

  • 最初のパーティションはブート可能な1GB ext4/bootパーティションです
  • 2番目のパーティションは2GBのスワップパーティションです
  • 3番目のパーティションはext4 /パーティションで、残っているものをすべて占有します
  • すべてのパーティションをフォーマットする必要があります

これを私のpreseed.cfgに追加すると、私が望むことを達成できると思います:

d-i partman-auto/workstation_recipe string \
    root :: \
        1024 1023 1024 ext4 \
            $primary{ } $bootable{ } \
            method{ format } format{ } \
            use_filesystem{ } filesystem{ ext4 } \
            mountpoint{ /boot } \
        . \
        2048 2047 2048 linux-swap \
            $primary{ } \
            method{ swap } format{ } \
        . \
        17408 100000000000 -1 ext4 \
            $primary{ } \
            method{ format } format{ } \
            use_filesystem{ } filesystem{ ext4 } \
            mountpoint{ / } \
        .

これは このブログ に基づいています。これは私が望むことをしますか、そしてユーザーの介入なしにこれらの指示を受け入れるようにするためにpreseed.cfgに追加する必要があるものは他にありますか?これまでパートマンのレシピを使用したことがありません。

4
user5104897

インターネットをany探して何日もかけてpartmanに関する情報を細かく調べた結果、このことを理解しました-完全に文書化されていません。これが私が使った設定です:

# This automatically creates a standard unencrypted partitioning scheme.
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-auto/choose_recipe select unencrypted-install
d-i partman-auto/expert_recipe string \
        unencrypted-install :: \
                1024 1024 1024 ext4 \
                        $primary{ } $bootable{ } \
                        method{ format } format{ } \
                        use_filesystem{ } filesystem{ ext4 } \
                        mountpoint{ /boot } \
                . \
                2048 2048 2048 linux-swap \
                        $primary{ } \
                        method{ swap } format{ } \
                . \
                17408 100000000000 -1 ext4 \
                        $primary{ } \
                        method{ format } format{ } \
                        use_filesystem{ } filesystem{ ext4 } \
                        mountpoint{ / } \
                .
d-i partman-md/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

ちょうどそれをあなたのpreseedに落としてください、そしてあなたは行ってもいいはずです。 1行ずつ:

  • ディスク/ dev/sdaを使用
  • 通常のインストールを行う(暗号化またはLVMではない)
  • プロンプトなしで既存のLVMを削除します
  • プロンプトなしで既存のRAIDセットアップを削除します
  • これがあなたが望むものであることを確認してください
  • もう一度確認
  • 以下で指定されている「非暗号化インストール」レシピを選択します
  • これは、レシピ全体を一度に1つのパーティションに指定する単一の論理行です。質問で指定したとおりにパーティションテーブルを作成します。
  • もう一度確認
  • パートマンが新しいラベルを書き込めるようにする
  • プロセスを終了する
  • もう一度確認
  • もう一度確認

これで、完璧に機能します。

4
user5104897

これは古い投稿であることは知っていますが、ハードコーディングするかどうかはわかりません/dev/sdaは良い考えです。代わりに、私は次のようなものを使用します

d-i partman/early_command string \
    USBDEV=$(list-devices usb-partition | sed "s/\(.*\)./\1/");\
    if [ ! -z "$USBDEV" ]; then \
        BOOTDEV=$(list-devices disk | grep -v "$USBDEV" | head -1);\
    else \
        BOOTDEV=$(list-devices disk | head -1);\
    fi; \
    debconf-set partman-auto/disk $BOOTDEV;\
    debconf-set grub-installer/bootdev $BOOTDEV;\
    lvremove --select all -ff -y; vgremove --select all -ff -y; pvremove ${BOOTDEV}* -ff -y

列挙の順序が動的に変更される可能性があるため、最初の内部ドライブがインストールメディアとして使用され、可能な外部USBドライブが除外されていることを確認します。

1
abdus_salam

次の3行を試してみてください(必要に応じて変更を加えます)。

d-i partman-auto/disk string /dev/sda
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
0
tshepang