Kylin(麒麟)V10系统安装WebLogic 12C

Kylin(麒麟)V10系统安装WebLogic 12C

目录

前言

一、JDK环境

二、安装WebLogic

1. 下载安装包

2. 开始安装


前言

先说下服务器的情况:我的环境是国产化环境,所以和之前的X86架构有些区别之处。

CPU是华为鲲鹏(Kunpeng)ARM64(aarch64)指令集架构,所以操作系统是:Kylin Linux Advanced Server V10 (ARM64) 。

由此我们在安装其他软件的时候也要注意这一点了,需要下载安装ARM64(aarch64)指令集架构的软件了,不然会会报指令集不符的相关错误提示。


一、JDK环境

Kylin V10系统默认安装匹配的是OpenJDK。

这里我安装WebLogic 12C时使用的是Oracle JDK。当然OpenJDK应该也是可以的。

JDK要求:WebLogic 12.2.1.4 需要 JDK 8(1.8.0_131及以上版本)

下载地址:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

-- 下载后安装jdk-8u211-linux-arm64-vfp-hflt.tar.gz

在你自建的linux用户下新建java文件,将下载的文件上传到新建的java文件夹下,然后在java文件夹下执行:tar zvxf  jdk-8u211-linux-arm64-vfp-hflt.tar.gz(注意看是否需要root用户权限执行)

-- 配置环境变量

我这里配置普通用户级的JDK环境,不影响root下的全局JDK环境。

su - testuser(自建用户),编辑~/.bashrc文件。

vi ~/.bashrc 后的配置内容:

#取消系统默认JDK环境变量
unset JAVA_HOME
unset JRE_HOME
unset CLASSPATH

#配置新JDK环境变量(优先级高于默认JDK了)
export JAVA_HOME=/home/testuser/java/jdk1.8.0_211
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH  #新JDK的bin目录放在最前面
export JAVA_HOME JRE_HOME CLASSPATH PATH

保存退出后执行:
source ~/.bashrc #使文件生效

二、安装WebLogic

1. 下载安装包

AI介绍:

根据Oracle官方认证,WebLogic 12.2.1.4+已正式支持:
Kylin Linux Advanced Server V10 (ARM64/x86-64) 

Go to the Oracle Technology Network (OTN) website: (WebLogic 12.2.1.4+下载)
https://www.oracle.com/middleware/technologies/weblogic-server-downloads.html

让我总结一下可能的来源:
Oracle OTN(免费用于开发,需要帐户)
Oracle支持(适用于签订支持合同的客户)
Oracle电子交付(面向授权客户)
Docker Hub(用于使用Docker容器进行开发)

2. 开始安装

-- 系统架构确认

uname -m
# Kylin V10有x86_64和aarch64架构
# 确保下载对应架构的WebLogic安装包

--依赖包安装

yum install -y libXext libXrender libXtst glibc-devel binutils gcc make elfutils-libelf-devel libaio

--内核参数调整(可先跳过,我跳过)

# 修改/etc/sysctl.conf增加参数
fs.file-max = 65536
kernel.shmmax = 4294967295

--安装界面乱码问题处理(可先跳过,我跳过)

export LANG=en_US.UTF-8

--创建组,用户,安装目录,目录拥有者授权

groupadd gstu
useradd -g gstu testuser
passwd testuser(给testuser设置密码)
mkdir -p /home/testuser/weblogic/Oracle
chown -R testuser:gstu /home/testuser

切换到你新建的用户su - testuser

1. 上传fmw_12.2.1.4.0_wls_lite_generic_ARM_OCI.jar到/home/testuser/weblogic目录

2. 创建响应文件 (静默安装)

vi wls_install.rsp  --添加以下内容

[ENGINE]
Response File Version=1.0.0.0.0
[GENERIC]
ORACLE_HOME=/home/testuser/weblogic/Oracle
INSTALL_TYPE=WebLogic Server
DECLINE_SECURITY_UPDATES=true
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

说明:
ORACLE_HOME=/home/testuser/weblogic/Oracle--这个配置最后一层Oracle目录不能提前建立好,安装时候会自动创建。否者会安装报错。

