Ques/Help/Req OpenVMS: операционная система для атомных станций. Настройка сети и активация лицензий

XakeR

Member
Регистрация
13.05.2006
Сообщения
1 912
Реакции
0
Баллы
16
Местоположение
Ukraine
Продолжаем наше увлекательное погружение в операционную систему OpenVMS. В первой части мы установили её внутри виртуальной машины VirtualBox и освоили процесс подключения через Telnet-клиент. Теперь пришла пора активировать первую лицензию на сеть, установить OpenSSH и затем активировать все остальные лицензии. Без долгих вступлений — приступим.

Особенности лицензирования​


OpenVMS, несмотря на приставку Open, имеет все черты строго коммерческого продукта. На каждый отдельный функционал операционной системы необходимо получать отдельную лицензию.

Open означает не операционную систему с открытым исходным кодом, а соответствие определению открытых систем. Такое определение было сформулировано Институтом инженеров по электронике и радиотехнике (IEEE). Открытая система должна обладать:

  • переносимостью — приложение можно перенести с одной платформы на другую


  • средствами взаимодействия — системы разных вендоров могут работать совместно, приложения можно интегрировать


  • обеспечивать мобильность пользователей — переход с одной платформы на другую должен быть безболезненным для пользователей

В предыдущей статье мы упоминали файл X86COMMUNITYPAK. Это архив с текстовым файлом, содержащим хоббийную лицензию, выдаваемую сроком на год. В нашем случае лицензия будет действительна до 1 апреля 2024 года. Фактически это скрипт, содержащий последовательно выполняемые команды. Если поменять его расширение на .COM или просто поставить знак @ перед именем, то он выполнится в виде скрипта. Проблема лишь в том, что этот файл надо доставить на целевую систему. А без сети это сделать трудно.

Активация лицензии на сеть

План действий: заставить заработать стек TCP/IP, затем для удобства запустить демона OpenSSH и через SFTP запихнуть файл с лицензией на целевую систему. Так что распаковываем архив X86COMMUNITYPAK и открываем файл X86Community-20240401.txt через Visual Studio Code или любой другой текстовый редактор. Нас интересует следующая строка:

$ SHOW LICENSE OPENVMS-X86-BOE/PRODUCER=VSI/SINCE/NOOUTPUT/TERMINATION_DATE=1-APR-2024

Начинаем вводить команды в терминале по одной, начиная с:

LICENSE REGISTER OPENVMS-X86-BOE —

Для регистрации одной лицензии надо указать следующие данные в виде /КЛЮЧ=ЗНАЧЕНИЕ — :


  • /ISSUER=


  • /AUTHORIZATION=


  • /PRODUCER=


  • /UNITS=


  • /TERMINATION_DATE=


  • /OPTIONS=


  • /CHECKSUM=

Исходя из этого можно предположить, что:


  • механизм активации лицензий пригоден не только для самой VSI, но и для сторонних производителей ПО


  • поля /PRODUCER и /ISSUER в нашем случае заполняются одинаково — VSI. Вероятно, что в качестве /PRODUCER выступает производитель приложения, а /ISSUER может быть как производитель, так и дистрибьютор. Поэтому предусмотрено два поля, а не одно


  • если покопаться на просторах файлообменных сетей, то можно обнаружить условно «бессрочные» пиратские лицензии с /TERMINATION_DATE=18-DEC-2099. Было бы интересно узнать, предельное ли это значение


  • ключ /OPTIONS может содержать всякую всячину — от указания на архитектуру до специфических значений вроде MOD_UNITS. Это означает, что количество лицензий, указанных в /UNITS, можно увеличить

Это были мысли вслух, а теперь продолжаем процедуру. После ввода всех значений лицензия не активируется автоматически. Так что потребуется ещё одна команда:

LICENSE LOAD OPENVMS-X86-BOE

Вывод выглядит следующим образом:

%LICENSE-I-LOADED, VSI OPENVMS-X86-BOE was successfully loaded with 6 units

OpenVMS в своём командном языке (DCL) поддерживает удобное сокращение команд до четырёх и менее символов. Так, SHOW LICENSE легко превращается в SH LIC. А для отрицания параметра или квалификатора нужно использовать ключевое слово NO. Например, PRINT/NOCONFIRM.

Можно сделать предположение, что DCL сильно повлиял на развитие CLI в Cisco IOS. Вспомним о командах sh run, conf t и no shut для show running-config, configure terminal и no shutdown соответственно. Да и сообщения об ошибках выглядят так же.

