特定の距離ではなく正確なサイズのパーティションを作成するにはどうすればよいですか?
私が試してみました:
parted -a optimal /dev/sdd mkpart primary 0% 0%+1GB
# and...
parted -a optimal /dev/sdd mkpart primary 0% +1GB
無駄に。
終了距離の代わりにサイズを受け入れるようにするにはどうすればよいですか?
parted
はx+y
ではなく、絶対のみを受け入れます。
次のようにすることができます:(シェルによって解釈される+
)
# 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
...さらに追加したい場合は、
# 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
+1
は完全にオプションです。何らかの理由で、パーティション間で1MiBの空き「バンパー」を残すのが好きです。
パーセンテージを扱いたい場合は、blockdev --getsize64 /dev/device
を使用してシェルからデバイスサイズを取得することもできるので、すべての計算を分割してシェルスクリプトに移動できます。 parted
が-a optimal
によって正確に何を意味するのかわからないので、MiBにアラインされたパーティションを保証するためにこれを行います。