当前位置:   article > 正文

ubuntu 编译 hercules 主机安装 z/OS 教程_hercules 安装

hercules 安装

前言背景

现在程序员行业挺抢手,Java, Python 等等程序语言各大公司都有很大的需求,当中有一个行业,其实比较容易忽略,就是银行的程序员。银行系统其实有各种程序员需要,无论 Java, Python, 还是 Cobol 都很需要人手的。可是刚毕业的宝宝们大多选 Java,Python 这些,Cobol 却没啥人问津,加上刚毕业学生其实也不知道如何学 Cobol。

开始之前先简单比较一下:主机程序员 跟 Java 程序员

主机程序员Java 程序員
流行程度非常不流行非常流行
行业银行,大型保险公司,政府各种公司都需要
工资100+30%100%
竞争没啥人会,抢的人不多大多人都会,很多人跟你抢
技术基本 Cobol,JCL,DB2除了基本Java,要求使用多种框架技术 e.g. Spring, MyBatis, Hibernate, Database
前景

10-20年,只要系统没更换,平常比较稳定

比较长远

今天老程序员在这里分享一下,如何自己搭建一个学习主机开发的环境。

安装前规划

安装 z/OS 其实有很多选择

可以安装在虚拟器,也可以装在实体机器上

可以在 Windows 上安装,也可以在 Linux 上安装

z/OS 是操作系统,有不同版本,MVS -> OS380 -> OS390 -> z/OS

MVS 是开源可以免费取得的,一般公司使用的是 IBM z/OS 最新版本 z/OS V2R4

普通学习机用 z/OS V1R10 也足够

(如果是学习资金非常充足的,可以到 IBM 官网申请 zPDT 个人版学习系统,也是 Linux)

这里示范的是用实体机器 Ubuntu 系统,自行编译 hercules,再跑 z/OS V1R10

实体机器: Xeon E3 1240 V2 老 CPU + 32GB RAM + 120GB SSD + Ubuntu 20.04 LTS

实体机器 IP: 192.168.50.15

  1. kazuya@ubuntu: ~
  2. $ uname -a
  3. Linux ubuntu 5.4.0-81-generic #91-Ubuntu SMP Thu Jul 15 19:09:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
  4. kazuya@ubuntu: ~
  5. $ ifconfig
  6. eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  7. inet 192.168.50.15 netmask 255.255.255.0 broadcast 192.168.50.255
  8. inet6 fe80::76d0:2bff:fe28:c17f prefixlen 64 scopeid 0x20<link>
  9. ether ***************** txqueuelen 1000 (Ethernet)
  10. RX packets 310 bytes 39339 (39.3 KB)
  11. RX errors 0 dropped 59 overruns 0 frame 0
  12. TX packets 203 bytes 26107 (26.1 KB)
  13. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  14. device interrupt 20 memory 0xf7400000-f7420000
  15. lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
  16. inet 127.0.0.1 netmask 255.0.0.0
  17. inet6 ::1 prefixlen 128 scopeid 0x10<host>
  18. loop txqueuelen 1000 (Local Loopback)
  19. RX packets 27 bytes 3059 (3.0 KB)
  20. RX errors 0 dropped 0 overruns 0 frame 0
  21. TX packets 27 bytes 3059 (3.0 KB)
  22. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

另外,还要自己定2个 IP 用来给 Ubuntu 和 z/OS 之间内部联系,可以随便选,按 Hercules 官网教学,定为

192.168.200.1  (这个给 z/OS 用)

192.168.200.2 (这个给 Ubuntu 用)

Ubuntu 要连去 z/OS,连 192.168.200.1 就可以

例如: 在 Ubuntu 里要连去 z/OS ftp

  1. kazuya@ubuntu: ~
  2. $ ftp 192.168.200.1

虽然 192.168.200.1/2 是内部联系,如果有另外一个机器,例如,另一台实体机器 Mac (IP 192.168.50.11),要连到 Ubuntu 内的 z/OS,也可以容易配置