Давайте воспользуемся вышеуказанной командой и посмотрим, что лицензия успешно работает в системе:

$ SH LIC

Active licenses on node VMS1:

——- Product ID ——— —- Rating —— — Version —

Product Producer Units PCL Activ Version Release Termination

OPENVMS-X86-BOE VSI 6 1 0 0.0 (none) 1-APR-2024


Как видим, всё успешно. Пора заняться сетью.

Настройка сети​


В руководстве по установке сказано, что надо использовать тип сетевого адаптера Виртуальный адаптер хоста и эмуляцию адаптера Intel PRO/1000 MT Server. Но на практике отлично заработало и с обычным сетевым мостом на физическую сетевую карту. В нашем случае параметры сети в VirtualBox выглядят так:

OpenVMS: операционная система для атомных станций. Настройка сети и активация лицензий0


Пора сконфигурировать сеть. Вызовем соответствующую утилиту:

@TCPIP$CONFIG

Откроется интерактивное текстовое меню:

TCP/IP Network Configuration Procedure

This procedure helps you define the parameters required

to run VSI TCP/IP Services for OpenVMS on this system.

Checking TCP/IP Services for OpenVMS configuration database files.

VSI TCP/IP Services for OpenVMS Configuration Menu

Configuration options:

1 — Core environment

2 — Client components

3 — Server components

4 — Optional components

5 — Shutdown VSI TCP/IP Services for OpenVMS

6 — Startup VSI TCP/IP Services for OpenVMS

7 — Run tests

A — Configure options 1 — 4

[E] — Exit configuration procedure


Процедура настройки разбита на 4 шага, каждый из которых можно выполнить отдельно. Поскольку у нас первоначальная настройка, то нажимаем клавишу А. Это последовательно проведёт нас по всем шагам. Домен указываем любой, и это вернёт нас в меню Core environment.

Нажимаем цифру 2 и попадаем в раздел Interfaces:

VSI TCP/IP Services for OpenVMS Interface & Address Configuration Menu

Hostname Details: Configured=Not Configured, Active=VMS1

Configuration options:

0 — Set The Target Node (Current Node: VMS1)

1 — IE0 Menu (EIA0: TwistedPair 1000mbps)


Здесь в пункте 1 должен отобразиться доступный сетевой интерфейс и его скорость. Нажимаем соответствующую клавишу и, следуя подсказкам системы, задаём primary address:

VSI TCP/IP Services for OpenVMS Interface IE0 Configuration Menu (Node: VMS1)

Configuration options:

1 — Add a primary address on IE0

2 — Add an alias address on IE0

3 — Enable DHCP client to manage address on IE0


В нашем случае интерфейс подключён к роутеру Mikrotik, выступающему в роли DHCP-сервера. Нажимаем клавишу 3.

No interface is configured as the DHCP PRIMARY.

Either configure a DHCP PRIMARY or manually configure

the system-wide parameters.

DHCP Client configures system-wide parameters and

interface-specific parameters. Only one interface, the

DHCP «primary» interface, can receive system-wide

parameters.

Configure IE0 as the DHCP PRIMARY? (Y,N,HELP) [Y]:


Соглашаемся, нажав Y. Это активирует DHCP-клиент на интерфейсе. Теперь надо прописать основной шлюз. Нажимаем E для выхода в меню Interfaces и далее 3 для входа в меню Routing. Нас встретит традиционный для этих систем вопрос: курица или рыба:

* Do you want to configure dynamic ROUTED or GATED routing [NO]:

В квадратных скобках есть более интересный вариант — пропустить этот выбор. Так и сделаем, нажав Enter. А вот на следующий вопрос стоит дать положительный ответ:

* Do you want to configure a default route [YES]:

Просто нажимаем Enter, вводим адрес шлюза по умолчанию. У нас это 192.168.88.1. Система ругнётся на то, что этого адреса нет в её локальной базе данных, и попросит обозвать как-нибудь роутер. Вводим любое имя, например mikrotik.

И вновь мы провалились в меню Core environment. Осталось задать резолвер доменных имён, так что нажимаем цифру 4:

BIND RESOLVER Configuration

A BIND resolver has not been configured.

VSI TCP/IP Services for OpenVMS supports the Berkeley Internet Name

Domain (BIND) resolver. BIND is a network service that enables clients

to name resources or objects and share information with other objects

on the network.

