LINUX.ORG.RU

Работа с дисками


0

0

Как в линуксе, имея файл устройства, определить:
- является ли это разделом или диском
- размер раздела, сколько занято/свободно

Есть ли какая-нибудь русская дока на эту тему? Желательно без воды.

> - является ли это разделом или диском 
по имени. Если имя не стандартное, то по номерам минор:мажор.

>- размер раздела
/proc/partitions, fdisk

>сколько занято/свободно 
Нет такого понятия. Раздел это кусок диска.
 Если речь о ФС, то:
 df -h /mountpoint

sdio ★★★★★
()
Ответ на: комментарий от sdio

> по имени. Если имя не стандартное, то по номерам минор:мажор.

$ cat /proc/partitions
major minor  #blocks  name

   8     0  117219767 sda
   8     1   26338536 sda1
   8     2   85763002 sda2
   8    16  195360984 sdb
   8    17    1052226 sdb1
   8    18   31358880 sdb2
   8    19     200812 sdb3
   8    20  162746482 sdb4
   8    32    1024000 sdc

Как тут определить что раздел, а что диск? sdc и все sd[ab][0-9] - разделы, но что-то я не вижу зависимости в номерах major:minor.

> Нет такого понятия. Раздел это кусок диска.
> Если речь о ФС, то:
> df -h /mountpoint

Именно о фс. А если раздел не подмонтирован, то df уже не поможет.

non-ono
() автор топика
Ответ на: комментарий от non-ono

> Именно о фс. А если раздел не подмонтирован, то df уже не поможет.

А как вы планируете узнать какую-либо информацию о сущности, про внутреннюю организацию которой вы ничего не знаете? Я имею в виду, что пока драйвер файловой системы не будет предоставлять интерфейс к разделу, то для ядра этот раздел - максимум block device (абстракция ещё одного драйвера, кстати :)

mv ★★★★★
()
Ответ на: комментарий от non-ono

минор 0,16,32, ..., n*16 -- диск, где n целое число.
минор n*16+[0..15]       -- раздел.

sdio ★★★★★
()
Ответ на: комментарий от non-ono

Если ФС не примонтированна, то она нах никому не нужна :-)

sdio ★★★★★
()
Ответ на: комментарий от mv

> А как вы планируете узнать какую-либо информацию о сущности, про внутреннюю организацию которой вы ничего не знаете? Я имею в виду, что пока драйвер файловой системы не будет предоставлять интерфейс к разделу, то для ядра этот раздел - максимум block device (абстракция ещё одного драйвера, кстати :)

То есть юзер в линуксе имея права доступа на чтение к устройству не может узнать о нем ничего, пока админ из америки не прилетит на самолете и не подмонтирует мне его?

Жаль, очень жаль.

non-ono
() автор топика
Ответ на: комментарий от no-dashi

> Клиника. Если он sdc - он "весь диск", типа как дискета.

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

Вот и развлекаемся.

non-ono
() автор топика
Ответ на: комментарий от non-ono

Начни с fdisk -l /dev/sd? , получишь инфу о разделах, а вот как определить свойства конкретных fs - большой вопрос.

Для ext2/ext3 парсь e2fsck -nv /dev/sda6.

YesSSS ★★★
()
Ответ на: комментарий от non-ono

Есть такая замечательная штука - disktype. После натравливания на устройство (/dev/hda) выдает большую часть того, что нужно. Свободное место конечно не выдаст.

anonymous
()
Ответ на: комментарий от non-ono

Не трынди, если права на чтение есть, то для:
ext2/3   -- tune2fs -l /dev/sda1
reiserfs -- reiserfstune /dev/sda1
xfs      -- xfs_db -c freesp /dev/sda1

sdio ★★★★★
()

> - является ли это разделом или диском

Никак в общем случае. Как вариант - по наличию таблицы разделов в начале устройства. Мажоры и миноры могут раздаваться как ядру угодно, им верить нельзя.

> - размер раздела, сколько занято/свободно

Никак. Например на разделе в 100 гигов может быть создана ФС на 50 гигов и быть забита полностью. А есть еще например такой тип раздела как LVM physical volume - с ним ты вообще застрелишься.

no-dashi ★★★★★
()

И кстати - "свободное место" это свойство ФС а не раздела/устройства!

no-dashi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.