特定の距離ではなく正確なサイズのパーティションを作成するにはどうすればよいですか?
私は試した:
parted -a optimal /dev/sdd mkpart primary 0% 0%+1GB
# and...
parted -a optimal /dev/sdd mkpart primary 0% +1GB
役に立たない。
終了距離の代わりにサイズを許可するにはどうすればよいですか?
答え1
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のすべての数学をシェルスクリプトに移動できます。parted
確信がなかったので、MiBソートパーティションを確保するためにこれを行いました-a optimal
。