Nemo

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Nemo » Работа в системе » Список физических жёстких дисков в системе и места их монтирования.


Список физических жёстких дисков в системе и места их монтирования.

Сообщений 1 страница 2 из 2

1

Как получить список физических жёстких дисков в системе и места их монтирования?

Пишу программу для тестирование железа, и для тестирование жёстких дисков необходимо получить список жёстких дисков и их соответствие точкам монтирования (если они есть) и разумеется файлу устройства типа

/dev/sd*

Для этих целей, я использовал удобную программу lsblk, которая при запросе даёт всё что у ней спрашивают:

lsblk -io KNAME,TYPE,SIZE,MODEL,MOUNTPOINT
KNAME TYPE   SIZE MODEL            MOUNTPOINT
sda   disk 465.8G WDC WD5000AZRX-0
sda1  part 457.9G                  /
sda2  part     1K                 
sda5  part   7.9G                  [SWAP]
sr0   rom   1024M iHAS124   W

Удобно можно встроить в код программы и далее парсить её вывод и мучить соответствующий жёсткий диск (отбирая строку содержащую disk)

FILE * fp = popen("lsblk -io KNAME,TYPE,SIZE,MODEL,MOUNTPOINT", "r");
...// проверка на ошибки
  while(fgets(buf, sizeof(buf) -1,fp)) {
    if (strstr(buf, "disk")) {
      //пошли тут тестировать
    }

Беда пришла от туда, откуда не ждали. Этой программы нет на сборке дебиана, на которой будет проводится тест (в репах тоже нет). Поменять сборку нельзя. Есть ли какие-то альтернативные и простые варианты получить подобный список, например через /proc или /sys?

======================================================================================

Источник.

0

2

Как определить тип файловой системы в Linux?

Всем привет!

Многие начинающие пользователи Linux, часто задают вопросы о том, как определить тип файловой системы. Чтобы это проверить можно в google задать запрос “определение типа файловой системы linux“. И вы увидите сколько их много. Специально для них и была написана данная статья.

Предлагаю вашему вниманию 5 способов определения типа файловой системы:

Способ 1: Использовать команду df -T

Код:
# df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
/dev/sda1 ext2 /
/dev/sdb1 ext3 /home
/dev/sdc1 ext3 /u01

Способ 2: Использовать команду mount

Код:
# mount | grep "^/dev"
/dev/sda1 on / type ext2 (rw)
/dev/sdb1 on /home type ext3 (rw)
/dev/sdc1 on /u01 type ext3 (rw)

Способ 3: Использовать команду file

Код:
# file -sL /dev/sda1
/dev/sda1: Linux rev 1.0 ext2 filesystem data (mounted or unclean)
(large files)

# file -sL /dev/sdb1
/dev/sda1: Linux rev 1.0 ext3 filesystem data (needs journal recovery)
(large files)

# file -sL /dev/sdc1
/dev/sda1: Linux rev 1.0 ext3 filesystem data (needs journal recovery)
(large files)

Способ 4: Просмотр файла /etc/fstab

Код:
# cat /etc/fstab
LABEL=/r       /        ext2    defaults    1 1
LABEL=/home    /home    ext3    defaults    0 0
LABEL=/u01     /u01     ext3    defaults    0 0

Способ 5: Использовать команду fsck

Код:
# fsck -N /dev/sda1
fsck 1.39 (29-May-2006)
[/sbin/fsck.ext2 (1) -- /] fsck.ext2 /dev/sda1

# fsck -N /dev/sdb1
fsck 1.39 (29-May-2006)
[/sbin/fsck.ext3 (1) -- /home] fsck.ext3 /dev/sdb1

# fsck -N /dev/sdc1
fsck 1.39 (29-May-2006)
[/sbin/fsck.ext3 (1) -- /u01] fsck.ext3 /dev/sdc1

На этом все. Если возникнут вопросы, обращайтесь.

Источник.

0


Вы здесь » Nemo » Работа в системе » Список физических жёстких дисков в системе и места их монтирования.