3. 执行静默安装(注:wls_install.rsp和oraInst.loc文件执行时,指定全路径)

说明:
-ignoreSysPrereqs:跳过 ARM 架构检查 (因官方可能未正式认证)
安装日志路径:/opt/oracle/oraInventory/logs/install*.log

安装过程中要求创建 产品清单位置指针文件,你可以按照说明在/etc目录上创建(root权限),也可以自己在合适的地方创建。
本人是在自己创建的用户下创建的,位置和wls_install.rsp这个文件一致。在/home/testuser/weblogic目录下。最好是在执行 静默安装 前一并设置好了。在执行安装
vi oraInst.loc --编辑产品清单位置指针文件,添加以下内容

inventory_loc=/home/testuser/weblogic/oraInventory
inst_group=gstu
说明:
inventory_loc#产品目录清单
inst_group#用户组名称

执行静默安装命令:

java -jar fmw_12.2.1.4.0_wls_lite_generic_ARM_OCI.jar -silent -responseFile /home/testuser/weblogic/wls_install.rsp -ignoreSysPrereqs -invPtrLoc /home/testuser/weblogic/oraInst.loc

说明:
安装过程中出现  检查交换空间:swap, 某些系统先决条件检查失败。必须在满足这些要求后才能继续。 处理方式如下:快速创建swap(无需分区)

free -m 先查看swap空间大小
--切换到root用户:sudo -i 
--执行分配1G:fallocate -l 1G /swapfile

--如果不行则使用:
dd if=/dev/zero of=/swapfile bs=1M count=1024
chmod 600 /swapfile #安全授权
mkswap /swapfile #格式化为swap
swapon /swapfile #启用swap

--开机自动挂载:echo '/swapfile swap swap defaults 0 0' >> /etc/fstab #>>是将内容追加到/etc/fstab文件后面,不覆盖前内容
--验证:free -m

4. 配置环境变量

vi ~/.bashrc --编辑用户环境变量文件,添加下面内容

export ORACLE_HOME=/home/testuser/weblogic/Oracle
export PATH=$ORACLE_HOME/oracle_common/common/bin:$PATH

保存退出后执行:
source ~/.bashrc #使文件生效

5. 创建域 (Domain)

创建Python脚本(我脚本的创建位置:$ORACLE_HOME/oracle_common/common/bin下),

vi create_domain.py --添加下面内容

#readTemplate('/home/testuser/weblogic/Oracle/wlserver/common/templates/wls/wls.jar')
readTemplateForUpdate('/home/testuser/weblogic/Oracle/wlserver/common/templates/wls/wls.jar') 
cd('Servers/AdminServer')
set('ListenAddress','')
set('ListenPort',7001)
cd('/')
cd('Security/base_domain/User/weblogic')
cmo.setPassword('********')
setOption('OverwriteDomain', 'true')
writeDomain('/home/testuser/weblogic/Oracle/Middleware/user_projects/domains/base_domain')
closeTemplate()
exit()

Python脚本代码说明:
readTemplateForUpdate() --已更新模式加载模板并配置/修改域。读取weblogic的基础模板wls.jar文件的路径,根据你自己的安装目录更改。
cd('Servers/') --切换到WLST的配置路径到Servers/AdminServer,用于修改管理服务器(AdminServer)的属性
set('ListenAddress','') --设置AdminServer的监听地址为空,表示会监听该主机的所有网络接口,访问其任意IP都行。
cd('/') --回到WLST的根配置路径,用于切换到其他配置节点。
cd('Security/base_domain/User/weblogic') --切换到base_domain域下的weblogic用户安全配置路径,准备修改该用户(weblogic)的密码。
setOption('OverwriteDomain', 'true') --true允许覆盖已存在的base_domain域目录,执行writeDomain() 时会直接覆盖原有域配置。 
writeDomain() --将修改后的域配置写入指定的目录,生产/更新base_domain域。根据你自己的安装目录更改,我这里是在ORACLE_HOME家目录Oracle下创建一系列文件夹Middleware/user_projects/domains/base_domain
closeTemplate() --关闭已加载的模板,释放相关资源。
exit() --退出WLST脚本执行环境

