Чтение онлайн

ЖАНРЫ

Программирование для Linux. Профессиональный подход

Самьюэл Алекс

Шрифт:

7.5. Дисководы, точки монтирования и файловые системы

В файловой системе

/proc
находится также информация о присутствующих в системе дисковых устройствах и смонтированных на них файловых системах.

7.5.1. Файловые системы

Файл

/proc/filesystems
хранит информацию об известных ядру типах файловых систем. Этот список не очень полезен, так как он не полный: файловые системы могут подключаться и отключаться динамически в виде модулей ядра. В файле
/proc/filesystems
перечислены типы файловых систем, которые либо статически подключены к ядру, либо присутствуют в настоящий момент.

7.5.2.

Диски и разделы

В файловой системе

/proc
находятся данные об устройствах, подключенных как к IDE-так и к SCSI-контроллерам (если таковые имеются). Обычно в каталоге
/proc/ide
есть один или два подкаталога (
ide0
и
ide1
) для основного и дополнительного IDE-контроллеров системы. [25] В этих подкаталогах будут другие подкаталоги, которые соответствуют физическим устройствам, подключенным к контроллерам. В случае, если устройство не распознано системой, подкаталог не создается. В табл. 7.1 указаны путевые имена каталогов для четырех возможных IDE-устройств.

25

Если ядро Linux сконфигурировано правильно, оно поддерживает дополнительные IDE-контроллеры, нумеруемые последовательно начиная от

ide2
.

Таблица 7.1. Каталоги, соответствующие четырем возможным IDE-устройствам

Контроллер Устройство Подкаталог
Основной Главное
/рroc/ide/ide0/hda/
Основной Подчиненное
/proc/ide/ide0/hdb/
Дополнительный Главное
/proc/ide/ide1/hdc/
Дополнительный Подчиненное
/proc/ide/ide1/hdd/

В каталоге каждого IDE-устройства есть несколько файлов, хранящих конфигурационные данные устройства. Перечислим наиболее важные из них.

■ 

model
. Содержит строку идентификации устройства.

■ 

media
. Описывает тип носителя. Возможные значения:
disk
,
cdrom
,
tape
,
floppy
и
UNKNOWN
.

■ 

capacity
. Определяет емкость устройства (в 512-байтовых блоках). Для дисководов CD-ROM значением будет 2³¹-1, а не емкость компакт-диска, вставленного в дисковод. Находящееся в данном файле значение представляет емкость всего физического диска. Емкость файловых систем, содержащихся в разделах диска, будет меньше.

Ниже показано, как определить тип носителя и идентификатор главного устройства, подключенного к дополнительному IDE-контроллеру:

% cat /proc/ide/ide1/hdc/media

cdrom

% cat /proc/ide/ide1/hdc/model

TOSHIBA CD-ROM XM-6702B

В данном случае это дисковод CDROM компании Toshiba.

Если в системе есть SCSI-устройства, в файле

/proc/scsi/scsi
будет находиться сводка их идентификаторов. Содержимое этого файла выглядит примерно так

% cat /proc/scsi/scsi

Attached devices:

Host: scsi0 Channel: 00 Id: 00 Lun: 00

 Vendor: QUANTUM Model: ATLAS_V__9_WLS Rev: 0230

 Type: Direct-Access ANSI SCSI revision: 03

Host: scsi0 Channel: 00 Id: 04 Lun: 00

 Vendor: QUANTUM Model: QM39100TD-SW Rev: N491

 Type: Direct-Access ANSI SCSI revision: 02

В

системе присутствует один одноканальный SCSI-контроллер (обозначен как
scsi0
), к которому подключены два дисковых накопителя Quantum со SCSI-номерами 0 и 4.

В файле

/proc/partitions
содержатся сведения о разделах распознанных дисковых устройств. Для каждого раздела указываются старший и младший номера, число однокилобайтовых блоков, а также имя устройства, соответствующего этому разделу.

Файл

/proc/sys/dev/cdrom/info
хранит различные данные о возможностях дисководов CD ROM. Записи этого файла не требуют особых пояснений:

% cat /proc/sys/dev/cdrom/info

CD-ROM information, Id: cdrom.с 2.56 1999/09/09

drive name: hdc

drive speed: 48

drive # of slots: 0

Can close tray: 1

Can open tray: 1

Can lock tray: 1

Can change speed: 1

Can select disk: 0

Can read multisession: 1

Can read MCN: 1

Reports media changed: 1

Can play audio: 1

7.5.3. Точки монтирования

В файле

/proc/mounts
находится перечень смонтированных файловых систем. Каждая строка соответствует одному дескриптору монтирования и содержит имя устройства, имя точки монтирования и прочие сведения. Та же самая информация хранится в обычном файле
/etc/mtab
, который автоматически обновляется командой
mount
.

Ниже перечислены элементы дескриптора монтирования.

■ Первый элемент строки — это имя смонтированного устройства. Для специальных файловых систем, например

/proc
, здесь стоит значение
none
.

■ Второй элемент — это имя точки монтирования, т.е. места в корневой файловой системе, где появится содержимое монтируемой файловой системы. Для самой корневой системы точка монтирования обозначается символом

/
. Разделам подкачки соответствует точка монтирования
swap
.

■ Третий элемент — это тип файловой системы. В настоящее время на жестких дисках Linux в основном устанавливаются файловые системы типа

ext2
, но диски DOS и Windows могут монтироваться с файловыми системами других типов, например
fat
или
vfat
. Тип файловых систем большинства компакт-дисков —
iso9660
. Список типов файловых систем приведен на
man
– странице команды
mount
.

■ Четвертый элемент — это флаги монтирования. Они указываются при добавлении точки монтирования. Пояснение этих флагов также дано на

man
– странице команды
mount
.

В файле

/proc/mounts
последние два элемента всегда равны нулю и никак не интерпретируются.

Подробнее о формате дескрипторов монтирования можно узнать на

man
– странице
fstab
. В Linux есть функции, позволяющие анализировать содержимое дескрипторов монтирования. За дополнительной информацией обратитесь к
man
– странице функции
getmntent
.

Поделиться с друзьями: