Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
QNX 4 Руководство пользователя.doc
Скачиваний:
248
Добавлен:
02.05.2014
Размер:
1.02 Mб
Скачать

Часть II. Управление системой

В этой части...

Основная установка

Установка сети

Ввод учитываемых пользователей

Подключение терминалов, принтеров и модемов

Установка второй файловой системы

Развитие конфигурации сети

Буферизация печати

Построение заданного образа операционной системы

Использование системы управления версиями

Изготовление копий

Восстановление дисков и файлов

Система обновления версий Quantum

Глава 4. Основная установка

В этой главе...

Установка QNX на жестком диске

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

Файл системной инициализации

Использование файла системной инициализации

Часовые пояса и часы реального времени

Лицензирование

4.1. Установка QNX на жестком диске

Установку системы QNX на жестком диске выполняет специальная

программа install. Для того, чтобы установить QNX, выполните следу-

ющее:

Шаг 1. Загрузитесь с флоппи-дискеты

Установите boot-дискету QNX в накопитель на гибких дисках и пе-

резагрузите компьютер. Вы увидите крутящуюся стрелку в верхнем ле-

вом углу экрана, затем - заставка QNX, приветствующее сообщение и

приглашение командного интерпретатора.

Шаг 2. Выполните программу install

- 35 -

