Библиотека сайта rus-linux.net
9.5. Управление атрибутами устройств
9.5.1. Добавление устройства-
9.5.1.1. Создание входа с помощью команды
-
9.5.2.1. Перечисление устройств с помощью меню
9.5.2.2. Перечисление устройств с помощью команд.
9.5.2.3. Определение устройств в командной строке getdev
9.5.2.4. Назначение имен критериям в командной строке getdev
-
9.5.3.1. Перечисление атрибутов устройства с помощью команд
9.5.3.2. Изменение входа устройства с помощью команд
9.5.3.3. Удаление входа устройства с помощью команд
Система хранит информацию об устройствах в базе данных, доступ к которой осуществляется с помощью прикладных программ, зависящих от специфической информации об устройствах. В данном разделе объясняется, как изучать эту информацию в базе данных, как создавать новые элементы и как изменять или удалять существующие элементы.
Следующие операции выполняются путем выбора варианта device - Device Alias и Attribute Management с экрана Storage Devices. Появится следующий экран:
3 Device Description Management ----------------------------------------------- add - Add a Device attributes - Device Attribute Management list - List Device remove - Remove a Device reservations - Device Reservation Management
База данных устройств постоянно находится в /etc/device.tab. У нее один вход на устройство, состоящий из ряда атрибутов, описывающих это устройство.
Если нужно добавить, изменить или удалить вход из оболочки системного ядра, можно сделать это, используя команду putdev.
У вас может быть устройство, не имеющее входа в этой базе данных. Прикладные программы, осуществляющие доступ к информации в этой базе данных, не могут использовать такое устройство.
9.5.1. Добавление устройства
Если выбран вариант add - Add a Device, вы получите следующую форму:
4 Add a Device ---------------------------------------------- Device Alias: Description: Type: Character special device pathname: Block special device pathname: Other Attributes Attribute: Value: Attribute: Value: Attribute: Value: . . . . . .
Заполнение этой формы создает новый вход в базе данных устройства. Каждый вход в базе данных устройства состоит из списка атрибутов для особого устройства. Требуется атрибут alias; другие атрибуты необязательные и могут варьироваться от устройства к устройству.
Чтобы определить атрибут, просто дайте ему имя при заполнении формы или вызовите команду putdev. В следующем списке определяются стандартные атрибуты устройств, которые можно задать для устройства в базе данных.
- alias -
- уникальное имя, по которому узнается устройство. Это имя ограничивается 14 символами и может содержать только алфавитно-цифровые символы и специальные символы: подчеркивания (_), знака доллара ($), тире (-) и точки (.), перед которыми стоит наклонная черта влево (\);
- bdevice -
- полное имя пути к специальному узлу блок-ориентированного устройства. Тип/номер должны быть уникальными в базе данных и соответствовать типу и номеру, связанным с полем cdevice;
- capacity -
- информационная емкость устройства или типичного
тома -
- сменная;
- cdevice -
- полное имя пути к узлу специального байт-ориентированного устройства. Тип/номер должны быть уникальными в бвзе данных и соответствовать типу/номеру, связанными с полем bdevice;
- cyl -
- используется командой, специфицированной в атрибуте mkfscmd;
- desc -
- описание любого экземпляра тома, связанного с этим устройством (например, с гибким диском);
- dpartlist -
- список секторов диска, связанного с этим устройством. Используется только, если type=disk. В списке должны быть псевдонимы устройства, каждый из которых должен иметь type=dpart;
- dparttype -
- тип сектора диска, представленного этим устройством. Используется только, если type=dpart. Он должен быть либо fs (для файловых систем), либо dp (для раздела данных);
- erasecmd -
- командная строка, стирающая информацию с устройства;
- fmtcmd -
- командная строка, форматирующая устройство;
- fsname -
- имя файловой системы в файловой системе, администрируемой в этом разделе с помощью команды /usr/sbin/labelit. Атрибут специфицируется только, если type=dpart и dparttype=fs;
- gap -
- используется командой, специфицированной в атрибуте mkfscmd;
- mkfscmd -
- командная строка, которая при выполнении помещает файловую систему в прежде сформатированное устройство;
- mountpt -
- точка монтирования по умолчанию для устройства. Используется только, если устройство монтируемое. Для секторов диска, где type=dpart и dparttype=fs, этот атрибут должен специфицировать место, где обычно монтируется сектор;
- nblocks -
- число блоков в файловой системе, администрируемой в этом секторе. Используется только, если type=dpart и dparttype=fs;
- ninodes -
- число индексных дескрипторов файлов в файловой системе, администрируемой в этом секторе. Используется только, если type=dpart и dparttype=fs;
- norewind -
- имя узла специального байт-ориентированного устройства, позволяющее обратиться к этому устройству без обратной перемотки, когда устройство закрыто;
- pathname -
- определяет полное имя пути к индексному дескриптору файла, описывающему устройство (используется для полных имен пути не блок-ориентированных или не байт-ориентированных устройств, например, каталогов);
- type -
- лексема, представляющая характерные качества устройства. Стандартные типы включают: 9-track, ctape, disk, directory, diskette, dpart и qtape;
- volname -
- имя тома в файловой системе, администрируемой в этом секторе с помощью команды /usr/sbin/labelit. Используется только, если type=dpart и dparttype=fs;
- volume -
- текстовая строка, используемая для описания любого экземпляра тома, связанного с этим устройством. Этот атрибут определяется только для сменных устройств.
9.5.1.1. Создание входа с помощью команды
Используйте команду putdev для создания входа для устройства в базе данных устройств. Напечатайте:
putdev -a alias [attribute=value [...]]где alias - псевдоимя устройства, добавляемого в базу данных;
attribute=value - это список значений атрибутов, связанных с устройством.
Если указанный список атрибутов не дает достаточной информации, описывающей устройство, можно использовать новые атрибуты.
Ниже показана командная строка, необходимая для добавления устройства с псевдонимом diskette3 к базе данных:
putdev -a diskette3 desc="Floppy Diskette Drive 3" type=diskette
9.5.2. Списки устройств
9.5.2.1. Перечисление устройств с помощью меню
Можно получить список всех устройств, выбрав вариант List Devices из меню sysadm.
9.5.2.2. Перечисление устройств с помощью команд
Используйте команду getdev для составления списка устройств. Выполненная без параметров, эта команда создает список всх устройств в базе данных. Например команда:
getdvможет создать такой список:
# getdev ctape1 disk1 disk2 diskette1 spool #
Можно заказать списки, дав имена устройствам, которые следует включить в эти списки, определив критерии, по которым описываются эти устройства, или дав и имена устройств, и список критериев. Использование команды getdev позволяет получить ответы на следующие вопросы:
- для каких устройств определена команда форматирования?
- какие устройства, кроме spool, устанавливаются в базу данных устройств?
9.5.2.3. Определение устройств в командной строке getdev
Дайте имена устройствам в командной строке getdev, Напечатав
getdev [-e] device [device [...]]где device - имя устройства или устройств, которое вы хотите включить в список.
Все устройства с именами будут включены в список, если вы не используете параметр -e, который указывает, что устройства с именами должны быть исключены из списка.
9.5.2.4. Назначение имен критериям в командной строке getdev
Чтобы присвоить имя критериям в командной строке getdev, выполните
getdev [-a] criteria [criteria [...]]где criteria специфицируется по выражениям.
Есть 4 типа выражений:
- attribute=value -
- выбирает все устройства, для которых определен attribute и который равен value;
- attribute!=value -
- выбирает все устройства, для которых определен attribute и который не равен value;
- attribute:* -
- выбирает все устройства, для которых определен attribute;
- attribute!:* -
- выбирает все устройства, длякоторых attribute не определен.
Можно определить список критериев, просто дав больше одного выражения и отделив их пробелами. Устройства должны удовлетворять хотя бы одному критерию в списке, если не используется необязательный параметр -a. В этом случае в список будут включены только те устройства, которые соответствуют всем критериям. Например:
Какие устройства, кроме spool, помещаются в базу данных? Напечатайте
getdev -e spool
У каких устройств определен атрибут fmtcmd? Напечатайте
getdev fmtcmd:*
У каких устройств не определен атрибут fmtcmd? Напечатайте
getdev fmtcmd!:*
У каких устройств атрибут type определен как disk или атрибут part? Напечатайте
getdev type=disk part:*
У каких устройств атрибут type определен как disk и атрибут part? Напечатайте
getdev -a type=disk part:*(этот пример отличается от предыдущего требованием, чтобы устройство отвечало обоим критериям, а не одному).
У каких устройств в списке с их именами (disk1, disk3, disk5) атрибут type определен как disk и атрибут part? Выполните
getdev type=disk part:* disk1 disk3 disk5
9.5.3. Управление атрибутами из меню
Если вы выбираете параметр attributes - Device Attribute Management из меню Device Description, у вас появляется возможность добавлять, составлять список, модифицировать или удалять атрибуты из специфицированных устройств.
В любом случае вы называете устройство. Затам для каждого необязательного параметра, кроме list, определяете атрибут, который будет добавлен, удален или модифицирован.
9.5.3.1. Перечисление атрибутов устройства с помощью команд
Команда devattr отображает значения атрибутов устройства. Отображение может быть представлено в двух форматах:
- формат по умолчанию отображает список значений атрибутов без дескрипторной маркировки каждого атрибута;
- формат имени команды, запрашиваемый с помощью параметра -v, отображает атрибут как attribute=value.
Чтобы перечислить атрибуты устройства, напечатайте
devattr [-v] device [attribute [...]]где device - полное имя пути или псевдоимя устройства, атрибуты которого должны быть отображены;
attribute - это специфический атрибут, значение которого должно быть отображено.
Если вы не называете специфический атрибут, все атрибуты, связанные с этим устройством, отображаются в алфавитном порядке.
Например, напечатав
devattr -v diskette1вы получите следующее:
alias='diskette1' bdevice='/dev/dsk/f0t' capacity='2370' cdevice='/dev/dsk/f0t' copy='true' desc='Floppy Drive 1' erasecmd='/usr/sadm/sysadm/bin/floperase/dev/dsk/f0' fmtcmd='//usr/sbin/format -v /dev/rdsk/f0q15dt' mdensdefault='mdens1HIGH' mdenslist='mdens1HIGH, mdens1MED, mdens1LOW' mkfscmd='/sbin/mkfs -F s5 /dev/dsk/f0t 2370:592 230' mountpt='/install' removable='true' type='diskette' volume='diskette'
Чтобы увидеть только значение атрибута mountpt, напечатайте
devattr diskette1 mountpt
Это порождает
/install
Из этого примера можно видеть, что значением атрибута mountpt для устройства diskette1 является /install.
9.5.3.2. Изменение входа устройства с помощью команд
Команду putdev можно использовать для модификации существующих значений атрибутов устройства или добавления новых атрибутов к входу устройства. Для этого напечатайте:
putdev -m device attribute=value [attribute=value[...]]где device - полное имя пути или псевдоимя входа устройства, который изменяется; attribute - имя изменяемого атрибута;
value - значение, которое должно быть присвоено атрибуту.
Если специфицируемый атрибут в настоящий момент существует в базе данных, команда putdev -m изменяет значение. Если этого атрибута нет, его добавляют и дают ему значение value. Атрибут с псевдоименем нельзя изменить с помощью команды putdev -m. Это предотвращает случайное изменение или удаление псевдонима устройства из базы данных.
Чтобы удалить описание атрибута из входа в устройство, используйте синопсис -d команды putdev:
putdev -d device attributeгде device - имя входа устройства, из которого будет удалено описание атрибута;
attribute - имя атрибута.
Чтобы удалить значение атрибута, но сохранить атрибут в точке входа устройства, используйте тот же формат со следующим исключением - присвойте атрибуту значение "нуль". Например, чтобы удалить значение атрибута volume, оставив volume во входе устройства, напечатайте
putdev -m diskette1 volume=""
9.5.3.3. Удаление входа устройства с помощью команд
Команду putdev можно использовать, чтобы удалить точку входа (элемент) из базы данных устройств. Для этого напечатайте
putdev -d deviceгде device - полное имя пути или псевдоним устройства, которое удаляется из базы данных устройств.