Preseed - Установить ОС на наименьший диск

Я пытаюсь создать файл preseed для своих систем с двумя жесткими дисками. Я хочу установить ОС на самый маленький диск, но в некоторых системах этот диск помечен как 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 не найден. Есть идеи?

0
задан 12 July 2021 в 20:56

1 ответ

Это сработало с использованием 20.04 Ubuntu Server legacy installer

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 доступен. Это связано с тем, что комментарии ссылались на сообщение в блоге, где lsblk использовалось аналогичным образом. Возможно, lsblk раньше был доступен в старых выпусках, доступен в Debian или блог неправильный.

0
ответ дан 28 July 2021 в 11:19

Другие вопросы по тегам:

Похожие вопросы: