Preseed - 在最小的磁盘上安装操作系统

Preseed - 在最小的磁盘上安装操作系统

我正在尝试为带有 2 个硬盘的系统创建预置文件。我想在最小的磁盘上安装操作系统,但在某些系统上,此磁盘标记为 sdb,而在其他系统上则标记为 sda。有没有办法选择最小的磁盘?

d-i partman/early_command string \
  PRIMARYDISK=/dev/$(lsblk -Sn -o NAME --sort SIZE --include 8 | head -n 1) ; \
  debconf-set partman-auto/disk "$PRIMARYDISK" ;

我见过有人执行上述命令,但我只是得到 lsblk not found。有什么想法吗?

答案1

使用 20.04 Ubuntu Server 旧版安装程序即可

d-i partman/early_command string \
  PRIMARYDISK=/dev/$( X=$(cat /sys/block/sd?/size|sort -n|head -1); for i in /sys/block/sd?; do [ $X -eq $(cat $i/size) ] && echo $i | sed -e s#.*/## ; done ) ; \
  debconf-set partman-auto/disk "$PRIMARYDISK"

它使用/sys文件系统来查找最小的磁盘。 lsblk在安装程序环境中不可用。

我很确定你正在使用命令来自我的一个回答这是基于现有的假设lsblk。这是因为评论提到一篇博客文章wherelsblk的使用方法类似。可能lsblk在旧版本中可用,在 Debian 中可用,或者博客有误。

相关内容