shell脚本如何知道它在Solaris区域中运行?

时间:2009-03-02 17:32:23

标签: solaris

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

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

3 个答案:

答案 0 :(得分:5)

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

NAME
   zonename - print name of current zone

SYNOPSIS
   zonename

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

...

答案 1 :(得分: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

答案 2 :(得分:1)

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

arp -a |grep SP

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