2009-03-02 4 views
5

シェルスクリプトは、Solarisインスタンスにいくつかのサービスとアプリケーションをインストールして構成します。これらのサービスの1つはNTPですが、NTPは非大域ゾーンでは実行できません(もちろん可能ですが、クロックを調整しようとするとxntpdが失敗し、大域ゾーンから時間が継承されます)。シェルスクリプトはSolarisゾーンで実行されていることをどのように知ることができますか?

シェルスクリプトは、非グローバルなSolarisゾーンで実際に実行されていることをどのように伝えることができますか?その場合、NTP設定ステップをスキップできますか?

答えて

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

また、グローバルゾーンにあなたのような出力が表示されます、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 
1

さて、あなたは、ゾーン内のスクリプトを実行し、それがゾーンで実行されていることを確認したいと思っているならば、コマンドの下に実行

arp -a |grep SP 

あなたは上記の出力で、1行にあなたのグローバルゾーンを見ることができますコマンド。この出力に基づいてスクリプトをチェックインすると便利です。

関連する問題