weblogic虽然是大牌oracle的重量级中间件,但是也还是会时不时爆出一些漏洞的,这些漏洞如果不及时打补丁补救,很快会被一些黑客拿来去一些网站换积分或者当挂马做肉鸡。废话不多说,因为weblogic打补丁的方式基本都是一个套路,这里记录下weblogic的打补丁方法。
1、环境
{MW_HOME} = /usr/local/bea
{WL_HOME} = /usr/local/bea/wlserver_10.3
下面使用{MW_HOME}和{WL_HOME}代替真正的路径
2、将补丁文件拷贝至{MW_HOME}/utils/bsu/cache_dir下并解压,通常会得到一个jar包和一个patch-catalog_xxxxx.xml这样的文件以及一个readme文档(英文好的完全可以看readme文档搞定、、、)
3、进入{MW_HOME}/utils/bsu/目录修改bsu.sh中内存参数为MEM_ARGS="-Xms1500m -Xmx1500m",这里内存大小视不同的补丁会有区别,过小的话会报错,不缺内存的话建议直接改大一点
4、执行安装补丁命令
bsu.sh -install -patch_download_dir={MW_HOME}/utils/bsu/cache_dir -patchlist={PATCH_ID} -prod_dir={WL_HOME}
粘贴格式可能会有问题,报错就手敲一遍、
5、这里是漫长的等待,漫长等待的结果有两种,一种是安装成功
Checking for conflicts............
No conflict(s) detected
Installing Patch ID: FMJJ..
Result: Success
另一种是补丁冲突~~
Checking for conflicts...........
Conflict(s) detected - resolve conflict condition and execute patch installation again
Conflict condition details follow:
Patch FMJJ is mutually exclusive and cannot coexist with patch(es): EJUW,ZLNA
这里提示看到该补丁和之前打的补丁EJUW和ZLNA相冲突,这时候就需要先卸载之前安装的补丁才能继续进行安装、
执行命令
./bsu.sh -remove -verbose -patchlist=EJUW -prod_dir={WL_HOME}
这里又是漫长的等待,weblogic会检测卸载是否有依赖,类似这种跟2个或以上补丁冲突的随便找一个(建议先删列表中的最后一个补丁、),然后漫长的等待之后系统会提示你想删除这个补丁还要先删除xxx补丁才行、、、
Checking for conflicts.......
Conflict(s) detected - resolve conflict condition and execute patch removal again
Conflict condition details follow:
The selected patch cannot be removed until the following patch(es) are removed first: ZLNA
然后只能按weblogic说的滚去挨个删完
Checking for conflicts...........
No conflict(s) detected
Starting removal of Patch ID: EJUW
Removing /usr/local/bea/modules/com.bea.core.weblogic.stax_1.11.0.0.jar
Removing /usr/local/bea/wlserver_10.3/server/lib/wlt3jmsclient.jar
Removing /usr/local/bea/wlserver_10.3/server/lib/wlt3client.jar
Removing /usr/local/bea/modules/com.bea.core.stax2_2.0.0.0_3-0-3.jar
Removing /usr/local/bea/wlserver_10.3/bugsfixed/WLS-PSU-bugsfixed.txt
Removing /usr/local/bea/wlserver_10.3/bugsfixed/20780171-WLS-10.3.6