好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

solaris补丁说明

一、solaris 补丁 介绍 1.1 补丁 的种类及文件名 solaris的 补丁 分为两类,一类是Point 补丁 ,另一类是Cluster 补丁 。 a)Point 补丁 程序: 这类 补丁 仅仅是针对某一问题或缺陷而发布的单个 补丁 程序,solaris7、solaris8、solairs9的Patch一般为*.zip文

一、solaris 补丁 介绍
1.1 补丁 的种类及文件名
solaris的 补丁 分为两类,一类是Point 补丁 ,另一类是Cluster 补丁 。

a)Point 补丁 程序:
这类 补丁 仅仅是针对某一问题或缺陷而发布的单个 补丁 程序,solaris7、solaris8、solairs9的Patch一般为*.zip文件solaris2.6一般为.tar.Z或.tar.gz文件,它有如下编号方式: GawLinux联盟
patch base code-revision num (如110668-04) 前面部分是这个 补丁 的主版本号(base code),后面部分是此 补丁 的修订号。两者合起来构成此 补丁 的Patch-ID。如上例编号为110668-04的 补丁 ,110668为主版本号,04是修订号。此 补丁 是在110668-03的基础上做了新的修复。有一点需要指出, 补丁 版本号为110668的一系列 补丁 都是针对 /usr/sbin/in.telnetd 这一文件的不同问题的修复,110668-04发布以后,sun将不再提供110668-04以前的 补丁 ,如110668-03等。

b) Cluster 补丁 程序:
cluster 补丁 仅仅是一系列point 补丁 的重新包装,并带有自动安装程序。Cluster 补丁 的命名方式如下:
version_Recommended
如:9_x86_Recommended.zip是针对Solaris 9 for X86的 补丁 集。
8_Recommended.zip是针对Solaris 8 for Sparc 的 补丁 集。
每个Cluster 补丁 都对应一个CLUSTER_README文件,详细描述了该Cluster包含的 补丁 ,以及安装的方法或注意事项。

1.2 关于 补丁 的其他信息
sun公司对每一版本的solaris都维护了一份Patch Reports,该Patch Reports包含了对应版本solaris所有 补丁 的描述。Patch Reports每月更新两次,可以从如下地址得到:
http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access&nav=patchpage
另外sun还维护了一份Sun Alert Patch Report,该文档按产品分类,并且随时更新。从这里可以找到所有sun产品的更新文档及相应 补丁 ,当然也包括的solaris的Sun Alert 文档、Patch ID、简要 说明 等。Sun Alert Patch Report从这里可以得到:
http://sunsolve.sun.com/pub-cgi/show.pl?target=sunalert_patches
相应的solaris部分可从如下链接得到:
http://sunsolve.sun.com/pub-cgi/show.pl?target=sunalert_patches#Solaris 表格按时间排序,从Category表格中可以知道此问题属于安全缺陷修复还是应用优化。 二、 补丁 的下载 GawLinux联盟
Cluster 补丁 可以从如下网址下载: http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access&nav=patchpage
同样可以使用FTP协议下载,在sunsolve.sun.com的/pacthroot/clusters可以找到所有的Cluster 补丁 。下载后为一个*_Recommended.zip文件。该压缩文件包含一份CLUSTER_README文件,建议安装前阅读此文件。
Point 补丁 由于其分散性不易下载与管理,可以使用Sun Alert Patch Report或Patch Reports来查看 补丁 情况,这两份文档相应的Patch ID及对应下载地址。另外sun网站提供的Patch Finder 功能也可以使我们在知道Patch ID的情况下很方便的找到该 补丁 ,连接如下:
http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access&nav=patchpage
同样,利用ftp协议从sunsolve.sun.com的/patchroot/all_unsigned目录下也可以下载指定Patch。
Sun公司建议所有下载的 补丁 都放到/var/tmp目录下(这也是通常的做法),如此将不会导致 补丁 安装时出现的任何permission/ownership的问题。
三、solaris 补丁 的安装和删除
3.1 /var/sadm/patch目录
在/var/sadm/patch目录下,记录了已安装的 补丁 。
如: # ls /var/sadm/patch
107558-05 107594-04 107630-01 107663-01 107683-01
107696-01 107817-01 107582-01 107612-06 107640-03
建议不要对此目录做任何修改,此目录被破坏后将不能安装或删除任何 补丁 。

