Risposte:
Penso che parted
accetta solo assoluti, non x+y
.
Potresti farlo in questo modo: ( +
interpretato da shell)
# start=1
# size=512
# parted /dev/loop0 unit mib mkpart primary $start $(($start+$size))
# parted /dev/loop0 unit mib print free
Model: Loopback device (loopback)
Disk /dev/loop0: 1000MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
0.02MiB 1.00MiB 0.98MiB Free Space
1 1.00MiB 513MiB 512MiB primary
513MiB 1000MiB 487MiB Free Space
... e se vuoi aggiungere altro, allora
# start=$(($start+$size+1))
# size=128
# parted /dev/loop0 unit mib mkpart primary $start $(($start+$size))
# parted /dev/loop0 unit mib print free
Model: Loopback device (loopback)
Disk /dev/loop0: 1000MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
0.02MiB 1.00MiB 0.98MiB Free Space
1 1.00MiB 513MiB 512MiB primary
513MiB 514MiB 1.00MiB Free Space
2 514MiB 642MiB 128MiB primary
642MiB 1000MiB 358MiB Free Space
È del +1
tutto facoltativo, mi piace lasciare 1MiB "paraurti" gratuiti tra le partizioni, per qualche motivo.
Se si desidera gestire le percentuali, è possibile ottenere anche le dimensioni del dispositivo dalla shell, utilizzando blockdev --getsize64 /dev/device
, in modo da poter spostare tutta la matematica fuori parted in uno script di shell. Lo faccio per garantire partizioni allineate MiB, poiché non sono mai troppo sicuro di cosa parted
significhi esattamente -a optimal
.
parted -a optimal /dev/sdd mkpart primary 0GB 10GB
?