5

shell 脚本在 Solaris 实例中安装和配置一些服务和应用程序。其中一项服务是 NTP - 但 NTP 不能在非全局区域中运行(它可以,但 xntpd 在尝试调整时钟时失败;相反,该区域从全局区域继承时间)。

shell 脚本如何判断它确实在非全局 Solaris 区域中运行,以便在这些情况下跳过 NTP 配置步骤?

4

3 回答 3

5

使用zonename(1). 在全局区域(或在没有任何区域的独立服务器上)中,这将返回字符串global

NAME
   zonename - print name of current zone

SYNOPSIS
   zonename

DESCRIPTION
   The zonename utility prints the name of the current zone.

...
于 2009-03-02T18:45:43.013 回答
1

您也可以尝试zoneadm list -cv,在全局区域中,您将看到如下输出:

# zoneadm list -cv
ID NAME             STATUS         PATH
0 global           running        /
1 zone1            running        /zones/zone1

而在任何其他区域中,您只会看到该特定区域,例如

# zoneadm list -cv
ID NAME             STATUS         PATH
1 zone1            running        /zones/zone1
于 2009-03-02T18:01:44.147 回答
1

好吧,如果您在区域内运行脚本并希望确保它在区域上运行,那么运行以下命令

arp -a |grep SP

您可以在上述命令的输出中的 1 行中看到您的全局区域。根据此输出在脚本中应用检查可能会很有用。

于 2013-01-17T09:45:02.813 回答