如何确定 Solaris 机器上次修补的时间?

如何确定 Solaris 机器上次修补的时间?

我正在尝试确定补丁级别以及某些 Solaris 计算机多久没有打补丁,以便支持对首先要打补丁的系统进行分类。如何确定 Solaris 计算机上次打补丁的时间?

答案1

好吧,不知道有什么好的直接方法,但这些可能会有帮助。'showrev -p' 将告诉您所有已安装的补丁。我猜 /var/sadm/pkg 中的日期应该是上次修改(或修补)软件包时的日期。

答案2

我不知道如何确定 Solaris 机器上次打补丁的时间,但你可以用 showrev -p 计算出补丁级别

答案3

我同意上述 showrev -p 的评论,并补充说 uname -a 获取内核版本对于提供总体情况也很有用。

答案4

为了确定 Solaris(10)系统没有修补的时间,我远程检查了以下内容(从 Linux 系统,因为 GNUdate很方便)。

1)远程获取目录中最新内容的日期/时间patch

(选项解释见下文ls

ls -terd /var/sadm/patch/* | tail -1 | awk '{print $6,$7,$9,$8 }'

注意;该awk命令以以下格式打印日期MMM DD YYYY HH:mm:ss

Jan 28 2017 01:48:14

2)$days_since用计算days_since{}(这在 中有效ksh,在 中可能有效bash);

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.

相关内容