Solaris的Patch政策,簡單而言,可以概括為以下幾點
1)Bugfix打Patch
2)功能強化釋出Release更新
Release更新的名稱如下:
...
Solaris 10 9/10 (Update 9)
Solaris 10 8/11 (Update 10)
Solaris 10 1/13 (Update 11)
其中的1/13指13年1月。
3)Release更新也會收集很多Bugfix的Patch
相當于IE的累計更新,被Release更新收集的Patch就被"obsoleted"了。
4)Release更新也是Patch的形式,是以可以把Release認為是一個特殊的Patch
5)每個Patch(包括Release)有個PatchID,
比如:120061-02,其中02代表是這個Patch的第2次修正版
6)Patch之間有依賴關系,子Patch依賴于父Patch
由于這個依賴關系,就需要按順序打Patch,但因為Release更新會收集一堆Patch又一定程度上簡化了更新的過程。
更新過程變成了:
打目前Release更新的Bugfix Patch
下一個版本的Release更新Patch
下一個版本Release更新的Bugfix Patch
下下一個版本的Release更新Patch
...
詳細參考:
https://blogs.oracle.com/patch/entry/solaris_10_kernel_patchid_progression
每個Patch的詳細參考
https://getupdates.oracle.com/readme/README.$PatchID
比如:
https://getupdates.oracle.com/readme/README.144500-19
幾個相關的指令
1. 檢視Solaris版本
bash-3.2$ cat /etc/release
Oracle Solaris 10 8/11 s10s_u10wos_17b SPARC
Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
Assembled 23 August 2011
bash-3.2$ showrev
Hostname: NODE1
Hostid: 84f9f16d
Release: 5.10
Kernel architecture: sun4v
Application architecture: sparc
Hardware provider: Oracle Corporation
Domain:
Kernel version: SunOS 5.10 Generic_147440-01
2. 檢視詳細的Patch一覽
bash-3.2$ showrev -a
3. 檢視某個檔案來自哪個包
bash-3.2$ pkgchk -lp /lib/sparcv9/libc.so.1
NOTE: Couldn't lock the package database.
Pathname: /lib/sparcv9/libc.so.1
Type: regular file
Expected mode: 0755
Expected owner: root
Expected group: bin
Expected file size (bytes): 1792616
Expected sum(1) of contents: 24625
Expected last modification: Jul 07 00:00:41 2011 Referenced by the following packages:
SUNWcslr
Current status: installed
4. 檢視包的版本(沒查到Patch号,但有Patch的時間戳)
bash-3.2$ pkginfo -l SUNWcslr
PKGINST: SUNWcslr
NAME: Core Solaris Libraries (Root)
CATEGORY: system
ARCH: sparc
VERSION: 11.10.0,REV=2005.01.21.15.53
BASEDIR: /
VENDOR: Oracle Corporation
DESC: core software for a specific instruction-set architecture
PSTAMP: on10ptchfeat20110620074843
INSTDATE: Aug 29 2013 19:39
HOTLINE: Please contact your local service provider
STATUS: completely installed
FILES: 245 installed pathnames
2 shared pathnames
5 directories
133 executables
36290 blocks used (approx)