function days_since {
d2=$(date -d "$1" +%s)
d1=$(date -d now +%s)
echo $(( (d1 - d2) / 86400 ))
}
现在我们知道 Solaris 10 系统已经 192 天没有打补丁了!:)
Solaris 10ls命令快速参考;
-t Sorts by time stamp (latest first) instead of
by name. The default is the last modification
time. (See -u and -c.
-e The same as -l, except displays time to the
second, and with one format for all files
regardless of age: mmm dd hh:mm:ss yyyy.
-r Reverses the order of sort to get reverse
alphabetic or oldest first as appropriate.
-d If an argument is a directory, lists only its
name (not its contents). Often used with -l to
get the status of a directory.
我不知道确定上一次安装 solaris 盒的时间,但是您可以使用 showrev -p 计算出补丁级别
好吧,不知道有什么好的直接方法,但这些可能会有所帮助。'showrev -p' 会告诉你所有已安装的补丁。而且我猜 /var/sadm/pkg 中的日期将来自上次修改(或修补)软件包的时间。
我同意上面的 showrev -p 评论并添加 uname -a 来获取内核版本对于给出一般情况也很有用。
您应该首先检查显示最初安装的 Solaris 版本的 /etc/release,然后使用“uname -a”检查您当前正在使用哪个内核补丁(显示的是数字 XXXXXX-XX),然后开始比较内核补丁对于其他机器,内核补丁是一个关键组件,因此更新的内核补丁通常意味着几乎所有方面的系统都更新。
然后,如果您不是胆小,您可以使用(非官方)PCA 工具来自动更新您的系统,只需提供一个有效的 SunSolve 帐户即可。
为了确定一个 Solaris (10) 系统多久没有打补丁,我远程检查了以下内容(从 Linux 系统,因为 GNU
date
很方便)。1)从目录中最近的东西中远程抓取日期/时间
patch
;(有关选项的说明,请参见下文
ls
)笔记; 该命令以格式
awk
打印日期;MMM DD YYYY HH:mm:ss
2)计算
$days_since
(days_since{}
这适用于ksh
, 可能适用于bash
);现在我们知道 Solaris 10 系统已经 192 天没有打补丁了!:)
Solaris 10
ls
命令快速参考;