Estou prestes a automatizar a instalação do Debian usando o mecanismo preseed (arquivo preseed adicionado ao initrd). Os computadores a serem provisionados possuem vários discos SATA.
Eu gostaria de especificar no arquivo preseed precisamente qual partição colocar em qual disco. Isso é possível, é claro, especificando os arquivos de dispositivo associados (sda, sdb, sdc). No entanto, se bem entendi, a associação entre disco e arquivo de dispositivo não é definida a priori em geral, e pode até mudar após a reinicialização em determinadas situações. Estou especialmente preocupado com pendrives ou outros discos rígidos portáteis. Eu mesmo encontrei essa situação, quando o pendrive foi /dev/sda durante a instalação desse mesmo pendrive.
Então, como posso garantir que a partição certa seja colocada no disco certo, toda vez que a imagem ISO pré-configurada for usada para instalação?
O resumo da resposta, com base em um comentário de @MarkPlotnick: A chave é entender que existem vários arquivos de dispositivo representando a mesma unidade. Os mais conhecidos são /dev/sda, /dev/sdb etc. onde a ordenação não é bem definida. No entanto, as unidades também podem ser referenciadas usando os arquivos de dispositivo em /dev/disk/by-id. Esses arquivos de dispositivo estão vinculados aos números de série dos discos e, portanto, são definidos de forma inequívoca e reproduzível. E, como se vê, eu poderia usar esses arquivos de dispositivo no preseed como um substituto para /dev/sda etc.