当前位置: 首页 > news >正文

hercules zos 安裝 jdk 8

首先到 IBM 官網下載相關 PAX 檔 (SDK8_31bit_SR8_FP45.PAX.Z) 和 SDK8_31bit_readme.txt

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

在 hercules 裡加一些新卷用來存放這個 JDK (UAPP02),UTMP02 也可以順便加上讓 OMVS IBMUSER 下多一些存放空間,至於 ULOG02 純粹自己用而且

格式最好選 3390-9,之前建的 3390 很快就滿,另外,壓縮也要選上,這樣壓縮了,本地空間也可以減少很多,其他選項也可以參考以下

之後,先關機並在 hercules.cnf 補上新的卷再開機

重新 IPL 後,查看一下設備是不是都在綫

D U,,,0AA0

先把新的卷下綫

v 0aa0,offline
v 0aa1,offline
v 0aa2,offline

提交以下JCL來把新卷初始化

//JC$INITD JOB ,'INIT DASD',NOTIFY=&SYSUID                                      
//*                                                                             
//STEP0001 EXEC PGM=ICKDSF,PARM='NOREPLYU'                                      
//SYSPRINT DD SYSOUT=*                                                          
//SYSIN    DD *                                                                 INIT UNIT(0AA0) VFY(UAPP02) VOLID(UAPP02) PRG NVAL VTOC(1,0,75)               INIT UNIT(0AA1) VFY(UTMP02) VOLID(UTMP02) PRG NVAL VTOC(1,0,75)               INIT UNIT(0AA2) VFY(ULOG02) VOLID(ULOG02) PRG NVAL VTOC(1,0,75)               
/*                                                                              
//*                                                                             

然後,把新卷上綫

v 0AA0,online
v 0AA1,online
v 0AA2,onlined u,,,0AA0

提交以下JCL來為新卷建 CATALOG 並掛在主 CATALOG 裡

//JC$CRTCC JOB ,'CREATE USERCAT',NOTIFY=&SYSUID                                 
//*                                                                             
//STEP0001 EXEC PGM=IDCAMS                                                      
//SYSPRINT DD SYSOUT=*                                                          
//SYSIN    DD *                                                                 DELETE UCAT.UAPP02 USERCATALOG                                                SET MAXCC=0                                                                   DEFINE USERCATALOG(NAME(UCAT.UAPP02) -                                        VOLUMES(UAPP02) -                                         CYLINDERS(2 1)) -                                         CATALOG(CATALOG.Z110.MASTER)                                           
/*                                                                              
//*                                                                             
//*                                                                             
//STEP0002 EXEC PGM=IDCAMS                                                      
//SYSPRINT DD SYSOUT=*                                                          
//SYSIN    DD *                                                                 DELETE UCAT.UTMP02 USERCATALOG                                                SET MAXCC=0                                                                   DEFINE USERCATALOG(NAME(UCAT.UTMP02) -                                        VOLUMES(UTMP02) -                                         CYLINDERS(2 1)) -                                         CATALOG(CATALOG.Z110.MASTER)                                           
/*                                                                              
//*                                                                             
//*                                                                             
//STEP0003 EXEC PGM=IDCAMS                                                      
//SYSPRINT DD SYSOUT=*                                                          
//SYSIN    DD *                                                                 DELETE UCAT.ULOG02 USERCATALOG                                                SET MAXCC=0                                                                   DEFINE USERCATALOG(NAME(UCAT.ULOG02) -                                        VOLUMES(ULOG02) -                                         CYLINDERS(2 1)) -                                         CATALOG(CATALOG.Z110.MASTER)                                           
/*                                                                              
//*                                                                             

然後,為 OMVS JDK 建立 HFS 空間來存放 JDK

//JC$CRTHF JOB ,'CRT HFS',NOTIFY=&SYSUID                                        
//*                                                                             
//STEP0010 EXEC PGM=IEFBR14                                                     
//MKFS1    DD DSNAME=UTMP02.HFS,DISP=(NEW,CATLG),                               
//            DSNTYPE=HFS,SPACE=(CYL,(1000,1,1)),                               
//            VOL=SER=UTMP02,UNIT=SYSDA                                         
//*                                                                             
//STEP0010 EXEC PGM=IEFBR14                                                     
//MKFS1    DD DSNAME=JDK845.HFS,DISP=(NEW,CATLG),                               
//            DSNTYPE=HFS,SPACE=(CYL,(1000,1,1)),                               
//            VOL=SER=UAPP02,UNIT=SYSDA                                         
//*                                                                             

 

然後,在 BPXPRMDB (PRMDB, DB 要視乎 IPL 用的另個) 把 JDK 和 TMP 空間都掛上

EDIT       USER.PARMLIB(BPXPRMDB) - 01.10                          Columns 00001 00080
Command ===>                                                          Scroll ===> CSR 
000142  MOUNT    FILESYSTEM('JDK845.HFS')                                             
000143           TYPE(HFS)                                                            
000144           MODE(RDWR)                                                           
000145           MOUNTPOINT('/usr/lpp/java')                                          
000146                                                                                
000147  MOUNT    FILESYSTEM('UTMP02.HFS')                                             
000148           TYPE(HFS)                                                            
000149           MODE(RDWR)                                                           
000150           MOUNTPOINT('/u/ibmuser/utmp')                                        
000151                                                                                
000152                                                                                
000153  FILESYSTYPE TYPE(AUTOMNT) ENTRYPOINT(BPXTAMD)                                 
000154  FILESYSTYPE TYPE(ZFS) ENTRYPOINT(IOEFSCM) ASNAME(ZFS)                         
000155  FILESYSTYPE TYPE(NFS)                                                         
000156            ENTRYPOINT(GFSCINIT)                                                
000157            ASNAME(NFSC)                                                        
000158                                                                                
000159 FILESYSTYPE TYPE(INET) ENTRYPOINT(EZBPFINI)                                    
000160                                                                                
000161 SUBFILESYSTYPE NAME(TCPIP)                                                     
000162        TYPE(INET)                                                              

重起後,ssh 進去然後用 df 查看一下 mount 是否已經掛載 JDK845.HFS 和 UTMP02.HFS

IBMUSER:/u/ibmuser: >df
\Mounted on     Filesystem                Avail/Total    Files      Status    
/Z110/usr/lpp/cicsts/cicsts32 (DFH320.ZFS)              18292/57600    4294967059 Available
/Z110/usr/lpp/jcct4v3 (ACD211.SACDZFS1)         6942/14400     4294967269 Available
/u/db9g        (DSN910.SJVAZFS)          14042/14400    4294967284 Available
/Z110/usr/lpp/db2910_worf (DSN910.SDSNWORF)         68768/72000    4294967273 Available
/Z110/usr/lpp/db2910_mql (DSN910.SDSNMQLS)         68026/72000    4294967290 Available
/Z110/usr/lpp/db2910_jdbc (DSN910.SDSNJCC)          61294/72000    4294967262 Available
/Z110/usr/lpp/db2910_base (DSN910.SDSNAZFS)         54580/72000    4294967272 Available
/ADCD/var/wbem (ZFS.ADCD.VARWBEM)        110382/144000  4294965457 Available
/ADCD/var      (ZFS.ADCD.VAR)            2066/2880      4294967263 Available
/ADCD/dev      (ZFS.ADCD.DEV)            8316/8640      4294967279 Available
/Z110          (ZFS.Z110.VERSION.ZFS)    28384/4320000  4294952944 Available
/u/ibmuser/utmp (UTMP02.HFS)              1439824/1440000 4294967294 Available
/Z110/usr/lpp/java (JDK845.HFS)              1439824/1440000 4294967294 Available
/Z110/usr/lpp/mqm/V7R0M0 (CSQ700.MQM.HFS)          120/114528     4294967099 Available
/Z110/usr/lpp/pli (IEL370.HFS)              0/2304         4294967291 Available
/Z110/usr/lpp/cobol (IGY410.HFS)              216/960        4294967279 Available
/Z110/usr/lpp/netview (NET530.HFS)              7392/17472     4294967205 Available
/Z110/usr/lpp/cicsts/cicsts32/lib/security (DFH320.SECURITY.HFS)     1160/1440      4294967286 Available
/Z110/usr/lpp/cicsts/cicsts32/samples (DFH320.SAMPLES.HFS)      2888/14400     4294967060 Available
/Z110/usr/lpp/cicsts/cicsts32/JVMProfiles (DFH320.JVMPROFS.HFS)     1224/1440      4294967289 Available
/Z110/usr/lpp/cicsts/cicsts32/props (DFH320.PROPS.HFS)        1192/1440      4294967289 Available
/web           (HFS.WEB)                 13832/18720    4294966494 Available
/u             (HFS.USERS)               10624/11712    4294967254 Available
/Z110/usr/mail (HFS.USR.MAIL)            1256/1440      4294967293 Available
/ADCD/tmp      (HFS.ADCD.TMP)            2712/3168      4294967277 Available
/ADCD/etc      (HFS.ADCD.ETC)            1712/4800      4294967009 Available
/ADCD          (HFS.ADCD.HFS)            1200/1440      4294967285 Available
/              (HFS.ADCDPL.ROOT)         1016/1440      4294967276 Available

之後用 ftp 進去並切換到 /usr/lpp/java 目錄

PS D:\temp> ftp 192.168.200.2
Connected to 192.168.200.2.
220-FTPD1 IBM FTP CS V1R10 at ADCD.DFW.IBM.COM, 18:04:26 on 2025-07-13.
220 Connection will close if idle for more than 5 minutes.
501 command OPTS aborted -- no options supported for UTF8
User (192.168.200.2:(none)): ibmuser
331 Send password please.
Password:230 IBMUSER is logged on.  Working directory is "IBMUSER.".
ftp> cd /usr/lpp/java
250 HFS directory /usr/lpp/java is the current working directory
ftp> pwd
257 "/usr/lpp/java" is the HFS working directory.
ftp> lcd
Local directory now D:\temp.
ftp>

把 JDK 安裝檔用 binary 模式上傳

ftp> binary
200 Representation type is Image
ftp> put SDK8_31bit_SR8_FP45.PAX.Z
200 Port request OK.
125 Storing data set /usr/lpp/java/SDK8_31bit_SR8_FP45.PAX.Z
250 Transfer completed successfully.
ftp: 242565201 bytes sent in 22.52Seconds 10768.71Kbytes/sec.
ftp>

確保上傳成功

IBMUSER:/Z110/usr/lpp/java: >ls -al
total 473792
drwx------    2 OMVSKERN SYS1        8192 Jul 13 13:05 .
drwxr-xr-x  112 OMVSKERN SYS1        3840 Oct 15  2008 ..
-rw-r-----    1 OMVSKERN SYS1     242565201 Jul 13 13:06 SDK8_31bit_SR8_FP45.PAX.Z

然後解壓縮

IBMUSER:/Z110/usr/lpp/java: >uncompress SDK8_31bit_SR8_FP45.PAX.Z
IBMUSER:/Z110/usr/lpp/java: >pax -rvf SDK8_31bit_SR8_FP45.PAX
IBMUSER:/Z110/usr/lpp/java: >ls -al
total 587328
drwx------    3 OMVSKERN SYS1        8192 Jul 13 13:11 .
drwxr-xr-x  112 OMVSKERN SYS1        3840 Oct 15  2008 ..
drwxr-xr-x   10 OMVSKERN SYS1        8192 Apr 22 01:27 J8.0
-rw-r-----    1 OMVSKERN SYS1     300690432 Jul 13 13:06 SDK8_31bit_SR8_FP45.PAX
IBMUSER:/Z110/usr/lpp/java: >rm -rf SDK8_31bit_SR8_FP45.PAX
IBMUSER:/Z110/usr/lpp/java: >chmod -R 755 J8.0

 

在 profile 把 JDK 加到 PATH

vi /u/ibmuser/.profile
export PATH=/usr/lpp/java/J8.0/bin:$PATH

如果跑 javac 時報錯 JVMJ9VM082E,把 libj9ifa29.so 屬性補上 +a

IBMUSER:/Z110/usr/lpp/java: >javac -version
JVMJ9VM082E Unable to switch to IFA processor - issue "extattr +a libj9ifa29.so"
javac 1.8.0
IBMUSER:/Z110/usr/lpp/java: >find /usr/lpp/java -name libj9ifa29.so
/usr/lpp/java/J8.0/lib/s390/default/libj9ifa29.so
IBMUSER:/Z110/usr/lpp/java: >extattr +a /usr/lpp/java/J8.0/lib/s390/default/libj9ifa29.so

JDK 成功安裝

IBMUSER:/Z110/usr/lpp/java: >javac -version
javac 1.8.0
IBMUSER:/Z110/usr/lpp/java: >

新卷啟用了壓縮,本地空間能節省很多

http://www.xdnf.cn/news/1116523.html

相关文章:

  • CTFSHOW pwn161 WP
  • 整流电路Multisim电路仿真实验汇总——硬件工程师笔记
  • 使用macvlan实现容器的跨主机通信
  • KL散度:信息差异的量化标尺 | 从概率分布对齐到模型优化的核心度量
  • C++高频知识点(十一)
  • ALB、NLB、CLB 负载均衡深度剖析
  • 开源工具DeepFilterNet:实时语音降噪
  • 更换docker工作目录
  • 06.计算两个日期之间的差值
  • lambdastream深入剖析
  • 【LeetCode100】--- 4.移动零【复习回顾】
  • mmap映射文件
  • 理解 Robots 协议:爬虫该遵守的“游戏规则”
  • HTML 标题标签
  • AI驱动的软件工程(上):人机协同的设计与建模
  • Python 学习之路(十)--常见算法实现原理及解析
  • 深度学习-循环神经网络RNN
  • 谷歌推出Vertex AI Memory Bank:为AI智能体带来持久记忆,支持连续对话
  • MongoDB性能优化实战指南:原理、实践与案例
  • RedisJSON 技术揭秘(五)`JSON.ARRPOP` 原子弹出 修改数组的终极手段
  • Java设计模式之行为型模式(命令模式)介绍与说明
  • 串口A和S的含义以及RT的含义
  • 深入理解观察者模式:构建松耦合的交互系统
  • 设计模式深度解析:单例、工厂、适配器与代理模式
  • Word中的批注显示与修订显示
  • STM32 | HC-SR04 超声波传感器测距
  • 洛谷 P13014:[GESP202506 五级] 最大公因数
  • CentOS系统下前后端项目部署攻略
  • 【MLLM】多模态理解GLM-4.1V-Thinking模型
  • 深度学习图像分类数据集—水质量识别分类