下一步就是取得所需的 z/OS,这个自己发灰,下面是 z/OS V1R10 v1.10 版本

包括了 DB2, WAS, IMS, Java 等等,可以挺全面的学习

网上大多数是带副档名 e.g. .CCKD 有没有都是一样

这些劵,下了在 Linux 或 Windows 都是通用的

最底下的 hercules.cnf 是 Hercules 的配置档,是灵魂

而 UAPP01, USRG01, UTMP01 是自己建立的劵, 用来在 z/OS 放自己的东西

UAPP01 一会用来放 HFS 新版的 Java SDK J8.0

USRG01 放自己写的 Program, Script 等等

UTMP01 用来放暂存,例如解压档暂存

SYSCPK 是額外的編譯工具劵,例如學習 RPG 等等

可以用 hercules 自带的工具 dasdinit 来建立新的劵

例如:建立 USRG01 3390 是劵的格式带不同格式,3390 大概可以装 900MB 东西

dasdinit -a /home/kazuya/zos/USRG01 3390 USRG01

zzsacard.bin 是一个还原小工具,Hercules 里自带的,hercules.cnf 里面要配置,所以,复制出来,.cnf 统一指向本地目录

  1. kazuya@ubuntu: ~/zos
  2. $ pwd
  3. /home/kazuya/zos
  4. kazuya@ubuntu: ~/zos
  5. $ ls -l | grep kazuya
  6. -rwxrwxrwx 1 kazuya kazuya 529743872 Aug 22 22:08 SARES1
  7. -rwxrwxrwx 1 kazuya kazuya 30970765 Aug 22 22:08 SYSCPK
  8. -rwxrwxrwx 1 kazuya kazuya 226248596 Aug 22 22:08 ZACIC1
  9. -rwxrwxrwx 1 kazuya kazuya 170905505 Aug 22 22:08 ZADB81
  10. -rwxrwxrwx 1 kazuya kazuya 308625683 Aug 22 22:08 ZADB82
  11. -rwxrwxrwx 1 kazuya kazuya 1111670784 Aug 22 22:08 ZADB83
  12. -rwxrwxrwx 1 kazuya kazuya 1107853312 Aug 22 22:08 ZADB84
  13. -rwxrwxrwx 1 kazuya kazuya 201001999 Aug 22 22:08 ZADB91
  14. -rwxrwxrwx 1 kazuya kazuya 835317373 Aug 22 22:08 ZADB92
  15. -rwxrwxrwx 1 kazuya kazuya 565875480 Aug 22 22:08 ZADIS1
  16. -rwxrwxrwx 1 kazuya kazuya 459112448 Aug 22 22:08 ZADIS2
  17. -rwxrwxrwx 1 kazuya kazuya 288735232 Aug 22 22:08 ZADIS3
  18. -rwxrwxrwx 1 kazuya kazuya 801079296 Aug 22 22:08 ZADIS4
  19. -rwxrwxrwx 1 kazuya kazuya 690978816 Aug 22 22:08 ZADIS5
  20. -rwxrwxrwx 1 kazuya kazuya 933675008 Aug 22 22:08 ZADIS6
  21. -rwxrwxrwx 1 kazuya kazuya 242821373 Aug 22 22:08 ZAIMS1
  22. -rwxrwxrwx 1 kazuya kazuya 878364452 Aug 22 22:08 ZAPRD1
  23. -rwxrwxrwx 1 kazuya kazuya 716280541 Aug 22 22:08 ZAPRD2
  24. -rwxrwxrwx 1 kazuya kazuya 968475738 Aug 22 22:08 ZAPRD3
  25. -rwxrwxrwx 1 kazuya kazuya 34307 Aug 22 22:08 ZAPRD4
  26. -rwxrwxrwx 1 kazuya kazuya 564331245 Aug 22 22:08 ZARES1
  27. -rwxrwxrwx 1 kazuya kazuya 403303341 Aug 22 22:08 ZARES2
  28. -rwxrwxrwx 1 kazuya kazuya 94654623 Aug 22 22:08 ZASYS1
  29. -rwxrwxrwx 1 kazuya kazuya 682986497 Aug 22 22:08 ZAUSS1
  30. -rwxrwxrwx 1 kazuya kazuya 1296174118 Aug 22 22:08 ZAWAS1
  31. -rwxrwxrwx 1 kazuya kazuya 1520287744 Aug 22 22:08 ZAWAS2
  32. -rwxrwxrwx 1 kazuya kazuya 1691123712 Aug 22 22:08 ZAWAS3
  33. -rwxrwxr-x 1 kazuya kazuya 2997 Aug 22 09:37 hercules.cnf
  34. -rw-rw-r-- 1 kazuya kazuya 29520 Aug 21 21:47 zzsacard.bin
  35. -rwxrwxrwx 1 kazuya kazuya 949663232 Aug 22 22:02 UAPP01
  36. -rwxrwxrwx 1 kazuya kazuya 949663232 Aug 22 10:13 USRG01
  37. -rwxrwxrwx 1 kazuya kazuya 949663232 Aug 22 22:02 UTMP01

编译 hercules

Hercules 是一个模拟器,装了可以跑不同的 z/OS 操作系统,就像在 Windows 上要跑 Linux,可以装 VMWare Player, Virtual Box 或自带的 Windows Hyper-V。

目前 Hercules 带2个版本,官网的 Hercules 已经没更新了,不过还是可用的,最新是 3.13。

http://www.hercules-390.eu

建议使用由 SDL 维护的版本,名字叫 hyperion,SDL 全名叫 Software Development Laboratories 是一个叫 David 的人维护,SDL 也开发 GUI 版本 Windows 程序和 CTCI-Win (用来在 Windows 上主客联网的工具),SDL 的工具是收费的,但可以试用,而且是不限时,不限功能。

https://github.com/SDL-Hercules-390/hyperion

首先,git clone 把 hyperion 下载回来

  1. kazuya@ubuntu: ~/tmp
  2. $ pwd
  3. /home/kazuya/tmp
  4. kazuya@ubuntu: ~/tmp
  5. $ git clone https://github.com/SDL-Hercules-390/hyperion.git

然后给 ubuntu apt update upgrade 和安装基本编译工具 

  1. sudo apt update
  2. sudo apt upgrade
  3. sudo apt install m4 make autoconf automake cmake flex build-essential regina-rexx libbz2-dev libregina3-dev zlib1g-dev unzip c3270 ncat libltdl-dev

 然后切换到 hyperion 目录,先跑 bldlvlck 来检查一下系统编译需求是否满足,然后,再 make,-j8 可以根据实际机器 CPU core 核心数来设,这样编译快一点,例如 Xeon E3 1240 V2 是4核,支援超线程,所以,4x2,设为 8

  1. cd /home/tmp/hyperion
  2. ./util/bldlvlck
  3. ./configure
  4. make clean
  5. make -j8
  6. sudo make install

编译好了,建议 make install 把 hercules 安装到用户程序目录,像下面

这样运行 hercules 也不用输完整路径 /home/tmp/hyperion/hercules,直接 hercules 就可以

  1. kazuya@ubuntu: /usr/local/bin
  2. $ ls -ltr
  3. total 24216
  4. -rwxr-xr-x 1 root root 15347 Aug 21 21:32 voldsext.cmd
  5. -rwxr-xr-x 1 root root 1376 Aug 21 21:32 dasdlist
  6. -rwxr-xr-x 1 root root 627576 Aug 21 21:32 cckdcdsk
  7. -rwxr-xr-x 1 root root 627128 Aug 21 21:32 cckdcomp
  8. -rwxr-xr-x 1 root root 663696 Aug 21 21:32 cckddiag
  9. -rwxr-xr-x 1 root root 627320 Aug 21 21:32 cckdswap
  10. -rwxr-xr-x 1 root root 627608 Aug 21 21:32 cckdcdsk64
  11. -rwxr-xr-x 1 root root 627160 Aug 21 21:32 cckdcomp64
  12. -rwxr-xr-x 1 root root 664376 Aug 21 21:32 cckddiag64
  13. -rwxr-xr-x 1 root root 627344 Aug 21 21:32 cckdswap64
  14. -rwxr-xr-x 1 root root 658768 Aug 21 21:32 convto64
  15. -rwxr-xr-x 1 root root 654704 Aug 21 21:32 cckdmap
  16. -rwxr-xr-x 1 root root 650872 Aug 21 21:32 dasdcat
  17. -rwxr-xr-x 1 root root 679056 Aug 21 21:32 dasdconv
  18. -rwxr-xr-x 1 root root 675272 Aug 21 21:32 dasdcopy
  19. -rwxr-xr-x 1 root root 630056 Aug 21 21:32 dasdinit
  20. -rwxr-xr-x 1 root root 678472 Aug 21 21:32 dasdconv64
  21. -rwxr-xr-x 1 root root 678352 Aug 21 21:32 dasdcopy64
  22. -rwxr-xr-x 1 root root 630072 Aug 21 21:32 dasdinit64
  23. -rwxr-xr-x 1 root root 642944 Aug 21 21:32 dasdisup
  24. -rwxr-xr-x 1 root root 914056 Aug 21 21:32 dasdload
  25. -rwxr-xr-x 1 root root 914064 Aug 21 21:32 dasdload64
  26. -rwxr-xr-x 1 root root 669040 Aug 21 21:32 dasdls
  27. -rwxr-xr-x 1 root root 637504 Aug 21 21:32 dasdpdsu
  28. -rwxr-xr-x 1 root root 699008 Aug 21 21:32 dasdseq
  29. -rwxr-xr-x 1 root root 625656 Aug 21 21:32 dasdser
  30. -rwxr-xr-x 1 root root 621088 Aug 21 21:32 dmap2hrc
  31. -rwxr-xr-x 1 root root 627176 Aug 21 21:32 hercules
  32. -rwxr-xr-x 1 root root 647480 Aug 21 21:32 hetget
  33. -rwxr-xr-x 1 root root 627640 Aug 21 21:32 hetinit
  34. -rwxr-xr-x 1 root root 675928 Aug 21 21:32 hetmap
  35. -rwxr-xr-x 1 root root 654136 Aug 21 21:32 hetupd
  36. -rwxr-xr-x 1 root root 672040 Aug 21 21:32 maketape
  37. -rwxr-xr-x 1 root root 712560 Aug 21 21:32 tapecopy
  38. -rwxr-xr-x 1 root root 637256 Aug 21 21:32 tapemap
  39. -rwxr-xr-x 1 root root 639744 Aug 21 21:32 tapesplt
  40. -rwxr-xr-x 1 root root 805480 Aug 21 21:32 vmfplc2
  41. -rwxr-xr-x 1 root root 622440 Aug 21 21:32 hercifc
  42. -rwxr-xr-x 1 root root 624112 Aug 21 21:32 herclin
  43. lrwxrwxrwx 1 root root 10 Aug 21 21:32 fba2cfba -> ./dasdcopy
  44. lrwxrwxrwx 1 root root 10 Aug 21 21:32 ckd2cckd -> ./dasdcopy
  45. lrwxrwxrwx 1 root root 10 Aug 21 21:32 cfba2fba -> ./dasdcopy
  46. lrwxrwxrwx 1 root root 10 Aug 21 21:32 cckd2ckd -> ./dasdcopy
  47. lrwxrwxrwx 1 root root 12 Aug 21 21:32 fba2cfba64 -> ./dasdcopy64
  48. lrwxrwxrwx 1 root root 12 Aug 21 21:32 ckd2cckd64 -> ./dasdcopy64
  49. lrwxrwxrwx 1 root root 12 Aug 21 21:32 cfba642fba -> ./dasdcopy64
  50. lrwxrwxrwx 1 root root 12 Aug 21 21:32 cckd642ckd -> ./dasdcopy64
  51. kazuya@ubuntu: /usr/local/bin
  52. $

