Смекни!
smekni.com

Администрирование локальных сетей (стр. 20 из 39)

bash-2.04$ lssf /dev/dsk/c0t6d0

sdisk card instance 0 SCSI target 6 SCSI LUN 0 section 0 at address 2/0/1.6.0 /dev/dsk/c0t6d0

bash-2.04$ lssf /dev/null

pseudo driver mm minor 0x000002 /dev/null

Системная конфигурация

Утилита ioscan является одной из наиболее полезных утилит для просмотра системной информации. Ее можно использовать для построения аппаратного адреса устройства. В простейшем виде ioscan показывает аппартный путь (адрес), класс устройства и описание. Опции –u (используемые устройства) или –k (структуры ядра) дают быстрый результат без сканирования оборудования.

# /usr/sbin/ioscan

H/W Path Class Description

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

bc

1 graphics Graphics

2 ba Core I/O Adapter

2/0/1 ext_bus Built-in SCSI

2/0/1.2 target

2/0/1.2.0 disk TOSHIBA CD-ROM XM-5401TA

2/0/1.5 target

2/0/1.5.0 disk SEAGATE ST32151N

2/0/1.6 target

2/0/1.6.0 disk SEAGATE ST32151N

2/0/1.7 target

2/0/1.7.0 ctl Initiator

2/0/2 lan Built-in LAN

2/0/4 tty Built-in RS-232C

2/0/6 ext_bus Built-in Parallel Interface

2/0/8 audio Built-in Audio

2/0/10 pc Built-in Floppy Drive

2/0/11 ps2 Built-in Keyboard

4 ba EISA Adapter

5 ba Core I/O Adapter

5/0/1 hil Built-in HIL

5/0/2 tty Built-in RS-232C

8 processor Processor

9 memory Memory

#

Использование ключа –f приводит к выдаче полной информации включая номер интерфейса или интерфейсной карты.

Class I H/W Path Driver S/W State H/W Type Description

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

bc 0 root CLAIMED BUS_NEXUS

graphics 0 1 graph3 CLAIMED INTERFACE Graphics

ba 0 2 bus_adapter CLAIMED BUS_NEXUS Core I/O Adapter

ext_bus 0 2/0/1 c720 CLAIMED INTERFACE Built-in SCSI

target 0 2/0/1.2 tgt CLAIMED DEVICE

disk 0 2/0/1.2.0 sdisk CLAIMED DEVICE TOSHIBA CD-ROM XM-5401TA

target 1 2/0/1.5 tgt CLAIMED DEVICE

disk 1 2/0/1.5.0 sdisk CLAIMED DEVICE SEAGATE ST32151N

target 2 2/0/1.6 tgt CLAIMED DEVICE

disk 2 2/0/1.6.0 sdisk CLAIMED DEVICE SEAGATE ST32151N

target 3 2/0/1.7 tgt CLAIMED DEVICE

ctl 0 2/0/1.7.0 sctl CLAIMED DEVICE Initiator

lan 0 2/0/2 lan2 CLAIMED INTERFACE Built-in LAN

tty 0 2/0/4 asio0 CLAIMED INTERFACE Built-in RS-232C

ext_bus 1 2/0/6 CentIf CLAIMED INTERFACE Built-in Parallel Interface

audio 0 2/0/8 audio CLAIMED INTERFACE Built-in Audio

pc 0 2/0/10 fdc CLAIMED INTERFACE Built-in Floppy Drive

ps2 0 2/0/11 ps2 CLAIMED INTERFACE Built-in Keyboard

ba 2 4 eisa CLAIMED BUS_NEXUS EISA Adapter

ba 1 5 bus_adapter CLAIMED BUS_NEXUS Core I/O Adapter

hil 0 5/0/1 hil CLAIMED INTERFACE Built-in HIL

tty 1 5/0/2 asio0 CLAIMED INTERFACE Built-in RS-232C

processor 0 8 processor CLAIMED PROCESSOR Processor

memory 0 9 memory CLAIMED MEMORY Memory

Использование ключа –n приводит к тому что ioscan дополнительно выдает информацию о файле устройства:

target 0 2/0/1.2 tgt CLAIMED DEVICE

disk 0 2/0/1.2.0 sdisk CLAIMED DEVICE TOSHIBA CD-ROM XM-5401TA

/dev/dsk/c0t2d0 /dev/rdsk/c0t2d0

target 1 2/0/1.5 tgt CLAIMED DEVICE

disk 1 2/0/1.5.0 sdisk CLAIMED DEVICE SEAGATE ST32151N

/dev/dsk/c0t5d0 /dev/rdsk/c0t5d0

В том случае когда драйвер устройства не может быть автоматически сконфигурирован и соответствующий файл устройства оказывается несозданным приходится создавать его вручную с помощью команд mkfs или mknod. Ядро взаимодействует с аппаратным обеспечением ассоциируя имя драйвера и аппаратный адрес. Стандартный интерфейс HP-UX к драйверам поставляется вместе с библиотекой /usr/conf/lib/libhp-ux.a. Ядро распознает интерфейсные драйвера и драйвера устройств через младшие и старшие нгомера “прошитые“ в файлах устройств.



Старший номер (major number)

Старший номер, как уже было сказано раньше является индексом в таблице переключателя устройств ядра. Для нахождения правильного старшего номера можно воспользоваться программой lsdev. Она считывает заголовки и список драйверов сконфигурированных в ядре с ихними блочными и символьными старшими номерами. Номера выводятся в десятичной форме, -1 означает либо то что устройство является модулем, драйвер несконфигурирован либо драйвер не поддерживает какогото из режимов (блочного или символьного).

Младший номер (minor number)

Младший номер определяет собой: расположение устройства и его драйвер-зависимые характеристики. Некоторые примеры младших номеров файлов устройств приведено ниже. Более полную информацию можно почерпнуть из руководства “Configuring HP-UX for Peripherals”.

SCSI Disk device. Рассмотрим что означает младший номер 0x023000 у SCSI устройства.

bits 8-11 12-15 16-19 20-23 24-27 28-31
Binary 0000 0010 0011 0000 0000 0000
hex 0 2 3 0 0 0

0000 0010 Первые восемь бит идентифицируют интерфейс или интерфейсную карту

0011 SCSI адрес диска

оставшиеся биты нулевые.

SCSI ленточный накопитель.

Bits 16-19 20-23 24-27 28-31
Binary SCSI номер SCSI LUN 24 – поведение как у BSD систем при закрытии 25 – без перемотки26 – конфигурационный метод (если 1 то биты от 27 до 31 означают индекс, если 0 то плотность записи)27-31 Индекс/плотность записи

Создавать файлы устройств можно с помощью команды mknod. Она имеет следующий синтаксис:

mknod file_name [c|b] major minor

например

mknod /dev/null c 3 0x000002

4.8 Инсталирование периферии на примере ленточного накопителя.

Прежде чем перейти к включению ленточного накопителя нужно убедится в том что его SCSI id не совпадает ни с одним из уже установленных устройств (диски, CD-ROM, …). После физического подключения накопителя к SCSI шине необходимо в ядро. В случае использования SAM для этого необходимо войти в раздел Kernel Configuration -> Drivers, в списке драйверов найти stape, и активировать его выбрав опцию Actions -> Adddriver to Kernel. После выхода из окна конфигурации ядра SAM предложит перестроить я дро и перегрузить компьютер, также создаст все необходимые файлы устройств в каталоге /dev/rmt. Все тоже самое можно сделать используя командыв hpux как это было указано выше. В качестве имя драйвера нужно использовать stape.

# cd /stand/build

# /usr/lbin/sysadm/system_prep –v –s system

# vi system

# /usr/sbin/mk_kernel –s system

# mv /stand/system /stand/system.prev

# mv /stand/vmunix /stand/vmunix.prev

# mv /stand/build/system /stand/system.prev

# mv /stand/build/vmunix_test /stand/vmunix

# shutdown –r now

# ioscan –f –C tape

Class I H/W Path Driver S/W State H/W Type Description

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

tape 0 2/0/1.3.0 stape CLAIMED DEVICE HP HP35480A