Before configuring your system as a BIND resolver, you should

first be sure that there is at least one system on the network

configured as either a BIND primary or secondary server for

this domain.

You can specify a BIND server by its address or name;

however, if specified by name, an entry for it must

exist in the TCPIP$HOST database.

You will be asked one question for each server.

Press Return at the prompt to terminate the list.

Enter your BIND server name:


Вводим IP-адрес резолвера. У нас он совпадает с основным шлюзом, то есть 192.168.88.1. Система спросит, какой сервер опрашивать следующим. Просто пропускаем этот вопрос, нажав Enter.

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

%TCPIP-I-FSIPADDRUP, IE0 192.168.88.29 primary active on node VMS1, interface IE0

Это говорит о том, что сеть поднялась и роутер с лёгкой руки отсыпал адрес 192.168.88.29. Нажимаем Enter и выходим из утилиты конфигурирования. Может показаться, что на этом всё, но не тут-то было. Если виртуальную машину перезагрузить, то сеть пропадёт. Чтобы добавить сеть в автозапуск, надо отредактировать файл SYS$COMMON:[SYSMGR]SYSTARTUP_VMS.COM, найти и раскомментировать следующую строку:

$!$ @SYS$STARTUP:TCPIP$STARTUP.COM

В состав OpenVMS входит редактор EDIT. Давайте откроем наш конфигурационный файл автозагрузки:

EDIT /EDT SYS$COMMON:[SYSMGR]SYSTARTUP_VMS.COM

Он может работать в двух режимах: построчное редактирование и привычный нам визуальный режим. По умолчанию включён первый режим, и надо выполнить переключение. Вводим команду CHANGE после символа * и подтверждаем клавишей Enter. Откроется содержимое файла, перемещаться по которому можно с помощью стрелок на клавиатуре. Пролистываем вниз, находим искомую строку и приводим её к виду:

$ @SYS$STARTUP:TCPIP$STARTUP.COM

Выходим из визуального режима сочетанием клавиш Ctrl + Z и вводим команду выхода EXIT после символа *. Файл при этом сохранится.

Файлы в OpenVMS ведут себя слегка необычно. У них по умолчанию включено версионирование. Так что когда мы отредактировали SYSTARTUP_VMS.COM, то на деле мы считали файл SYSTARTUP_VMS.COM;1. Цифра после точки с запятой как раз обозначает версию. После внесения изменений мы закрыли редактор, но это не заменило содержимое файла, а создало новую его версию SYSTARTUP_VMS.COM:2.

Это кажется странным ровно до того момента, пока мы не вспомним про устройства хранения данных в те годы, когда создавалась OpenVMS. Данные хранились на магнитных лентах. Было гораздо проще и быстрее записать новую версию файла, чем отматывать ленту, позиционироваться, стирать данные и заново их записывать.

Итак, раз уж сеть настроена, то перезагрузимся командой REBOOT и пропингуем какой-нибудь внешний ресурс, например DNS Cloudflare. Вначале выполняем команду TCPIP и пишем привычную команду PING 1.1.1.1:

TCPIP> PING 1.1.1.1

PING 1.1.1.1 (1.1.1.1): 56 data bytes

64 bytes from 1.1.1.1: icmp_seq=0 ttl=59 time=10 ms

64 bytes from 1.1.1.1: icmp_seq=1 ttl=59 time=10 ms

64 bytes from 1.1.1.1: icmp_seq=2 ttl=59 time=10 ms

64 bytes from 1.1.1.1: icmp_seq=3 ttl=59 time=10 ms

—-1.1.1.1 PING Statistics—-

4 packets transmitted, 4 packets received, 0% packet loss

round-trip (ms) min/avg/max = 10/10/10 ms


Снаружи наш сервер теперь тоже пингуется:

PS C:UsersUser> ping 192.168.88.29

Обмен пакетами с 192.168.88.29 по с 32 байтами данных:

Ответ от 192.168.88.29: число байт=32 время<1мс TTL=64

Ответ от 192.168.88.29: число байт=32 время<1мс TTL=64

Ответ от 192.168.88.29: число байт=32 время<1мс TTL=64

Ответ от 192.168.88.29: число байт=32 время<1мс TTL=64

Статистика Ping для 192.168.88.29:

Пакетов: отправлено = 4, получено = 4, потеряно = 0

(0% потерь)

Приблизительное время приёма-передачи в мс:

Минимальное = 0 мс, Максимальное = 0 мс, Среднее = 0 мс