然后,修改一下 vi ~/.profile,把 /usr/loca/lib/hercules library 路径加上 LD_LIBRARY_PATH

这样运行 hercules,才可找到所需的 library

  1. # ~/.profile: executed by the command interpreter for login shells.
  2. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
  3. # exists.
  4. # see /usr/share/doc/bash/examples/startup-files for examples.
  5. # the files are located in the bash-doc package.
  6. # the default umask is set in /etc/profile; for setting the umask
  7. # for ssh logins, install and configure the libpam-umask package.
  8. #umask 022
  9. # if running bash
  10. if [ -n "$BASH_VERSION" ]; then
  11. # include .bashrc if it exists
  12. if [ -f "$HOME/.bashrc" ]; then
  13. . "$HOME/.bashrc"
  14. fi
  15. fi
  16. # set PATH so it includes user's private bin if it exists
  17. if [ -d "$HOME/bin" ] ; then
  18. PATH="$HOME/bin:$PATH"
  19. fi
  20. # set PATH so it includes user's private bin if it exists
  21. if [ -d "$HOME/.local/bin" ] ; then
  22. PATH="$HOME/.local/bin:$PATH"
  23. fi
  24. export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/local/lib/hercules
  25. #setleds -D +num
  26. ~
  27. ~
  28. ~
  29. ~
  30. ".profile" 30L, 901C
sudo ldconfig

配置 z/OS

