Как заставить parted всегда показывать один и тот же блок - PullRequest
4 голосов
/ 21 июня 2011

Я использую parted в скрипте. По этой причине мне нужно расстаться, чтобы всегда использовать один и тот же блок. В противном случае я не могу делать разумные расчеты.

В этом примере расстались миксы KB и GB:

pcsyn-038 user # parted -l
Model: ATA ST9250315AS (scsi)
Disk /dev/sda: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      1049kB  21,5GB  21,5GB  primary  ext4
 3      21,5GB  248GB   226GB   primary  ext4
 2      248GB   250GB   2147MB  primary  linux-swap(v1)

Это не влияет на вывод:

parted /dev/sda unit MB

Ответы [ 3 ]

7 голосов

Согласно parted (1) , единица может быть одной из:

  • s секторов
  • B байтов ,
  • кБ , МБ , ГБ , ТБ,
  • % процентное соотношение размера устройства ,
  • cyl цилиндров ,
  • chs цилиндры, головки, секторы или
  • компактные мегабайт для ввода и удобные для человекаФорма для вывода .

Например:

$ for hdd in /dev/sd? ; do 
      parted -m $hdd unit MB print; done  |\
  column -s: -t
BYT;
/dev/sda  500108MB  scsi      512       512       msdos  ATA WDC WD5002ABYS-0;
2         0.03MB    60003MB   60003MB   reiserfs  ;
3         60003MB   60250MB   247MB     ;
4         60250MB   499858MB  439608MB  ;
5         60250MB   75253MB   15003MB   ext3      ;
6         75253MB   200253MB  125000MB  ext3      ;
7         200253MB  499858MB  299606MB  ;
1         499858MB  500105MB  247MB     ext2      boot;
BYT;
/dev/sdb  500108MB  scsi      512       512       msdos  ATA ST3500418AS;
2         0.03MB    60003MB   60003MB   reiserfs  ;
3         60003MB   60250MB   247MB     ext3      ;
4         60250MB   499858MB  439608MB  ;
5         60250MB   75253MB   15003MB   ;
6         75253MB   200253MB  125000MB  ;
7         200253MB  499858MB  299606MB  ;
1         499858MB  500105MB  247MB     ext2      boot;
6 голосов
/ 21 июня 2011

Я думаю, вам не следует использовать аргумент -l parted, а подкоманду print:

parted /dev/sda unit MB print

Когда я делаю это таким образом, я получаю все размеры в MB.

0 голосов
/ 21 июня 2011

Утилита fdisk имеет гораздо более согласованный и точный вывод. Он использует /proc/partitions, чтобы определить, какие разделы используются. parted - это скорее утилита для конечного пользователя, так как ее проще использовать.

Примечание: обычно каждое блочное устройство определяет свой собственный размер блока. Получите дополнительную информацию о количестве блоков на устройство, указав каждое устройство.

Что вы хотите рассчитать? Если вам нужно измерить свободное место на диске, лучше использовать du.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...