Итак, сеть успешно настроена. Переходим к настройке SSH.

Настройка OpenSSH

OpenVMS 9.2.1 по умолчанию устанавливает OpenSSH в процессе инсталляции. Но без дополнительной настройки демон работать не будет. Она начнётся с создания двух служебных пользователей и присвоения им дефолтной группы:

@SYS$COMMON:[OPENSSH.BIN]SSH$CREATE_ACCOUNT.COM

Система спросит номер группы и автоматически предложит значение 3656. Соглашаемся, нажав Enter. Теперь надо сгенерировать файл, который будет отвечать за автозапуск демона:

@SYS$COMMON:[OPENSSH.BIN]SSH$CREATE_STARTUP_FILE.COM

Система сделает все необходимые действия автоматически. Теперь генерируем ключики:

@SYS$COMMON:[OPENSSH.BIN]SSH$GENERATE_KEYS.COM

Очищаем всё лишнее:

@SYS$COMMON:[OPENSSH.BIN]SSH$INSTALL_INFO.COM

Получаем сообщение об успешном завершении очистки и готовности к работе:

Purging installed files…

Successfully finished

To automatically start OpenVMS OpenSSH during system startup

add the following line to the file SYS$MANAGER:SYSTARTUP_VMS.COM

after the TCPIP startup command procedure:

$ @SYS$STARTUP:SSH$STARTUP.COM

Define symbols for all OpenSSH utilities:

$ @SSH$ROOT:[BIN]SSH$DEFINE_COMMANDS.COM


Точно так же, как и с сетью, надо добавить демона в автозагрузку:

EDIT /EDT SYS$COMMON:[SYSMGR]SYSTARTUP_VMS.COM

Переходим в визуальный режим (CHANGE) и ищем введённую ранее строку $ @SYS$STARTUP:TCPIP$STARTUP.COM. Вводим после неё следующие две строки:

$ @SYS$STARTUP:SSH$STARTUP.COM

$ @SSH$ROOT:[BIN]SSH$DEFINE_COMMANDS.COM ALL


Первая отвечает за автозапуск демона OpenSSH, а вторая позволит нам использовать удобные алиасы в оболочке. Выходим из визуального режима Ctrl + Z и закрываем редактор EXIT. Система подтвердит, что записала уже третью версию файла.

SYS$COMMON:[SYSMGR]SYSTARTUP_VMS.COM;3 418 lines

Перезагружаемся и коннектимся к системе через любимый SSH-клиент, например PuTTY:

Last interactive login on Sunday, 13-AUG-2023 20:48:49.91

Last non-interactive login on Monday, 31-JUL-2023 19:54:34.95

$ sh sys

OpenVMS E9.2-1 on node VMS1 13-AUG-2023 21:16:35.22 Uptime 0 00:35:00

Pid Process Name State Pri I/O CPU Page flts Pages

00000401 SWAPPER HIB 16 0 0 00:00:00.03 0 17

00000404 LANACP HIB 14 61 0 00:00:00.03 217 269


Выглядит замечательно. Пришла пора нажать на газ и активировать все доступные нам лицензии.

Активация оставшихся лицензий​


Теперь, когда у нас есть доступ по сети и OpenSSH, мы можем воспользоваться SCP для копирования файлов с локальной машины. Правда, это применимо исключительно для машин с Linux. Ну а любителям Windows ничего не остаётся, кроме как применить какой-нибудь SFTP-клиент. Берём FileZilla и вводим следующие данные:


  • Host — 192.168.88.29 (у вас адрес может быть другим)


  • Username — SYSTEM


  • Password — <ВАШ_ПАРОЛЬ>


  • Port — 22

Нажимаем Quickconnect — и вуаля: содержимое виртуальной машины с OpenVMS отобразится в правой панели. Простым перетаскиванием закидываем файл с лицензией X86Community-20240401.txt на сервер:

OpenVMS: операционная система для атомных станций. Настройка сети и активация лицензий1


OpenVMS умеет любой текстовый файл выполнять в качестве скрипта. Задаём команду в консоли:

@X86Community-20240401.txt

Магия сработала — и все лицензии успешно активировались:

$ SH LIC

Active licenses on node VMS1:

——- Product ID ——— —- Rating —— — Version —

Product Producer Units PCL Activ Version Release Termination

ABS-CLIENT-X86 VSI 6 1 0 0.0 (none) 1-APR-2024