6. 执行脚本

$ORACLE_HOME/oracle_common/common/bin/wlst.sh create_domain.py

添加防火前规则,放行7001端口被访问:firewall-cmd --permanent --add-port=7001/tcp
nohup ./startWebLogic.sh > tmpweblogic.log 2>&1 & --后台启动weblogic
http://10.225.115.45:7001/console--页面访问控制台


就这样吧

Read more

实现Python将csv数据导入到Neo4j

实现Python将csv数据导入到Neo4j

目录 一、获取数据集 1.1 获取数据集 1.2 以“记事本”方式打开文件 1.3  另存为“UTF-8”格式文件 1.4 选择“是” 二、 打开Neo4j并运行 2.1 创建新的Neo4j数据库 2.2 分别设置数据库名和密码 编辑 2.3 启动Neo4j数据库 2.4 打开Neo4j数据库  2.5 运行查看该数据库是否为空 三、打开Python创建项目  3.1 创建一个包,存项目 3.2 创建一个项目 3.3 检查自己的依赖是否完全

AI安全:视觉提示词注入攻击代码/实战教学| 针对Hugging Face开源大模型Stable Diffusion Model

AI安全:视觉提示词注入攻击代码/实战教学| 针对Hugging Face开源大模型Stable Diffusion Model

提到提示词注入(Prompt Injection),大家的第一反应往往是精心构造的文本越狱指令。 而在图生图任务中,输入图像在本质上扮演了视觉提示词的角色,与文本指令共同指导生成模型。 基于这一视角,本文展示针对视觉提示词的注入攻击:通过PGD对抗攻击算法对输入图像进行像素级微调,使其生成的违规图像能够绕过开源大模型的NSFW安全检测机制。 临近毕业,感觉市场对提示词注入比较感兴趣,因本人读博期间一直研究对抗攻击算法,所以决定尝试用对抗攻击的思路完成提示词注入攻击,误导开源模型生成违规图像。 完整代码链接:https://github.com/YujiangLi0v0/Injection_Attack_Inpainting.git 目录 * 一、 NSFW防线:开源模型的安全过滤机制 * 二、 攻击场景定义 (Threat Model) * 三、 环境搭建 * 四、 核心攻击流程详解 * 4.1. 固定随机因子 * 4.2 数据预处理 * 4.3. 攻击部分 * 4.3.1 重写扩散模型推理过程

x86-64 Memory Architecture and mov Instructions: Deep Dive into Addressing Mechanisms, Stack Operati

x86-64 Memory Architecture and mov Instructions: Deep Dive into Addressing Mechanisms, Stack Operati

本文为纯手打原创硬核干货,适合学习计算机组成、汇编、CSAPP 的同学,欢迎真实阅读、交流。 Based on the x86-64 architecture, this article starts with the matrix-based physical implementation of main memory, systematically breaks down the memory addressing mechanism, the family of data transfer instructions, and the logic of stack operations. It will help you fully grasp the underlying

一文讲清楚RAG 四大模式:Naive RAG、Advanced RAG、Modular RAG 与 Agentic RAG

一文讲清楚RAG 四大模式:Naive RAG、Advanced RAG、Modular RAG 与 Agentic RAG

随着技术迭代,RAG 已从最初的简单架构发展出多种进阶形态。本文将系统解析 RAG 的四大主流模式 ——Naive RAG、Advanced RAG、Modular RAG 与 Agentic RAG,从工作原理、技术特点到适用场景进行全方位对比,为技术选型提供参考。 一、RAG 基础:检索增强生成的核心逻辑 在深入模式解析前,需先明确 RAG 的核心逻辑。简单来说,RAG 由检索(Retrieval) 与生成(Generation) 两大模块构成: 检索模块:从预设知识库中精准定位与用户问题相关的信息片段(如文档、段落、句子); 生成模块:基于检索到的信息,结合大语言模型生成符合上下文、逻辑连贯的答案。 这种 “先检索再生成” 的模式,既保留了 LLM 的语言理解与生成能力,又通过外部知识的引入弥补了模型训练数据过时、事实准确性不足的缺陷。