教你如何给solaris打补丁!

来源:互联网 发布:汉诺塔递归算法输出 编辑:程序博客网 时间:2024/05/01 04:14

Sun公司建议所有下载的补丁都放到/var/tmp目录下(这也是通常的做法),如此将不会导致补丁安装时出现的任何permission/ownership的问题。

在/var/sadm/patch目录下,记录了已安装的补丁。如:# ls /var/sadm/patch

patchadd通过调用pkgadd命令来安装补丁。安装补丁前,我们需要将补丁解压到/var/tmp下安装。# patchadd 110668-04

patchadd安装补丁以后,系统会备份原文件,以便在以后删除此补丁。如果使用patchadd -d 选项安装补丁,系统将不备份源文件,这意味着你将不能在以后删除此补丁。使用patchadd -p选项可以检验已安装的patch,例如:

-bash-3.00# patchadd -pPatch: 116299-08 Obsoletes: Requires: Incompatibles: Packages: SUNWxsrt SUNWjaxp SUNWxrgrt SUNWxrpcrtPatch: 116303-02 Obsoletes: Requires: Incompatibles: Packages: SUNWxrpcrtPatch: 116353-01 Obsoletes: Requires: Incompatibles: Packages: SUNWcjaf SUNWcjmail

同样,solaris提供了另一命令来查看已安装的patch:

-bash-3.00# showrev -pPatch: 116299-08 Obsoletes:  Requires:  Incompatibles:  Packages: SUNWxsrt, SUNWjaxp, SUNWxrgrt, SUNWxrpcrtPatch: 116303-02 Obsoletes:  Requires:  Incompatibles:  Packages: SUNWxrpcrtPatch: 116353-01 Obsoletes:  Requires:  Incompatibles:  Packages: SUNWcjaf, SUNWcjmail

patchrm如果因为某种情况你想卸载某一补丁,你可以使用patchrm命令来完成。此命令通过调用pkgadd来恢复安装补丁前的文件备份来卸载补丁。使用Patch-ID作为patchrm的参数就可以卸载补丁:#patchrm 106793-01
这里需要说明一下,在如下三种情况下,补丁将不能卸载:
1).在安装patch时,用patchadd -d命令指定patchadd不备份被更新的文件。这样安装的patch无法删除。
2).另一patch需要此patch,即存在dependence(关联性),如一定要删掉该patch,先删掉另一patch。
3).要删的patch已被另一更新的patch废弃了。如安装110668-04补丁后,如果以前安装过110668-03,则110668-03将被110668-04废弃,110668-03将无法删除。

在安装补丁的过程中,经常出现一些错误提示。例如:Installation of 123456-11 failed. Return code 2 通过Return code 我们可以知道错误类型。需要注意的是,Return code 2 说明此补丁已被安装,Return code 8 说明此补丁要修复的软件没有被系统安装。因此,2和8是完全可以被忽略的错误提示。

原创粉丝点击