z/OS 配置挺简单就是修改 hercules.cnf,下面以超线程8核为例子,/home/kazua/zos 改为自己机器的路径

  1. #
  2. # Hercules Emulator Control file...
  3. #
  4. # Description:
  5. # MaxShutdownSecs: 15
  6. # LoadUnit: 0A80
  7. # RCFile:
  8. # LogoFile:
  9. # IgnoreParseErrors: 0
  10. # HercGUI Version: 1.17.0.5541
  11. #
  12. # System parameters
  13. ARCHLVL z/Arch
  14. MAXCPU 8
  15. ENGINES CP,CP,CP,CP,CP,CP,CP,CP
  16. NUMCPU 8
  17. AUTO_SCSI_MOUNT NO
  18. CNSLPORT 3270
  19. CONKPALV (3,1,10)
  20. CODEPAGE default
  21. CPUMODEL 3090
  22. CPUSERIAL 012345
  23. CPUVERID FD
  24. DEVTMAX 8
  25. DIAG8CMD ENABLE NOECHO
  26. ECPSVM YES TRAP
  27. HTTP PORT 80 NOAUTH
  28. MODPATH /usr/local/lib/hercules
  29. LEGACYSENSEID DISABLE
  30. NETDEV /dev/net/tun
  31. LOADPARM 0A95DCM1
  32. #LOADPARM 0A82CS
  33. LPARNUM 01
  34. LPARNAME HERCULES
  35. MAINSIZE 8192
  36. MANUFACTURER HRC
  37. MODEL EMULATOR "" "" ""
  38. MOUNTED_TAPE_REINIT DISALLOW
  39. OSTAILOR Z/OS
  40. PANOPT FULLPATH
  41. PANOPT RATE=500
  42. PANOPT TITLE=z/OS
  43. PGMPRDOS LICENSED
  44. PLANT ZZ
  45. SHCMDOPT DISABLE NODIAG8
  46. SYSEPOCH 1900
  47. TIMERINT 50
  48. TRACEOPT TRADITIONAL
  49. TZOFFSET +0800
  50. XPNDSIZE 0
  51. YROFFSET 0
  52. # Card Readers
  53. 000C 3505 /home/kazuya/zos/zzsacard.bin
  54. # Card Punches
  55. 000D 3525 /home/kazuya/zos/punch00d.txt ascii
  56. # Line Printers
  57. 000E 1403 /home/kazuya/zos/print00e.txt crlf
  58. # Console Printers
  59. 0009 3215-C / noprompt
  60. # Display Terminals
  61. 0700.5 3270
  62. # Disk Drives
  63. 0A80 3390 /home/kazuya/zos/ZARES1
  64. 0A81 3390 /home/kazuya/zos/ZARES2
  65. 0A82 3390 /home/kazuya/zos/SARES1
  66. 0A83 3390 /home/kazuya/zos/ZADB81
  67. 0A84 3390 /home/kazuya/zos/ZADB82
  68. 0A85 3390 /home/kazuya/zos/ZADB83
  69. 0A86 3390 /home/kazuya/zos/ZADB84
  70. 0A87 3390 /home/kazuya/zos/ZADB91
  71. 0A88 3390 /home/kazuya/zos/ZADB92
  72. 0A89 3390 /home/kazuya/zos/ZACIC1
  73. 0A8A 3390 /home/kazuya/zos/ZADIS1
  74. 0A8B 3390 /home/kazuya/zos/ZADIS2
  75. 0A8C 3390 /home/kazuya/zos/ZADIS3
  76. 0A8D 3390 /home/kazuya/zos/ZADIS4
  77. 0A8E 3390 /home/kazuya/zos/ZADIS5
  78. 0A8F 3390 /home/kazuya/zos/ZADIS6
  79. 0A90 3390 /home/kazuya/zos/ZAIMS1
  80. 0A91 3390 /home/kazuya/zos/ZAPRD1
  81. 0A92 3390 /home/kazuya/zos/ZAPRD2
  82. 0A93 3390 /home/kazuya/zos/ZAPRD3
  83. 0A94 3390 /home/kazuya/zos/ZAPRD4
  84. 0A95 3390 /home/kazuya/zos/ZASYS1
  85. 0A96 3390 /home/kazuya/zos/ZAUSS1
  86. 0A97 3390 /home/kazuya/zos/ZAWAS1
  87. 0A98 3390 /home/kazuya/zos/ZAWAS2
  88. 0A99 3390 /home/kazuya/zos/ZAWAS3
  89. 0A9A 3390 /home/kazuya/zos/USRG01
  90. 0A9B 3390 /home/kazuya/zos/SYSCPK
  91. 0A9C 3390 /home/kazuya/zos/UAPP01
  92. 0A9D 3390 /home/kazuya/zos/UTMP01
  93. # Communication Devices
  94. 0E20.2 CTCI 192.168.200.1 192.168.200.2

z/OS 开机可以选择要起动的不同程序,在 LOADPARM 设置,下面 0A95DCM1,是指到 0A95,DCM1,冷起动包括 DB2, CICS, WAS,就是大部分学习要用到的东西,0A82CS 是最基本的起动,不起动 DB2, CICS, WAS 这些,LOADPARM 还有好多其他选择

  1. LOADPARM 0A95DCM1
  2. #LOADPARM 0A82CS
  3. 0A95 3390 /home/kazuya/zos/ZASYS1

主机起动叫 IPL initial program load,就是开始程序加载,就是开机
起动主要分2种 COLD START 和 WARM START,我比较喜用冷起动 COLD START,就是每次起动都初始化例如 log 等等
在现实环境,大多数不会 COLD START,WARM START 起动比较快多了

起飞!!

hercules 要建立层网络管导,要用 sudo 来起动,在 Windows 也是要用 Administrator 来起的,不然 CTCI-WIN 起不了

  1. kazuya@ubuntu: ~
  2. $ sudo hercules -f /home/kazuya/zos/hercules.cnf

 在真正 IPL 前,先在 ubuntu 再开一个 tty session 用 c3270 连上去,用来作 主控制台

  1. kazuya@ubuntu: ~
  2. $ c3270 localhost 3270

然后输入 IPL A80
A80 是指到 0A80 ZRES01

 第一次起动会提示初启化 在 主控制台 输入 R 00,I
