Crear partición con tamaño exacto, no a una distancia específica

11

¿Cómo se crea una partición de tamaño exacto, no a una distancia específica?

Yo he tratado:

parted -a optimal /dev/sdd mkpart primary 0% 0%+1GB
# and...
parted -a optimal /dev/sdd mkpart primary 0% +1GB

En vano.

¿Cómo hago para que acepte el tamaño en lugar de la distancia final?

sacudida
fuente
¿Qué mensajes de error recibes? Funciona parted -a optimal /dev/sdd mkpart primary 0GB 10GB?
terdon

Respuestas:

7

Creo que partedsolo acepta absolutos, no x+y.

Podrías hacerlo así: ( +interpretado por 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

... y si quieres agregar más, entonces

# 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

El +1es completamente opcional, me gusta dejar 1MiB "parachoques" libres entre particiones, por alguna razón.

Si desea lidiar con porcentajes, también puede obtener el tamaño del dispositivo desde el shell, usando blockdev --getsize64 /dev/device, para que pueda mover todas las matemáticas de la partición a un script de shell. Hago esto para garantizar particiones alineadas con MiB, ya que nunca estoy muy seguro de qué partedsignifica exactamente -a optimal.

Frostschutz
fuente