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

发布于 2024-07-14 13:38:14 字数 185 浏览 6 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不羁少年 2024-07-21 13:38:14

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

NAME
   zonename - print name of current zone

SYNOPSIS
   zonename

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

...

Use zonename(1). In the global zone (or on a standalone server without any zones), this will return the string global.

NAME
   zonename - print name of current zone

SYNOPSIS
   zonename

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

...
晨曦÷微暖 2024-07-21 13:38:14

您还可以尝试 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

You could also try zoneadm list -cv, in the global zone you will see output like:

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

whereas in any other zone you would only see that particular zone, e.g.

# zoneadm list -cv
ID NAME             STATUS         PATH
1 zone1            running        /zones/zone1
ゃ人海孤独症 2024-07-21 13:38:14

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

arp -a |grep SP

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

Well, if you are running script inside zone and wanting to make sure it is running on zone then run below command

arp -a |grep SP

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文