プリセットが無効なパーティションサイズを設定する

プリセットが無効なパーティションサイズを設定する

プリセットツールを使用してDebianをインストールしようとしています。これまでは、ディスクパーティションを除いて、すべてがうまく機能しています。基本的に私が望むものは次のとおりです。

/ of 30GB - ext4
/var/lib about 2TB - xfs
swap 2GB

ただし、最終システムは次のとおりです。

/ 2TB - ext4
swap, about 20GB

プロビジョニングファイルのディスク部分は次のとおりです。

d-i partman-lvm/device_remove_lvm boolean true
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman-lvm/confirm boolean true
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
# GPT
d-i partman-basicfilesystems/choose_label string gpt
d-i partman-basicfilesystems/default_label string gpt
d-i partman-partitioning/choose_label string gpt
d-i partman-partitioning/default_label string gpt
d-i partman/choose_label string gpt
d-i partman/default_label string gpt

d-i partman-auto/expert-recipe string sql::     \
    32 32 32 free                               \
    $gptonly{ }                                 \
    $primary{ }                                 \
    $bios_boot{ }                               \
    method{ biosgrub }                          \
.                                               \
    30000 32000 30720 ext4                      \
    $gptonly                                    \
    $primary{ } $bootable{ }                    \
    method{ format } format{ }                  \
    use_filesystem{ } filesystem{ ext4 }        \
    mountpoint{ / }                             \
.                                               \
    2048 4000 2048 linux-swap                   \
    $gptonly                                    \
    method{ swap } format{ }                    \
.                                               \
    2000000 1000 -1 xfs                         \
    $gptonly                                    \
    method{ format } format{ }                  \
    use_filesystem{ } filesystem{ xfs }         \
    mountpoint{ /var/lib/ }           \
    options/noatime{ noatime }                  \
    options/nodiratime{ nodiratime }            \
    options/nobarrier{ nobarrier }              \
.                                               \

d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman-partitioning/confirm_copy boolean true
d-i partman/confirm_nooverwrite boolean true

## Controlling how partitions are mounted
d-i partman/mount_style select traditionnal

私は何が間違っていましたか?

答え1

実際には問題ではありませんが、xfsパーティションの最大サイズ-1が問題です。

partman-autoには、パーティションの1つの最大サイズで非常に大きな数字を必要とするバグがあります(アルゴリズムの制限と呼ばれます)。

`

5. 制限事項

partman-autoのアルゴリズムの制限により、利用可能なスペース全体を使用できるようにするには、最大サイズの大きいパーティションが少なくとも1つ必要です。通常、/homeを含むパーティションの最大サイズは1000000000で指定できます。これは現在のストレージに十分です。大きな/homeが適切でない場合は、「keep」メソッドを使用してレシピに10000000000サイズの追加パーティションを定義し、マウントされていないままにすることもできます。インストールが完了したら削除できます。

シェル操作は31ビット(i386で)に制限されているため、1000000000より大きい数字を使用しないでください。 `

http://ftp.dc.volia.com/pub/debian/preseed/partman-auto-recipe.txt

答え2

umeboshiに記載されているエラーが存在するかどうかは、ディストリビューションで使用するDebian InstallerとPartmanのバージョンによって異なります。 Ubuntu 14.04以降のDebianバージョンでは-1がサポートされていますが、以前のバージョンまたは以前のバージョンとの互換性が必要な場合は、上記の制限が正確です。

Debian ソースの証拠を裏付ける: https://salsa.debian.org/installer-team/debian-installer/blob/master/doc/devel/partman-auto-recipe.txt

関連情報