R 是 REPLY 回复提示码 00,回复值 I

  1. IXC404I SYSTEM(S) ACTIVE OR IPLING: P390
  2. IXC420D REPLY I TO INITIALIZE SYSPLEX ADCDPL, OR R TO REINITIALIZE XCF
  3. R 00,I

等一会起动就完成了

然后,ubuntu 再多开一个 tty session

  1. kazuya@ubuntu: ~
  2. $ c3270 localhost 3270

 这里我们可以登陆 TSO 或 CICS

TSO 是 Time Sharing Option 就是一台机分享很多用使用,主机程序员就是用这个界面连到主机做日常开发,就像 Linux 用 ssh 或 putty 连一样
CICS 是 主机的 GUI 界面,用来接受用户输入输出,就像 网页 Browser 界面,或 C# GUI 程序

输入 l tso 然后按 Enter 

输入 IBMUSER
系统自有一堆账号,平常用 IBMUSER 就可以

然后输入密码,预设 IBMUSER 或 SYS1

按 Enter  

 

按 Enter 就可以去到 ISPF 互动界面,程序99%时间就是在这里编辑 Cobol 代码,操作主机等等

网络配置

z/OS V1R10 网络配置修改 PROF1 配置档就可以

在 ISPF Command => =2 进入 Edit Entry Panel 编辑界面
然后输入 ADCD.Z110.TCPPARMS(PROF1)

ISPF 里可以用 F7 F8 往上下翻,在左边命令输入 i 可加行,d 可以删行
编辑完 在 Command => save 然后 F3 或 exit 可以退出

网络配置我们给 z/OS 定义个 CTCA 和 CTCI 设备
 

 然后定义 z/OS 本机 IP HOME 192.168.200.1

 网关指向 192.168.200.2 Ubuntu

 然后,START CTCA 设备就可以

路由方面 在 ubuntu 加个 tun0 和 路由把去 192.168.200.1 z/OS 的包路由到 tun0

  1. sudo ufw default allow routed
  2. sudo ufw route allow in on tun0 out on wlo1
  3. sudo ufw route allow in on wlo1 out on tun0
  4. sudo sysctl -w net.ipv4.ip_forward=1
  5. sudo vi /etc/sysctl.conf
  6. net.ipv4.ip_forward=1
  7. **Remark: Network interface is wlo1 for wireless network


这样,网络就通了,可以 ftp,ssh,web 取存 z/OS 

如果 ubuntu 开了 ufw 防火墙,要让下面通过

如果有第三台机器要存取 Ubuntu 内的 z/OS,例如上面说的 Mac (IP 192.168.50.11),防火墙也要让其通过
内网本机学习的新手,可以先关 ufw

  1. kazuya@ubuntu: ~
  2. $ netstat -in
  3. Kernel Interface table
  4. Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
  5. eno1 1500 24814 0 4003 0 14691 0 0 0 BMRU
  6. lo 65536 3542 0 0 0 3542 0 0 0 LRU
  7. tun0 1500 0 0 0 0 14 0 0 0 PRU
  8. kazuya@ubuntu: ~
  9. $ netstat -rn
  10. Kernel IP routing table
  11. Destination Gateway Genmask Flags MSS Window irtt Iface
  12. 0.0.0.0 192.168.50.1 0.0.0.0 UG 0 0 0 eno1
  13. 192.168.50.0 0.0.0.0 255.255.255.0 U 0 0 0 eno1
  14. 192.168.200.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
  15. kazuya@ubuntu: ~
  16. $ sudo ufw status
  17. Status: active
  18. To Action From
  19. -- ------ ----
  20. 22/tcp ALLOW Anywhere
  21. 21/tcp ALLOW Anywhere
  22. 80/tcp ALLOW Anywhere
  23. 443/tcp ALLOW Anywhere
  24. 3270/tcp ALLOW Anywhere
  25. Anywhere ALLOW 192.168.200.1
  26. Anywhere ALLOW 192.168.50.11
  27. 22/tcp (v6) ALLOW Anywhere (v6)
  28. 21/tcp (v6) ALLOW Anywhere (v6)
  29. 80/tcp (v6) ALLOW Anywhere (v6)
  30. 443/tcp (v6) ALLOW Anywhere (v6)
  31. 3270/tcp (v6) ALLOW Anywhere (v6)
  32. Anywhere on tun0 ALLOW FWD Anywhere on eno1
  33. Anywhere on eno1 ALLOW FWD Anywhere on tun0
  34. Anywhere (v6) on tun0 ALLOW FWD Anywhere (v6) on eno1
  35. Anywhere (v6) on eno1 ALLOW FWD Anywhere (v6) on tun0
  36. kazuya@ubuntu: ~
  37. $

