如何将磁盘预置为 50% / 和 /tmp?

如何将磁盘预置为 50% / 和 /tmp?

我需要通过预置文件安装 ubuntu server 10.04,并将部分磁盘空间分配到 / 的 50% 和 /tmp 的剩余空间。我尝试了以下方法:

    # Partitioning
# use first hard drive SCSI/SATA:
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-auto/purge_lvm_from_device boolean true
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-auto/choose_recipe select atomic

# Actualy use 50% for / and rest 50% for /LOGS
d-i partman-auto/expert_recipe string                         \
      boot-root ::                                            \
              2048 50% 1000000000 ext4                        \
                      $primary{ }                             \
                      method{ format } format{ }              \
                      use_filesystem{ } filesystem{ ext4 }    \
                      mountpoint{ / }                         \
              .                                               \
              2048 50% -1 ext4                                \
                      method{ format } format{ }              \
                      use_filesystem{ } filesystem{ ext4 }    \
                      mountpoint{ /TMP}                       \
              .                                               \
              50% 4096 50% linux-swap                         \
                      method{ swap } format{ }                \
              .

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

有人能告诉我为什么它不起作用吗?它只为 / 和 /tmp 创建了 1.9 Gb。

谢谢!

答案1

看来我解决了这个问题。我应该使用数字值而不是百分比。

# Partitioning
# use first hard drive SCSI/SATA:
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-auto/purge_lvm_from_device boolean true
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-auto/choose_recipe select atomic

# Actualy use 50% for / and rest 50% for /TMP
d-i partman-auto/expert_recipe string                         \
      boot-root ::                                            \
              2048 30720 1000000000 ext4                      \
                      $primary{ }                             \
                      method{ format } format{ }              \
                      use_filesystem{ } filesystem{ ext4 }    \
                      mountpoint{ / }                         \
              .                                               \
              50% 4096 50% linux-swap                         \
                      method{ swap } format{ }                \
              .                                               \
              2048 30720 -1 ext4                              \
                      method{ format } format{ }              \
                      use_filesystem{ } filesystem{ ext4 }    \
                      mountpoint{ /TMP }                      \
              .                                               \

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

答案2

看起来你的定义是错误的,所以 partman 可能误解了它。如果你看一下规范(例如这里) 则极限的顺序为:

<minimal size> <priority> <maximal size> <parted fs>

因此,您的初始版本具有“50%”优先级。您的交换是正确的(根据规范),但交换分区的大小为内存的 50%(如果您有 2GB RAM,则为 1GB),优先级为 4096。

相关内容