1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DockerでメインフレームOSを動かす(マスターコンソール起動)

Posted at

メインフレームOSのマスターコンソールで入力するようなコマンドは、Hercules HTTPサーバ(localhost:8038)にアクセスすれば入力できるのですが、3270エミュレータでマスターコンソールに接続したくなったので、以下覚書。

3270エミュレータでマスターコンソールに接続できる設定をする

ホスト側で次のコマンドを入力してコンテナに入ります。

docker-compose run --rm turnkey4 bash -p

コンテナ側で次のコマンドでマスターコンソールモードの設定をします。

/opt/turnkey4/unattended/set_console_mode

を入力します。

Hercules console mode activated for unattended operations (mvs.bat)
Press any key to continue...

と表示されますので、何かキーを入力します。

コンテナ側で次のコマンドで正しく設定されたか確認します。

cat /opt/turnkey4/unattended/mode

CONSOLEと表示さればOKです。

CONSOLE
exit

でコンテナから抜けます。

マスターコンソールに3270エミュレータで接続してみる

メインフレームOSの起動

ホスト側でコンテナを起動します。

docker-compose up -d

ホスト側で次のコマンドを入力して、メインフレームOSの実行ログを表示してOSが起動したか確認します。

docker exec -it prj_turnkey4_turnkey4_1 bash -c 'tail -f /opt/turnkey4/log/3033.log'

次が表示されたら起動完了です。

HHC01603I *
HHC01603I *                           ************   ****  *****          ||
HHC01603I *                           **   **   **    **    **           |||
HHC01603I *                           **   **   **    **   **           ||||
HHC01603I *                                **         **  **           || ||
HHC01603I *        |l      _,,,---,,_      **         ** **           ||  ||
HHC01603I * ZZZzz /,'.-'`'    -.  ;-;;,    **         ****           ||   ||
HHC01603I *      |,4-  ) )-,_. ,( (  ''-'  **         *****         ||    ||
HHC01603I *     '---''(_/--'  `-')_)       **         **  **       ||     ||    ||||||||||
HHC01603I *                                **         **   **      |||||||||||  Update 08
HHC01603I *       The MVS 3.8j             **         **    **            ||
HHC01603I *     Tur(n)key System           **         **     **           ||
HHC01603I *                              ******      ****     ***       ||||||
HHC01603I *
HHC01603I *            TK3 created by Volker Bandke       vbandke@bsp-gmbh.com
HHC01603I *            TK4- update by Juergen Winkelmann  winkelmann@id.ethz.ch
HHC01603I *                     see TK4-.CREDITS for complete credits
HHC01603I *
HHC02264I Script 5: file scripts/tk4-.rc processing ended

マスターコンソール用デバイス番号の10番に接続できるようにする

Webブラウザを立ち上げ、Hercules HTTPサーバ(localhost:8038)にアクセスします。

Command:テキストボックスに

attach 010 3270 CONS

を入力し、Sendボタンをクリックします。これはデバイス番号010に3270エミュレータで接続できるようにするおまじないです。

次にホスト側でマスターコンソールに3270エミュレータで接続するコマンドをたたきます。

./cons.sh

中身はこんな感じ。10@localhost:327010@の所に注目してください。これが上記のデバイス番号010と対応しています。

#!/bin/sh
export TERM=xterm_my
c3270 -charset us-intl -model 3279-2 -keymap c3270.keymap 10@localhost:3270

./cons.shをたたいた後は、次のような画面が表示されます。Device numberに注目してください。0:0010となっていて、上記のデバイス番号010と対応しています。

File      Options   Keypad

 Hercules Version  : 4.00
 Host name         : 47c973fd15e2
 Host OS           : Linux-5.10.102.1-microsof #1 SMP Wed Mar 2 00:30:59 UTC 202
 Host Architecture : x86_64
 Processors        : MP=4
 LPAR Name         : HERCULES
 Device number     : 0:0010

次にWebブラウザ側のHercules HTTPサーバ(localhost:8038)に戻り、Command:テキストボックスに

/v 010,console,auth=all

を入力し、Sendボタンをクリックします。

ホストOS側のマスターコンソール画面を見て、次のような画面が表示されればOKです。

  IEE152I     ENTER     CANCEL     D C,K


  IEE163I MODE= RD

ホスト側でbashを起動し、Hello World!を表示するJCLを次のコマンドでメインフレームOSに投入してみます。

./hercsub localhost:3505 hellocob.jcl

マスターコンロール側に画面を切り替えてみると、次のようにHello World!が表示されていればOKです。

File      Options   Keypad

      JOB   19  $HASP100 COBOL    ON READER1     MADILLOAR
      JOB   19  IEF677I WARNING MESSAGE(S) FOR JOB COBOL    ISSUED
    - JOB   19  $HASP373 COBOL    STARTED - INIT  1 - CLASS A - SYS TK4-
    - JOB   19  +Hello World!
    - JOB   19  $HASP395 COBOL    ENDED
                $HASP309    INIT  1 INACTIVE ******** C=A
      JOB   19  $HASP150 COBOL    ON PRINTER1       370 LINES
                $HASP160 PRINTER1 INACTIVE - CLASS=A
      JOB   19  $HASP250 COBOL    IS PURGED











  IEE152I     ENTER     CANCEL     D C,K


  IEE163I MODE= RD
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?