第三台机器 例如 Mac IP 192.168.50.11 要想连到 Ubuntu 里面的 z/OS

在 Mac 里加个路由,把 192.168.200.X 去路由去 192.168.50.15 Ubuntu 机器就可以

  1. /Users/kazuya
  2. $ sudo route -n add -net 192.168.200.0/24 192.168.50.15
  1. $ netstat -rn |grep "192.168.200"
  2. Routing tables
  3. Internet:
  4. Destination Gateway Flags Netif Expire
  5. default 192.168.50.1 UGScg en0
  6. ...
  7. 192.168.200 192.168.50.15 UGSc en0

 这样其他机器就可以连上 z/OS,例如下面 Mac 连上 z/OS ftp,其他 ssh, 和 web 也可以

  1. vi ~/.ssh/config
  2. Host 192.168.200.1
  3. KexAlgorithms +diffie-hellman-group1-sha1
  4. HostKeyAlgorithms +ssh-rsa
  5. ssh ibmuser@192.168.200.1

安装新版 Java SDK J8.0

z/OS 自带的 Java SDK 比较旧,可以到 IBM 官网下载最新版
SDK8_31bit_readme.txt 也要一并下载,里面有如何解压缩步骤

步骤是 先下到 Java J8.0 .PAX 压缩包
然后在 z/OS 加个新券,上面的 UAPP01 就是 HFS
HFS 在 z/OS 里改名为,例如 JVA800.HFS
然后,修改 USER.PARMLIB(BPXPRMDB)
从 ADCD.Z110.PARMLIB 里覆制到 USER.PARMLIB 修改
然后,挂上去,这样开机后,OMVS 就有 /usr/lpp/java 载点可放 Java SDK
UTMP01 HFS 也一并挂上去用来作解压缩暂存
然后,透过 ftp binary mode 上传
 

https://www.ibm.com/support/pages/java-sdk-products-zos

z/OS 关机

在生产环境 z/OS 是绝少关机,在学习环境,可以用以下步骤关机
关机指令要视乎开机 LOADPARM,开机起了什么,关机就要关上

首先,退出 ISPF IBMUSER TSO session 就是 按 F3 Exit 所有版面
回到 READY 提示,输入 logoff

然后,按 Ctrl+] 键退出返回 c3270 界面,再输入 exit 退出 c3270

然后,转入 c cicsa 关掉 CICS GUI 界面

然后,转入 -db9g stop db2 停了 DB2

然后,等 DB2 READY FOR START COMMAND,就可以输入 s shutall 来把其他服务例如 ftpd, sshd, httpd, mq 等等都停了

然后,回复 r 03,y, 回复 STOP ZFS

 

可以输入 D A,L 或按 F10 键更新画面

然后,输入 $p jes2,term 去把 JOB ENTRY SYSTEM 停了 

 然后,输入 f dlf,mode=drain

然后,输入 p dlf

 最后,F10 等到只剩 00000,输入 z eod

 最后,等到 HALT EOD SUCCESSFUL

然后,回到 hercules 界面

然后,回到 hercules 界面,在界面可以用 Esc 键互相切换 资源面页 

然后,回到 hercules 命令界面,输入 exit 就可以 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/1009740
推荐阅读
相关标签
  

闽ICP备14008679号