3.2 管理solaris 补丁
Solaris提供了两个命令来管理 补丁 ,patchadd和patchrm。这两个命令是在Solaris 2.6版本开始提供的,在2.6以前的版本中,每个 补丁 包中都提供了一个installpatch 程序和一个backoutpatch 程序来完成 补丁 的安装和卸载。
patchadd用来安装解压缩后的 补丁 程序。patchadd通过调用pkgadd 命令来安装 补丁 。安装 补丁 前,我们需要将 补丁 解压到/var/tmp下安装。安装 补丁 如下命令:
# cd /var/tmp
# patchadd 110668-04
Checking installed patches...
Verifying sufficient filesystem capacity (dry run method) Installing patch packages...
如果当前目录下有110668-04目录,patchadd将安装此 补丁 。 补丁 安装后,系统会备份原文件,以便在以后删除此 补丁 。如果使用patchadd -d 选项安装 补丁 ,系统将不备份源文件,这意味着你将不能在以后删除此 补丁 。使用patchadd -p 选项可以检验已安装的patch,例如: GawLinux联盟
# patchadd -p
Patch: 106793-01 Obsoletes: Requires: Incompatibles:
Packages: SUNWhea
. . . 同样,solaris提供了另一命令来查看已安装的patch:
# showrev -p
Patch: 106793-01 Obsoletes: Requires: Incompatibles:
Packages: SUNWhea
. . .
patchrm 如果因为某种情况你想卸载某一 补丁 ,你可以使用patchrm命令来完成。此命令通过调用 pkgadd来恢复安装 补丁 前的文件备份来卸载 补丁 。使用Patch-ID作为patchrm的参数就可以卸载 补丁 : GawLinux联盟
# patchrm 106793-01
Checking installed packages and patches...
Backing out patch 106793-01...
Patch 106793-01 has been backed out.
这里需要 说明 一下,在如下三种情况下, 补丁 将不能卸载:
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将无法删除。

3.3 Cluster 补丁 的安装
Cluster 补丁 为单个 补丁 的集合,下载解压后,可以通过执行./install_Cluster脚本来完成 补丁 集的安装。执行./install_Cluster后,脚本将检查当前目录下的patch_order文件,此文件标明了Patch的安装顺序,./install_Cluster将按照patch_order文件给出的顺序来安装patch。如果没有patch_order文件,则假定当前目录下所有以1开始的目录名均为需要安装的 补丁 目录,并且假定这些目录的名称次序作为安装Patch的次序。因此你可以通过修改patch_order文件来决定安装或不安装某Patch。 GawLinux联盟

3.4 安装Patch时的注意事项
由于在安装Patch时需要更新文件,故此Solaris官方推荐在安装 补丁 时进入单用户模式安装。在某些重要服务器上可能带来不便,因此你完全可以在多用户模式下通过停止相关服务进程来完成Patch的安装。
Sun推出的Patch并不是每个都一定要安装的,因此需要在安装patch前仔细阅读README来确定是否需要安装此 补丁 。另外,某些 补丁 具有依赖性,需要先安装另一 补丁 才能完成此 补丁 的安装,这些都会在README中标明。总之,安装 补丁 之前强烈建议你阅读相应的README(每个Patch都提供单独的README文件)。
3.5 安装PATCH过程中出现的问题
在安装 补丁 的过程中,经常出现一些错误提示。例如:
Installation of 123456-11 failed. Return code 2
通过Return code我们可以知道错误类型。需要注意的是,Return code 2 说明 此 补丁 已被安装,Return code 8 说明 此 补丁 要修复的软件没有被系统安装。因此,2和8是完全可以被忽略的错误提示。下表 说明 了各个Return code对应的错误类型。
Exit code Meaning
0 No error
1 Usage error
2 Attempt to apply a patch that's already been applied
3 Effective UID is not root
4 Attempt to save original files failed
5 pkgadd failed
6 Patch is obsoleted
7 Invalid package directory
8 Attempting to patch a package that is not installed
9 Cannot access /usr/sbin/pkgadd (client problem)
10 Package validation errors
11 Error adding patch to root template
12 Patch script terminated due to signal
13 Symbolic link included in patch
14 NOT USED 15 The prepatch script had a return code other than 0.
16 The postpatch script had a return code other than 0.

查看更多关于solaris补丁说明的详细内容...

  阅读:37次