为大家整理一下:
uname -r 将显示以 5 为前缀的主要版本号。(例如,Solaris 9 将是 5.9,10 将是 5.10,11 将是 5.11)uname -v将是内核补丁号或内华达版本号。在 OpenSolaris 之前,这对您来说毫无意义,因为可以独立于更新版本安装补丁。在 Solaris 10 及更早版本上,它是一个补丁号(在 S10 x86 上,它是“Generic_142910-17”,或类似的名称)。任何内华达版本(基于 OpenSolaris、Solaris 11 和 IllumOS 的版本)都将是版本号。在 Solaris 11 Express 上,它是“snv_151a”/etc/release以实际产品版本为准。例如,Solaris 10 update 9 将显示“Solaris 10 9/10 s10x_u9”。同样,内华达州版本将具有 snv 版本号。在任何情况下,获得正确有意义的版本号的最佳方法是/etc/release. 具体来说,第一行的倒数第二个字段。
或者最简单的:
$ head -1 /etc/release | awk ' { print $(NF-1) }'
s10x_u9wos_14a
Run Code Online (Sandbox Code Playgroud)
编辑:
关于 Solaris 上主要/次要版本混淆的说明。
Solaris 以 SunOS 开始,它基于 BSD,以版本 4 的内核结束(与 BSD 4.x 系列相同)。时间流逝,它重新基于 System V。该产品更名为 Solaris,并标记为 Solaris 2。内核版本设置为 5.0。Solaris 2 到 2.6 已发布,对应于内核版本 5.0-5.6。在下一个版本中,“主要”数字完全从营销和品牌中删除,它被简称为 Solaris 7。这一传统一直延续到今天。所以 Solaris 10 实际上是 Solaris 2.10,内核版本 5.10。Solaris 11 同样是 2.11 和 5.11。
但出于所有意图和目的,传统的“次要”数字现在是“主要”数字。永远不会有 SunOS 6.0,也不会有 Solaris“3”,这就是为什么我将其称为主编号的原因。