Как скрипт оболочки может знать, что он работает в зоне Solaris?
Сценарий оболочки устанавливает и настраивает некоторые службы и приложения в экземпляре Solaris. Одна из этих служб-NTP , но NTP не может работать в неглобальной зоне (ну, это возможно, но xntpd терпит неудачу, когда он пытается настроить часы; вместо этого зона наследует время от глобальной зоны).
Как сценарий оболочки может сказать, что он действительно работает в неглобальной зоне Solaris, так что он может пропустить шаг конфигурации NTP в этих случаях?
3 ответа:
Используйте
zonename(1)
. В глобальной зоне (или на автономном сервере без зон) это вернет строкуglobal
.NAME zonename - print name of current zone SYNOPSIS zonename DESCRIPTION The zonename utility prints the name of the current zone. ...
Вы также можете попробовать
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