shell 脚本如何知道它在 Solaris 区域中运行?
shell 脚本在 Solaris 实例中安装和配置一些服务和应用程序。 其中一项服务是 NTP - 但 NTP 无法在非全局区域中运行(当然可以,但 xntpd 在尝试调整时钟时失败;相反,区域从全局区域继承时间)。
shell 脚本如何判断它确实在非全局 Solaris 区域中运行,以便在这些情况下可以跳过 NTP 配置步骤?
A shell script installs and configures some services and applications in a Solaris instance. One of these services is NTP - but NTP cannot run in a non-global zone (well it can, but xntpd fails when it tries to adjust the clock; instead the zone inherits the time from the global zone).
How can a shell script tell that it is indeed running in a non-global Solaris zone, so that it can skip the NTP configuration step in those cases?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用
zonename(1)
。 在全局区域中(或在没有任何区域的独立服务器上),这将返回字符串global
。Use
zonename(1)
. In the global zone (or on a standalone server without any zones), this will return the stringglobal
.您还可以尝试
zoneadm list -cv
,在全局区域中您将看到如下输出:而在任何其他区域中您只会看到该特定区域,例如
You could also try
zoneadm list -cv
, in the global zone you will see output like:whereas in any other zone you would only see that particular zone, e.g.
好吧,如果您在区域内运行脚本并希望确保它在区域上运行,则运行以下命令
您可以在上述命令的输出中的 1 行中看到您的全局区域。 根据此输出在脚本中应用检查可能会很有用。
Well, if you are running script inside zone and wanting to make sure it is running on zone then run below command
You can see your global zone in 1 line at output of above command. It might be useful to apply check in your script on base of this output.