На приглашение командного интерпретатора (#) введите:

install

Следуйте за инструкциями на экране, чтобы установить QNX на

жесткий диск.

Шаг 3. Перезагрузитесь с жесткого диска

После завершения инсталляции Вам следует вынуть флоппи-дискеты

и перезагрузить Ваш компьютер с жесткого диска. ОС QNX должна на-

чать выполняться. Теперь Вам нужно войти в систему с именем root.

Шаг 4. Прочитайте "Архитектуру системы"

Очень полезно ознакомиться с базовыми принципами и работой

QNX, изложенными в "Архитектуре системы" и части 1 данного руко-

водства. В дальнейшем будем считать, что у Вас есть базовый уровень

знаний о системе QNX.

ВНИМАНИЕ. Теперь, когда Вы установили QNX на жесткий диск, Вы

можете перенастроить установку. В этом случае смот-

рите следующую часть "Файл системной инициализации".

Если у Вас есть сеть, Вам следует также ознакомиться

с главой_5 _05 "Сетевая установка".

4.2. Установка дополнительного программного обеспечения

Все дополнительные программные пакеты, поставляемые фирмой Qu-

antum для QNX 4, поставляются в стандартном сжатом формате. Вы мо-

жете установить эти пакеты, используя /etc/install, поставляемый с

операционной системой, и следуя указанным инструкциям. Вы могли бы

также использовать этот метод, чтобы установить пакеты от поставщи-

ков третьей стороны, следуя инструкциям, которые поставляются с

каждым пакетом.

ВНИМАНИЕ. Перед установкой Вашего программного обеспечения Вы

должны войти в систему, как суперпользователь (ro-

ot), при этом должен быть запущен драйвер флоп-

пи-дисковода. Для того, чтобы проверить, работает ли

драйвер, введите:

sin ver

- 36 -

Если "Floppy" не появляется в столбце NAME, наберите:

Fsys.floppy &

Для того, чтобы установить Ваше программное обеспечение, Вы

должны выполнить следующие шаги:

1. Вставить диск установки (обычно диск 1) в накопитель на гиб-

ких дисках.

2. На приглашение командного интерпретатора набрать:

/etc/install [drive]

где drive - устройство, c которого устанавливается прог-

раммное обеспечение.

Значение по умолчанию - локальный накопитель на гибких дис-

ках (/dev/fd0). Следуйте инструкциям на экране; программное обеспе-

чение будет устанавливаться на Вашем жестком диске.

4.3. Файл системной инициализации

4.3.1. Что происходит, когда Вы загружаете QNX

Когда Вы загружаете QNX, Вы загружаете образ, состоящий из

различных процессов. Первый процесс в образе - всегда Администратор

процессов (который содержит Микроядро). Администратор процессов вы-

полняет инициализацию процессора и затем планирует каждый процесс,

включенный в образ, для выполнения. Последний процесс в образе-

утилита sinit. Утилита sinit инициирует вторую фазу Вашей системной

инициализации, запуская командный интерпретатор, который выполняет

команды из файла. Этот файл - файл системной инициализации - содер-

жит команды, которые устанавливают сервисные функции машины. Это

стандартный файл командного интерпретатора, который выполняется по-

добно любому другому файлу командного интерпретатора с тем исключе-

нием, что прерывания при этом заблокированы. Выполнение сервисных

функций после загрузки - одно из преимуществ модульной архитектуры

QNX. Образ, который загружается, содержит только несколько основных

сервисных средств, с помощью которых можно запустить все другие

сервисные средства.

ВНИМАНИЕ. Возможно Вам потребуется скомпоновать образ специ-

альной загрузки для некоторых установок (например,

для встроенных систем). Ознакомившись с нормальной

системной инициализацией, для получения дополнитель-

- 37 -

ной информации Вы можете обратиться к главе 11 "Пост-

роение образа операционной системы".

При выполнении утилиты sinit сначала определяется, загружался

ли образ с диска или через сеть. Если образ загружался с диска, то

sinit проверяет, загрузка нормальная или альтернативная. (Вы можете

дополнительно выбрать альтернативную загрузку, нажимая <Esc> после

приглашения программы-загрузчика.) Исходя из этой информации, sinit

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

-------------------------------------------------------------------

Если Вы выбираете: sinit пытается обнаружить и открыть:

-------------------------------------------------------------------

нормальная загрузка /etc/config/sysinit.node

(с диска или сети) Если это не проходит,то:

/etc/config/sysinit

альтернативная загрузка /etc/config/altsysinit

(только с диска) Если это не проходит, то:

/etc/config/sysinit

-------------------------------------------------------------------

Утилита sinit будет пытаться открыть sysinit только тогда,

когда она не может открыть первый файл. Если она не может открыть

ни одного файла, sinit завершается и системная инициализация не бу-

дет выполняться. Если открытие происходит, sinit заменяется команд-

ным интерпретатором (/bin/sh) и передает ему имя открытого файла.

Каждый из файлов системной инициализации, который может быть выпол-

нен утилитой sinit, имеет конкретное назначение:

sysinit.node

sysinit

altsysinit

Файл sysinit.node

Если Вы хотите перенастроить установку, то Вам следует модифи-

цировать файл. Он содержит команды, необходимые для установки среды

и сервисных функций для Вашей машины, позволяя каждому узлу в сети

иметь его собственную установку. Суффикс "node", который использу-

ется sinit, является логическим ID Вашей машины и может принимать

значение в интервале от 1 до числа узлов в сети. Файл sysinit.1

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

отражает параметры установки, определяемые утилитой install.

- 38 -

Настройка рабочих станций

Узлы, которые загружаются через сеть с сервера (то есть рабо-

чие станции), первоначально используют для загрузки, по умолчанию,

файл sysinit. Для того, чтобы произвести настройку рабочей станции,

Вы должны создать файл sysinit.node в сервере загрузки для этой ра-

бочей станции. Вы можете начать инсталляцию с файлом sysinit.node

для другого узла с аналогичной конфигурацией или Вы можете просто

сделать копию файла sysinit, который затем можно будет модифициро-

вать:

ср /etc/config/sysinit /etc/config/sysinit.node

Запомните, что суффикс node должен быть логическим ID узла ра-

бочей станции, который Вы настраиваете.

Файл sysinit

Этот файл выполняется, если отсутствует файл sysinit.node. Он

должен содержать сервисные функции, которые выполняются на любой

машине. Quantum поставляет общий файл, который должен загрузить лю-

бую машину. Мы рекомендуем Вам делать небольшие или вовсе не делать

никаких модификаций в этом файле. Файл sysinit автоматически поме-

щается в Вашу систему во время установки.

ВНИМАНИЕ. Если Вы изменяете логический ID узла, то машина бу-

дет искать другой файл sysinit.node.

Файл altsysinit

Этот файл служит для страховки на тот случай, если модификация

в файле sysinit.node приводит к тому, что Вы не можете войти в сис-

тему. Файл altsysinit выполняется только тогда, когда Вы определяе-

те альтернативную загрузку при загрузке с локального диска (т.е. Вы

нажимаете <Esc>, когда программа-загрузчик предлагает Вам альтерна-

тивную загрузку). Файл altsysinit должен всегда содержать последнюю

рабочую копию файла sysinit.node для машины, которая загружается с

локального жесткого диска. Так, прежде, чем сделать любые изменения

в рабочем файле sysinit.node, которые могли бы препятствовать заг-

рузке с жесткого диска, Вам следует скопировать файл sysinit.node в

altsysinit:

сp /etc/config/sysinit.node /etc/confiq/altsysinit

- 39 -

Мы рекомендуем корректировать файл altsysinit после любых ус-

пешных изменений в файле sysinit.node.

4.4. Использование файла системной инициализации

4.4.1. Основные сервисные средства

Содержимое каждого системного файла инициализации отражает

состав аппаратных средств этой машины и сервисные функции, которые

они должны обеспечивать. Ниже описан основной состав сервисных

средств, который содержит большинство файлов инициализации.

ВНИМАНИЕ. Если различные машины будут использовать общий комп-

лект команд, Вы можете установить команды в отдель-

ном файле командного интерпретатора и иметь файл,

выполняемый посредством команды (точка) встроенного

командного интерпретатора. Например, Вы создали файл

techies, содержащий команды, используемые всеми ма-

шинами в Вашем техническом отделе. Файл может быть

выполнен из файла sysinit.node для каждой машины в

этом отделе следующей командой:

. /etc/config/techies

Специфические команды для данного узла добавляют после этой

"точечной" строки. Дополнительную информацию о "точечной команде"

смотрите в sh в "Utilities Reference".

Установка часовых поясов

Следующие командные строки позволяют установить часовой пояс

(EST в этом случае) и получить время с часов реального времени. Эти

две строки должны быть первыми в файле для машин, которые загружа-

ются с жесткого диска. Они являются необязательными в машине, кото-

рая загружается через сеть, т.к. машина наследует эту информацию с

узла, с которого она загружается.

export TZ=EST5DST4,M4.1.0/3,M10.5.0/3

rtc hw

Более полную информацию смотрите в следующем разделе "Часовые

пояса и часы реального времени".

- 40 -

Запуск драйверов устройств

Следующие командные строки запускают Администратор устройств и

консольный драйвер с восемью виртуальными консолями, затем задают

командному интерпретатору открыть стандартный ввод/вывод на новом

консольном устройстве.

Dev &

Dev.con -n 8 &

reopen //0/dev/con1

Следующие командные строки запускают другие драйверы, которые

могут понадобиться. Они запускают последовательный драйвер, который

работает с COM1 и COM2, и параллельный драйвер. Эти драйверы завер-

шаются, если они не смогут найти необходимые аппаратные средства.

Dev.ser &

Dev.par &

После запуска Dev.ser, Вы можете, используя утилиту stty, из-

менить принятую по умолчанию конфигурацию. Например, следующие

строки изменяют скорость передачи в бодах на 19200:

stty baud=19200 </dev/ser1

stty baud=19200 </dev/ser2

и т.п....

Запуск эмулятора процессора операций с плавающей запятой

Если Ваши программы используют режим вычислений с плавающей

запятой и у Вас нет микросхемы_80x87, Вы должны запустить эмулятор

_8процессора операций с плавающей запятой:_0

emu87 &

Отображение загрузки узлов

При загрузке узла в сети Вы должны выполнять утилиту netmap,

которая информирует Сетевой администратор о распределении ID узлов.

Вам следует установить следующую команду netmap в файле sysinit.no-

de, даже если узел в настоящий момент не работает в сети (команда

не влияет на работу машины с несетевой структурой):

netmap -f

- 41 -

Имейте в виду, что эта команда включается в стандартные файлы

sysinit, поставляемые фирмой Quantum.

Запуск сервера имен

По крайней мере на одной машине в сети должен выполняться сер-

вер глобальных имен. Вы можете запустить сервер имен на той машине,

которая не перезагружается слишком часто:

nameloc &

Вы можете также выполнить nameloc на других узлах (не более

10) для того, чтобы обеспечить избыточность в случае, если один

узел, выполняющий nameloc, выйдет из строя.

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

Следующая командная строка запускает login на первой консоли и

инициализирует все другие консоли:

tinit -T /dev/con* -t /dev/con1 &

Для инициализации используется утилита tinit. Поэтому файлы

системной инициализации, поставляемые фирмой Quantum, содержат ti-

nit.

ВНИМАНИЕ. В этом случае tinit должна быть последней командой,

выполненной в файле системной инициализации.

4.4.2. Дополнительные сервисные средства

Вы можете заказать выполнение многих других сервисных функций

в Вашем файле системной инициализации. Вам следует добавить эти ко-

манды перед строкой, содержащей команду tinit. Следующие примеры

иллюстрируют использование дополнительных сервисных функций. Имейте

в виду, что эти утилиты поддерживают опции командной строки, моди-

фицирующие их выполнение (эти опции описаны в документации для каж-

дой утилиты).

Определение внешних переменных

Определите любые внешние переменные, которые должны наследо-

ваться всеми процессами, запущенными из файла системной инициализа-

- 42 -

ции:

export var=value

Команда export описывается в sh в "Utilities Reference".

Запуск драйвера флоппи-дисковода

Запустите локальный флоппи-драйвер (если файловая система QNX

выполняется локально, не включайте первую строку):

Fsys &

Fsys.floppy &

Если флоппи-драйвер выполняется, Вы можете использовать утили-

ты vol и pax для управления специальным блочным файлом (например,

/dev/fd0). Если Вы хотите обращаться к нему, как к файловой системе

QNX, Вы должны задать его следующим образом (мы рекомендуем Вам ис-

пользовать pax, чтобы перемещать файлы между файловыми системами

QNX):

mount /dev/fd0 /fd0

Запуск файловой системы DOS

Запустите файловую систему DOS, чтобы получить доступ к флоп-

пи-дискетам и разделам DOS. Для этого необходимо, чтобы файловая

система QNX работала с драйвером для флоппи и/или жесткого диска:

Dosfsys &

Выбор сервера cron

Если Вы считаете, что машина редко будет перезагружаться, Вы

можете также запустить на ней сервер cron:

cron &

Запуск часов

Запустите часы, которые всегда будут отображать время в верх-

нем правом углу экрана:

clock -f green "+%X" &

- 43 -

4.4.3. Поддержка не USA-клавиатуры

По умолчанию, QNX консольный драйвер работает со 101-клавишной

USA-клавиатурой. Тем не менее, в QNX поддерживается целый ряд кон-

фигураций, соответствующих клавиатурам, наиболее часто используемым

в мире. Если Вам требуется выбрать конфигурацию с альтернативной

клавиатурой, то Вы можете использовать утилиту kbd. Если при уста-

новке QNX на жестком диске Вы выбираете не USA-клавиатуру, то соот-

ветствующая команда kbd будет добавлена в файл sysinit.node. Если

Вы устанавливаете рабочие станции, то Вы должны включить эту коман-

ду в их файлы sysinit.node. Имейте в виду, что Вы можете также сге-

нерировать заданные клавиатурные форматы утилитой kedit.

4.5. Часовые пояса и часы реального времени

Важно, чтобы при инициализации была установлена правильная да-

та, время и информация о часовом поясе. Эти установки должны быть

сделаны в начале Вашего файла системной инициализации. Программа

install считает, что аппаратные часы выдают правильную дату и время

и запрашивают информацию о часовом поясе. Непосредственно QNX ис-

пользует координатное универсальное время (UTC), которое часто име-

нуется временем по Гринвичу. Приложения и утилиты преобразовывают

его в локальное время, используя информацию о Вашем часовом поясе.

ВНИМАНИЕ. Если значение часового пояса не установлено, QNX

считает, что локальное время совпадает с координат-

ным универсальным временем. Проблемы возникают толь-

ко в том случае, если Вы захотите передавать файлы в

другую систему, находящуюся в другом часовом поясе.

В этом случае даты в файле окажутся смещенными на

разницу между двумя часовыми поясами. Часовой пояс

должен быть правильно установлен, если Вы планируете

использовать систему модификации версий фирмы Quan-

tum при загрузке нового программного обеспечения.

4.5.1. Установка часового пояса

Информация о часовом поясе должна быть введена перед установ-

кой текущей даты и времени. Если часы реального времени в Вашем

компьютере были установлены на местное время, то QNX необходима ин-

формация о часовом поясе для того, чтобы установить время по Грин-

вичу. В следующем примере часовой пояс, а также правила изменения

времени устанавливаются для Восточного Стандартного Времени в Се-

- 44 -

верной Америке:

export TZ=EST5DST4,M4.1.0/3,M10.5.0/3

где:

export - команда командного интерпретатора для установки

внешней переменной

TZ - имя переменной EST Восточное Стандартное Время

5 - 5 часов до времени по Гринвичу

DST - летнее время

4 - 4 часа до времени по Гринвичу

M4.1.0/3 - первое воскресенье апреля в 15 часов

М10.5.0/3 - последнее воскресенье октября в 15 часов

ВНИМАНИЕ. Дополнительную информацию о часовых поясах смотрите

в Приложении В.

4.5.2. Получение даты и времени с часов реального времени

Если Вы загружаетесь с диска, то Вам следует в первой строке

Вашего файла системной инициализации задать утилиту rtc, чтобы

установить текущую дату и время с часов реального времени. Следу-

ющие две командные строки выполнят это:

export TZ=EST5DST4,M4.1.0/3,M10.5.0/3

rtc hw

Эти команды установят дату и время в IBM АТ-совместимом компь-

ютере. Имейте в виду, что есть два возможных способа установки ча-

сов реального времени в Вашей машине:

- установка часов реального времени по Гринвичу;

- установка часов реального времени по местному времени.

Мы рекомендуем, чтобы Вы устанавливали время в часах реального

времени по Гринвичу. Но, если Вы также работаете с операционными

системами, которые устанавливают часы реального времени по местному

времени (например, DOS), Вам следует использовать утилиту rtc с оп-

цией -l ("эл"):

rtc -l hw

Этот вызов rtc указывает, что часы реального времени устанав-

ливаются по местному времени. Имейте в виду, что, когда Вы исполь-

- 45 -

зуете местное время в часах реального времени, Вы должны вручную

изменить значение часов реального времени при переходе c летнего

времени на местное.

ВНИМАНИЕ. Если время на Ваших аппаратных часах неправильное

(возможно батарея была заменена), Вам следует уста-

новить системное время, используя утилиту date, за-

тем установить часы реального времени, используя

утилиту rtc с опцией -s. Дополнительную информацию

об этих утилитах смотрите в "Utilities Reference".

Если Вы загружаетесь через сеть...

Если Вы загружаетесь через сеть, машина унаследует время по

Гринвичу и значение часового пояса, хранящееся во внешней пере-

менной из узла, с которого загружаетесь. Следовательно, Вам не

нужно вводить эту информацию в Ваш файл системной инициализации.

4.6. Лицензирование

4.6.1. Лицензирование операционной системы

Для каждого компьютера, который работает с QNX, должно быть

получено разрешение. Причем неважно, используете ли Вы 10 автоном-

ных машин или 10 машин с сетевой структурой. В сети каждая машина

называется "узлом" и каждому узлу присвоен логический ID узла. Ло-

гический ID узлов изменяется в пределах от 1 до общего количества

узлов в сети. Например, для сети имеются разрешения (лицензии) для

трех узлов - логические ID узлов 1, 2 и 3. Вы устанавливаете размер

сети, выполняя утилиту license (смотрите раздел "Расширение Вашей

лицензии"). Для того, чтобы проверить лицензирование, Вы можете ис-

пользовать команду ls. Следующий рисунок определит одноузловую

QNX-лицензию:

ls /etc/license

qnxO000178n001

--- ----

Ё ------- Ё

Ё Ё ЁНомер узлов

Ё ЁСерийный номер

ЁПродукт

Если Вы установили другие QNX-приложения (например, Watcom C),

их лицензии также будут отображаться на экране.

- 46 -

4.6.2. Лицензирование приложений

Приложения обычно получают лицензии на узел или на параллель-

ное использование.

Лицензирование на узел

Большинство приложений получают лицензии на узел в QNX сети

так же, как и операционная система. Если у Вас есть приложение с

лицензией, скажем, на три узла, то Вы ограничены выполнением его

только на трех узлах сети. (Ваш сетевой лицензионный размер может

превысить лицензионный размер для приложения.) Вы можете выполнять

многочисленные вызовы приложения на каждом лицензионном узле. Когда

Вы выполняете приложение с лицензией на узел, то узел будет исполь-

зовать одну из лицензий. Лицензия останется с этим узлом до тех

пор, пока он не перезагружается. По соглашению, последовательные

номера, которые завершаются комбинацией "nddd", лицензируются на

узел.

Лицензия на параллельное использование

Приложения могут также быть лицензированы на несколько копий

для параллельного использования. Например, если приложение лицензи-

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

но в сети до трех копий. Имейте в виду, что на несетевой одноузло-

вой машине, можно выполнить только три параллельных вызова. По сог-

лашению серийные номера, оканчивающиеся на "uddd", задают лицензию

на параллельное использование.

4.6.3. Расширение Вашей лицензии

Вы расширяете Ваш лицензионный объем для операционной системы

или приложения, используя утилиту license. Эта утилита устанавлива-

ет лицензионные серийные номера с флоппи-дискет на жесткий диск.

Каждая дискета загрузки QNX и прикладная дискета содержит серийный

номер лицензии для одного узла (или для одного использования). В

следующем примере лицензия передается с накопителя на гибких дисках

("накопитель A:" в DOS-терминологии) на Ваш жесткий диск. Имейте в

виду, что флоппи-драйвер (Fsys.floppy), должен выполняться посредс-

твом:

license

- 47 -

ВНИМАНИЕ. После добавления новых серийных номеров в Ваш комп-

лект лицензий Вы должны активизировать их. Для этого

Вы можете запустить license -r, которая считает ли-

цензии из /etc/licenses на жестком диске и установит

их в лицензионную базу данных в памяти машины. В се-

ти Вы можете выполнить license -R node, чтобы прочи-

тать новые лицензии из текущей внутренней лицензион-

ной базы данных другого узла.

Любые машины, загружающиеся через сеть, наследуют серийные но-

мера машины, с которой они загружались. Если Вы хотите загрузить

машины, работающие в сети, с их локального жесткого диска, Вы долж-

ны использовать утилиту license, чтобы добавить серийные номера на

каждый жесткий диск, с которого Вы хотите загрузиться. Как только

Вы сделали это на одном жестком диске, Вы можете использовать ути-

литу license, чтобы скопировать серийные номера через сеть с одного

жесткого диска на другой и, таким образом, избежать повторной заг-

рузки с флоппи-дискеты. Имейте в виду, что лицензионные файлы не

могут быть скопированы утилитой cp. Дополнительную информацию об

утилите license смотрите в "Utilities Reference".

ВНИМАНИЕ. Для получения лицензии через сеть на сервере загруз-

ки (машина с лицензиями) должна выполняться утилита

nameloc. Если машина имеет локальный жесткий диск (с

лицензиями) и сетевую плату, но работает не в сети

(например, портативная), на ней также должна быть

выполнена утилита nameloc для получения лицензии.

.

- 48 -