# lsdev | grep tape

205 -1 stape tape

# mkdir /dev/rmt

# cd /dev/rmt

# mknod 0m c 205 0x003000

# mknod 0mn c 205 0x003040

# mknod 0mnb c 205 0x0030c0

Примечание: младшие номера для файла устройств можно узнать из файла /usr/include/sys/mtio.h (раздел Masks for minor number bits )

4.9 Инсталирование софта

Для работы с программными пакетами существует целая серия команд. Эти команды носят название SD-UX команды. Приведем список основных из них:

swintsall инсталирование программных пакетов

swremove удаление программных пакетов

swlist список инсталированого програмного обеспечения

swacl просмотр и модификация прав для защиты программных компонент

Управление процессами

Что такое процесс ?

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

· програмными данными (переменные, массивы, записи …)

· номером процесса PID,номером процесса родителя PPID, и номером группы процессов PGID

· идентификатором пользователя и группы PID, GID

· информацией о открытых файлах

· текущей рабочей директорией

Взаимоотношения процессов

Процессы в системе постороены по иерархическому принципу родитель-потомок. Каждый процесс (за исключением init) имеет одного родителя, но каждый родитель может иметь несколько потомков. Процесс потомок наследует окружение родителя (переменные окружения, открытые файлы, рабочую директорию). Все процессы за исключением init, pagedaemon, и

swapper) принадлежат к группам процессов.

Процесс ID и родительский процесс ID.

Во время создания процесса HP-UX назначает ему уникальный номер известный как процесс ID (PID), именно по этому номеру ядро идентифицирует процесс при выполнении системных вызовов. Помомо PID процесс имеет параметр как PPID (PID родителя). Используя программу ps можно посмотреть эти параметры:

$ ps -f

UID PID PPID C STIME TTY TIME COMMAND

torry 3865 3699 2 13:35:43 ttyp3 0:00 ps -f

torry 3699 3698 0 12:58:21 ttyp3 0:00 ksh

Идентификаторы пользователя и группы. (реальные и эффективные)

Помимо PID и PPID процесс имеет еще ряд идентификационных номеров:

* реальный идентификатор пользователя (a real user ID)

* реальный идентификатор группы (a real group ID)

* эффективный идентификатор пользователя (effective user ID)

* эффективный идентификатор группы effective group ID.

Реальный идентификатор пользователя это целое число показывающее владельца процесса. Реальный идентификатор группы это целое число показывающее группу к которой принадлежал пользователь создатель процесса. Комманда id показывает оба этих значения.

%id

uid=513(torry) gid=20(users)

% grep 513 /etc/passwd

torry:EqqHevH:513:20:Torry Ho,[44MY],474-1969 ,:/home/torry:/usr/bin/csh

Эффективный идентификатор пользователя и группы процесса позволяет процессу получать доступ к файлам или выполнять программы как пользователь имеющим ID равным эффективному.Обычно реальный и эффективные идентификаторы процессов совпадают, но не всегда. Когда эффективный идентификатор равен нулю, процесс начинает выполнять системные вызовы как администратор системы.

Эффективный идентификатор пользователя игруппы остаються установленными до:

* окончания процесса.

* пока они не заменяться при выполнении системного вызова exec() программы c

установленными битами setuid или setgid.

* пока эффективный, реальный или сохраненные идентификаторы группы и пользователя не будут установлены системными вызовами setuid(), setgid(), setresuid().

Группы процессов

Каждый процесс за исключением системных процессов таких как init и swapper принадлежат к группе процессов. Когда созхдается задание, шелл присваивает всем процессам в задании одну и туже группу процессов. Сигналы при этом могут распостраняться на все процессы в группе, в этом и заключается преимущество управления заданиями. Каждая группа процессов идентифицируется целым числом которое называется Process Group ID (PGID). PGID у группы процессов равен PID лидера группы – создателя группы. Все процессы в группе имеют одинаковый GID. PGID не может быть использован системой пока живет группа процессов. Время жизни группы процессов определяется как период времени между созданием группы и когда процесс покидает группу. Процесс покидает группу если: