游乐游手机版
首页/系统平台/文章详情

如何给Solaris系统打补丁保障系统安全完整指南

时间:2026-06-20 10:30
说起Solaris系统的补丁管理,很多运维老手都有一套自己的心得。但如果你刚接手这类工作,可能会被补丁的命名规则、下载方式以及安装流程绕晕。别急,我们把这事从头到尾捋一遍——从补丁分类到安装卸载,再到常见问题的排查,争取一步到位。 一、Solaris补丁介绍 1 1 补丁的种类及文件名 Solari

说起Solaris系统的补丁管理,很多运维老手都有一套自己的心得。但如果你刚接手这类工作,可能会被补丁的命名规则、下载方式以及安装流程绕晕。别急,我们把这事从头到尾捋一遍——从补丁分类到安装卸载,再到常见问题的排查,争取一步到位。

一、Solaris补丁介绍

1.1 补丁的种类及文件名

Solaris的补丁其实就两大类:一类是Point补丁,另一类是Cluster补丁

a) Point补丁程序:
这类补丁是针对某个具体问题或漏洞发布的单个补丁。Solaris 7、8、9的Patch通常是.zip文件,Solaris 2.6则是.tar.Z.tar.gz。编号规则像这样:
patch base code - revision num,例如 110668-04
前半段是主版本号(base code),后半段是修订号。两者合起来就是Patch-ID。打个比方,110668-04是在110668-03基础上做了新修复——而且Sun一旦发布-04,就不再提供-03及之前的版本了。

b) Cluster补丁程序:
Cluster补丁说白了就是把一堆Point补丁打包成一个集合,附带自动安装脚本。命名方式很直观:
版本_Recommended,比如9_x86_Recommended.zip对应Solaris 9 for x86,8_Recommended.zip对应Solaris 8 for Sparc。
每个Cluster补丁都会附带一个CLUSTER_README文件,里面详细列出了包含哪些补丁以及安装注意事项——安装前请一定先看它。

1.2 关于补丁的其他信息

Sun为每个Solaris版本维护了一份Patch Reports,里面按版本列出了所有补丁的描述,每月更新两次。获取地址:
https://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access&na v=patchpage
另外还有一份Sun Alert Patch Report,按产品分类实时更新,可以查到所有Sun产品的更新文档和对应的补丁ID、简要说明等。Solaris部分的直接链接:
https://sunsolve.sun.com/pub-cgi/show.pl?target=sunalert_patches#Solaris
表格按时间排序,从Category列就能看出来这个问题是安全修复还是性能优化——一目了然。

二、补丁的下载

Cluster补丁可以从上面的SunSolve页面下载,也可以用FTP直接连到 sunsolve.sun.com,在 /patchroot/clusters 目录下能找到所有Cluster补丁。下载后是一个*_Recommended.zip文件,里面包含一份CLUSTER_README——强烈建议先读它。

Point补丁比较散,不容易手动下载和管理。两种方法:一是通过Sun Alert Patch Report或Patch Reports找到Patch ID和下载链接;二是用Sun网站自带的Patch Finder功能,输入Patch ID就能定位到对应补丁。同样,FTP方式也可以:在sunsolve.sun.com/patchroot/all_unsigned目录下能找到指定的Patch。

Sun官方建议所有下载的补丁都放到/var/tmp目录下——这也是大多数运维人员的习惯做法。这样做能避免安装时出现权限或所有权问题。

三、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 2.6开始,系统提供了两个命令来管理补丁:patchadd(安装)和patchrm(卸载)。在2.6之前的老版本,每个补丁包里自带installpatchbackoutpatch程序。

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可以查看已安装的补丁信息:

# patchadd -p
Patch: 106793-01  Obsoletes:  Requires:  Incompatibles:
Packages: SUNWhea
...

另一个常用命令是showrev -p,也能列出已安装的补丁。

patchrm:用于卸载补丁。它通过pkgadd恢复安装前备份的文件来移除补丁。用法很简单:

# patchrm 106793-01
Checking installed packages and patches...
Backing out patch 106793-01...
Patch 106793-01 has been backed out.

但需要注意:在以下三种情况下,补丁无法卸载:

  • 安装时使用了patchadd -d(不备份文件)
  • 有其他补丁依赖这个补丁(存在依赖关系),必须先卸载依赖它的那个补丁
  • 要卸载的补丁已被更新的补丁废弃(比如安装了110668-04后,110668-03就被废弃了,无法单独卸载)

3.3 Cluster补丁的安装

Cluster补丁是补丁集合,下载解压后,直接执行./install_Cluster脚本即可。脚本会先检查当前目录下的patch_order文件——这个文件标明了补丁的安装顺序,脚本会按照这个顺序逐一安装。如果没有patch_order文件,脚本会假定当前目录下所有以数字开头的目录名就是需要安装的补丁,并按目录名的字母顺序来安装。所以,如果你想跳过某个补丁或者调整顺序,可以手动修改patch_order文件。

3.4 安装Patch时的注意事项

安装补丁时需要更新系统文件,因此Sun官方推荐在单用户模式下进行。如果服务器不允许重启进入单用户模式,那么至少要在多用户模式下停止相关服务进程后再安装——这是完全可以的。
另外,不是每一个Patch都必须安装。安装前仔细阅读README文件,确认该补丁是否适用于你的环境,以及是否存在依赖关系。有些补丁需要先装另一个补丁才能成功安装,这些信息都会在README里写清楚。一句话:README是个宝,安装之前好好瞧

3.5 安装PATCH过程中间出现的问题

安装补丁时经常会看到类似这样的错误提示:

Installation of 123456-11 failed. Return code 2

根据Return code就能判断问题所在。需要特别注意的是:Return code 2 表示补丁已被安装过,Return code 8 表示要修复的软件包根本没有安装——这两种情况完全可以忽略。下面列出完整的退出码含义对照表:

Exit codeMeaning
0No error
1Usage error
2Attempt to apply a patch that's already been applied
3Effective UID is not root
4Attempt to sa ve original files failed
5pkgadd failed
6Patch is obsoleted
7Invalid package directory
8Attempting to patch a package that is not installed
9Cannot access /usr/sbin/pkgadd (client problem)
10Package validation errors
11Error adding patch to root template
12Patch script terminated due to signal
13Symbolic link included in patch
14NOT USED
15The prepatch script had a return code other than 0
16NOT USED
17Mismatch of the -d option between a previous patch install and the current one
18Not enough space in the file systems that are targets of the patch
19$SOFTINFO/INST_RELEASE file not found
20A direct instance patch was required but not found
21The required patches ha ve not been installed on the manager
22A progressive instance patch was required but not found
23A restricted patch is already applied to the package
24An incompatible patch is applied
25A required patch is not applied
26The user specified backout data can't be found
27The relative directory supplied can't be found
28A pkginfo file is corrupt or missing
29Bad patch ID format
30Dryrun failure(s)
31Path given for -C option is invalid
32Must be running Solaris 2.6 or greater
33Bad formatted patch file or patch file not found
34The appropriate kernel jumbo patch needs to be installed
35Later revision already installed

这张表建议收藏一下,遇到报错直接查返回值,比瞎猜效率高得多。

来源:https://www.jb51.net/os/Solaris/1674.html
上一篇Solaris 9.0基本安全设置指南 下一篇Solaris系统vi编辑器命令详解与操作实例
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送