ABS-SERVER-X86 VSI 6 1 0 0.0 (none) 1-APR-2024

ACMS VSI 6 1 0 0.0 (none) 1-APR-2024

ACMS-REM VSI 6 1 0 0.0 (none) 1-APR-2024

ACMS-RT VSI 6 1 0 0.0 (none) 1-APR-2024

AVAIL-MAN VSI 6 1 0 0.0 (none) 1-APR-2024

BASIC VSI 6 0 1 0.0 (none) 1-APR-2024

C VSI 6 0 1 0.0 (none) 1-APR-2024

CARTRIDGE-SERVER-V VSI 6 1 0 0.0 (none) 1-APR-2024

CMS VSI 6 1 0 0.0 (none) 1-APR-2024

COBOL VSI 6 0 1 0.0 (none) 1-APR-2024

CXX-V VSI 6 0 1 0.0 (none) 1-APR-2024

DFG VSI 6 1 0 0.0 (none) 1-APR-2024

DFS VSI 6 1 0 0.0 (none) 1-APR-2024

DQS VSI 6 1 0 0.0 (none) 1-APR-2024

DTM VSI 6 1 0 0.0 (none) 1-APR-2024

DTR VSI 6 1 0 0.0 (none) 1-APR-2024

DVNETEXT VSI 6 1 0 0.0 (none) 1-APR-2024

FMS VSI 6 1 0 0.0 (none) 1-APR-2024

FMS-RT VSI 6 1 0 0.0 (none) 1-APR-2024

FORMS VSI 6 1 0 0.0 (none) 1-APR-2024

FORMS-RT VSI 6 1 0 0.0 (none) 1-APR-2024

FORTRAN VSI 6 0 1 0.0 (none) 1-APR-2024

GKS VSI 6 1 0 0.0 (none) 1-APR-2024

GKS-RT VSI 6 1 0 0.0 (none) 1-APR-2024

LSE VSI 6 1 0 0.0 (none) 1-APR-2024

MMS VSI 6 1 0 0.0 (none) 1-APR-2024

OMNI VSI 6 1 0 0.0 (none) 1-APR-2024

OPENVMS-X86-BOE VSI 6 1 0 0.0 (none) 1-APR-2024

OPENVMS-X86-HAOE VSI 6 1 0 0.0 (none) 1-APR-2024

OSAP VSI 6 1 0 0.0 (none) 1-APR-2024

PASCAL VSI 6 0 1 0.0 (none) 1-APR-2024

PCA VSI 6 1 0 0.0 (none) 1-APR-2024

RMSJNL VSI 6 1 0 0.0 (none) 1-APR-2024

RTR-CL VSI 6 1 0 0.0 (none) 1-APR-2024

RTR-SVR VSI 6 1 0 0.0 (none) 1-APR-2024

SAVE-SET-MANAGER VSI 6 1 0 0.0 (none) 1-APR-2024

SW-RAID5 VSI 6 1 0 0.0 (none) 1-APR-2024

TDMS VSI 6 1 0 0.0 (none) 1-APR-2024

TDMS-RT VSI 6 1 0 0.0 (none) 1-APR-2024

VAXSET VSI 6 1 0 0.0 (none) 1-APR-2024

VMSCLUSTER VSI 6 1 0 0.0 (none) 1-APR-2024

VMSCLUSTER-CLIENT VSI 6 1 0 0.0 (none) 1-APR-2024

VOLSHAD VSI 6 1 0 0.0 (none) 1-APR-2024

X25 VSI 6 1 0 0.0 (none) 1-APR-2024


Заключение​


Поздравляем! Теперь наша система полностью активирована и готова к работе. Для удобного управления у нас есть OpenSSH, а обмениваться файлами можно через FileZilla. Но это лишь начало пути. В следующей статье мы настроим веб-морду и попробуем запустить какое-нибудь кастомное приложение.

Ну а если вы ещё не видели первую часть этой статьи, то она доступна по ссылке: OpenVMS: операционная система для атомных станций (часть 1). Установка и первые опыты.
 

AI G

Moderator
Команда форума
Регистрация
07.09.2023
Сообщения
786
Реакции
2
Баллы
18
Местоположение
Метагалактика
Сайт
golo.pro
Native language | Родной язык
Русский
Sorry I couldn't contact the ChatGPT think tank :(
 
198 114Темы
635 085Сообщения
3 618 401Пользователи
EeOneНовый пользователь
Верх