Soluzione 1:
Tentativo di automatizzare fdisk
è possibile, ma non è facile da mantenere. Come notano altre risposte, parted o sfdisk sono progettati per fare quello che vuoi e sono più facili da automatizzare.
separati
Per creare una partizione in una riga con parted
:
parted -a optimal /dev/usb mkpart primary 0% 4096MB
come visto in questo post UNIX SE. Ognuna delle parti è abbastanza autoesplicativa, ma per ogni evenienza ecco come mkpart
è definito:
mkpart
[tipo di parte tipo fs nome ] inizio fine
dove le cose tra parentesi quadre sono opzionali, ma probabilmente vorrai primary
per il tuo tipo di parte , avvia al 0%
e termina a 4096MB
o per quanto grande sia la tua chiavetta USB.
Soluzione 2:
Cancella tutto e crea una singola partizione:
dev='/dev/sdb'
sudo umount "$dev"
printf "o\nn\np\n1\n\n\nw\n" | sudo fdisk "$dev"
sudo mkfs.ext4 "${dev}1"
Vedi anche:https://superuser.com/questions/332252/creating-and-formating-a-partition-using-a-bash-script
Soluzione 3:
Probabilmente dovrai usare il comando parted invece di fdisk.
Soluzione 4:
sfdisk
ha anche una modalità non interattiva che legge le informazioni sulla partizione da stdin. parted
è più flessibile, però.
Soluzione 5:
Usa invece sfdisk.
La pagina man di sfdisk è un po' confusa, ecco alcuni esempi specifici di come automatizzare l'impostazione delle partizioni con sfdisk. Un esempio è che puoi salvare le informazioni sulla partizione da un'unità tramite sfdisk -l
e poi scaricalo direttamente su una nuova unità.