كيف يمكن للنص shell أن يعرف أنه يعمل في منطقة سولاريس؟
-
03-07-2019 - |
سؤال
يقوم البرنامج النصي Shell بتثبيت وتكوين بعض الخدمات والتطبيقات في مثيل Solaris. إحدى هذه الخدمات هي NTP - ولكن لا يمكن أن يعمل NTP في منطقة غير عازمة (حسناً ، يمكن ذلك ، لكن XNTPD فشل عندما تحاول ضبط الساعة ؛ وبدلاً من ذلك ترث المنطقة الوقت من المنطقة العالمية).
كيف يمكن لبرنامج SHELL أن يخبره أنه يعمل بالفعل في منطقة Solaris غير المقلية ، بحيث يمكنه تخطي خطوة تكوين NTP في تلك الحالات؟
المحلول
يستخدم 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
حسنًا ، إذا كنت تقوم بتشغيل البرنامج النصي داخل المنطقة وترغب في التأكد من تشغيله في المنطقة ، فقم بتشغيله أدناه
arp -a |grep SP
يمكنك رؤية منطقتك العالمية في سطر واحد عند إخراج الأمر أعلاه. قد يكون من المفيد تطبيق فحص البرنامج النصي الخاص بك على قاعدة هذا الإخراج.