•این
فایل برای
سورس شدن
توسط
اسکریپتهای
شل و همچنین
فریمورکهای
مدیریت
سرویس
مانند systemd در
لینوکس در
نظر گرفته
شده است:
•هیچ
تضمینی
برای
پشتیبانی
از نحو export VAR=VAL
وجود
ندارد
•هیچ
تضمینی
برای بسط
متغیرها
مانند VAR1="$VAR2-something"
— تنها
انتسابهای
صریح و
مستقیم (verbatim)
وجود
ندارد
•ممکن
است هنگام
سورس کردن
این فایل در
اسکریپتهای
init یا
اسکریپتهای
دیگر، نیاز
به استفاده
از دستور export VAR
داشته
باشید تا در
نهایت برخی
تنظیمات به
برنامههای
NUT منتقل شوند.
متغیرهایی
که export
نشدهاند
فقط توسط
همان
اسکریپتی
که فایل را
سورس کرده
است قابل
استفاده
هستند (و آن
اسکریپت
ممکن است
خود تصمیم
بگیرد
آنها را
بهطور
مستقل export
کند).
•شما
نباید به
هیچ عنوان
از فاصله (space)
در اطراف
علامت
مساوی
استفاده
کنید!
•پشتیبانی
عملی از این
فایل و
تنظیمات آن
در حال حاضر
بین
بستههای
مختلف
سیستمعامل
و
اسکریپتهای
نمونه NUT
متفاوت
است، اما به
مرور زمان
همگرا
خواهد شد.
•محتوای
این فایل
باید صرفاً
نویسههای
اَسکی (ASCII
خالص) باشد
(کدهای
نویسهای
خارج از این
محدوده با
یک پیام
هشدار
نادیده
گرفته
خواهند شد).
برای
مشاهده
نمونهها
به بخش
مثالها
مراجعه
کنید.
MODE
الزامی
است. مقادیر
معتبر
عبارتند از
none،
standalone،
netserver و
netclient. مقدار
پیشفرض
none
است.
none
مشخص
میکند که NUT
نباید
بهطور
خودکار
راهاندازی
شود؛
احتمالاً
به این دلیل
که هنوز
پیکربندی
نشده است،
یا اینکه از
یک سامانه
مدیریت
یکپارچه
توان (Integrated Power Management)
یا سیستمی
خارجی برای
راهاندازی
مؤلفههای NUT
استفاده
میشود.
standalone
به یک
پیکربندی
صرفاً محلی
اشاره دارد
که در آن ۱
دستگاه UPS از
سیستم محلی
محافظت
میکند. این
حالت
مستلزم
راهاندازی
هر ۳ لایه NUT
(درایور، upsd و
upsmon) به همراه
فایلهای
پیکربندی
مربوطه است.
این حالت
کاری
همچنین
میتواند
افزونگی UPS را
نیز
پشتیبانی
کند.
netserver
مشابه
پیکربندی standalone
است، اما
احتمالاً
به یک یا چند
دستورالعمل
مشخص LISTEN در upsd.conf
نیز نیاز
دارد. از
آنجا که این
MODE بر روی
شبکه باز
است، باید
توجه
ویژهای به
مسائل
امنیتی
مبذول شود.
netclient
هنگامی
که فقط به upsmon
نیاز باشد،
مثلاً به
این دلیل که
میزبانهای
دیگری وجود
دارند که
مستقیماً
به UPS متصل
هستند،
مقدار MODE باید
روی netclient تنظیم
شود.
ALLOW_NO_DEVICE
اختیاری،
با مقدار
پیشفرض false.
این گزینه
را روی true
تنظیم کنید
تا اجازه
راهاندازی
سرویس سرور
داده NUT یعنی upsd
داده شود،
حتی اگر در
حال حاضر
هیچ بخشی
برای
دستگاهها
در ups.conf
پیکربندی
نشده باشد.
این متغیر
محیطی بر
مقدار پرچم
توکار «false»
در برنامه upsd
و پرچم
پیشفرض
اختیاری با
همین نام که
میتواند
در upsd.conf تنظیم
شود، تقدم
دارد و آن را
بازنویسی
میکند.
اگر
میخواهید
سرور داده
همیشه در
حال اجرا
باشد و روی
شبکه پاسخ
دهد، حتی
اگر در
ابتدا چیزی
برای ارائه
نداشته
باشد (تا
بعداً با
پیکربندی
دستگاهها
بهصورت
زنده
مجدداً
بارگذاری
شود)، این
گزینه
مناسب
شماست.
ALLOW_NOT_ALL_LISTENERS
اختیاری،
با مقدار
پیشفرض false.
این گزینه
را روی true
تنظیم کنید
تا اجازه
راهاندازی
سرور داده NUT
یعنی upsd داده
شود، حتی
اگر در حال
حاضر تمام
دستورالعملهای
LISTEN قابل اجرا
نباشند. این
متغیر
محیطی بر
پرچم توکار
«false» در
برنامه upsd و
پرچم
پیشفرض
اختیاری
همنام که
میتواند
در upsd.conf تنظیم
شود،
اولویت
دارد و آن را
بازنویسی
میکند.
اگر
میخواهید
سرور داده
همیشه در
حال اجرا
باشد، حتی
اگر
احتمالاً
در هر زمان
راهاندازی
به همه
کلاینتها
سرویس
ندهد، این
گزینه برای
شما مناسب
است (توجه
داشته
باشید که
اگر آدرس IP
شنودشده
بعداً ظاهر
شود، برای
اعمال آن
باید upsd را
مجدداً
راهاندازی
کنید).
احتمالاً
پیکربندی LISTEN *
در چنین
مواردی
انتخاب
بهتری است.
UPSD_OPTIONS
اختیاری.
گزینههای
اختصاصی upsd را
تنظیم
میکند.
برای
جزئیات
بیشتر به
upsd(8)
مراجعه
کنید. در
صورتی که
MODE
در بالا
نشان دهد که
هیچ upsd نباید
اجرا شود،
این گزینه
نادیده
گرفته
میشود.
UPSMON_OPTIONS
اختیاری.
گزینههای
اختصاصی upsmon
را تنظیم
میکند.
برای
جزئیات
بیشتر به
upsmon(8)
مراجعه
کنید. در
صورتی که
MODE
در بالا
نشان دهد که
هیچ upsmon نباید
اجرا شود،
این گزینه
نادیده
گرفته
میشود.
POWEROFF_WAIT
اختیاری.
در پایان
توقف
اضطراری
سیستم،
سرویس
اولیه upsmon به UPS
فرمان
میدهد تا
برق را قطع
کند. این کار
ممکن است
بنا به
دلایلی
ناموفق
باشد. از
جمله
مهمترین
آنها
بازگشت برق
شهری در حین
فرآیند
خاموش شدن
است. بخش «Power races»
را در
/usr/share/doc/nut/FAQ.txt.gz
ببینید.
سیستم این
مدت زمان را
منتظر
میماند تا UPS
برق را قطع
کند و سپس
راهاندازی
مجدد (reboot)
میشود. این
مدت باید به
اندازه
کافی
طولانی
باشد تا در
صورتی که
برق شهری
همچنان قطع
است
باتریها
تخلیه شوند.
از سوی
دیگر،
نباید
آنقدر
طولانی
باشد که اگر
برق شهری
وصل شده
باشد،
سیستم برای
مدت
نامعقولی
آفلاین
بماند. برای
نحو زمان
سازگار به
sleep(1) مراجعه
کنید. اگر
زمان را بر
حسب ثانیه
مشخص
میکنید،
از پسوند «s»
استفاده
کنید.
POWEROFF_QUIET
اختیاری،
با مقدار
پیشفرض false.
این تنظیم
مشخص
میکند که
آیا
اسکریپتهای
یکپارچهسازی
خاموش کردن NUT
یا واحدهای
سرویس،
پیامهایی
درباره
فعالیت خود
(یا عدم
فعالیت)
ارسال کنند
یا خیر.
بهطور
پیشفرض
آنها ممکن
است پرحرف (verbose)
باشند تا از
طریق
لاگها یا
خروجی
کنسول به
عیبیابی
پس از
خاموشی
سیستم کمک
کنند. اگر
این
اطلاعات را
نوفه و
دادههای
زائد
میدانید،
آن را روی true
تنظیم کنید
تا از تولید
آن جلوگیری
شود.
NUT_DEBUG_LEVEL
اختیاری،
با مقدار
پیشفرض 0.
این تنظیم،
سطح
پیشفرض
پرحرفی
پیامهای
اشکالزدایی
ارسالی به
دیمنهای NUT
را کنترل
میکند. به
عنوان یک
متغیر
محیطی،
اولویت آن
میان تنظیم
DEBUG_MIN در
درایور و
گزینههای
خط فرمان
قرار
میگیرد.
NUT_DEBUG_PID
اختیاری.
شناسه
فرآیند (PID)
جاری را به
برچسبهای
حاوی
شناسههای
سطح
اشکالزدایی
اضافه
میکند. این
ویژگی
زمانی مفید
است که
چندین دیمن NUT
در یک کنسول
یا فایل لاگ
مشترک
مینویسند؛
مانند
کانتینرها
یا
افزونهها
برای Home Assistant،
تجهیزات
ذخیرهسازی
و غیره.
NUT_DEBUG_PROCNAME
اختیاری.
نام فرآیند
(یا هر
عنوانی که
برنامه
برای معرفی
خود انتخاب
کرده) را لاگ
میکند. این
قابلیت
زمانی مفید
است که
چندین دیمن NUT
در یک فایل
یا کنسول
مشترک،
بدون
استفاده از
syslog برای درج
پیشوند نام
در هر خط لاگ
میاندازند
(مثلاً در
تستها،
سیستمهای
دارای
اسکریپت init
منفرد
مانند Home Assistant و
غیره).
NUT_DEBUG_SYSLOG
اختیاری،
بهطور
پیشفرض
مقداردهینشده
است. بهطور
معمول NUT
میتواند
از syslog یا Event Log (در WIN32)
استفاده
کند (یا تلاش
کند
استفاده
کند)، اما
متغیر
محیطی
NUT_DEBUG_SYSLOG
امکان
نادیده
گرفتن آن و
ارسال لاگ
دیمنها به
stderr را فراهم
میسازد (که
مثلاً در
مجموعه
آزمونهای
یکپارچهسازی
NUT برای آلوده
نشدن
لاگهای
سیستمعامل،
یا در systemd که هر
دو stderr و syslog به یک
ژورنال
وارد
میشوند
مفید است).
مقادیر
شناختهشده:
| مقدار |
توضیحات |
| stderr |
غیرفعال
است و `background()`
خروجی `stderr` را
متصل نگه
میدارد |
| none |
غیرفعال
است و `background()`
خروجی `stderr` را
مانند
معمول جدا
میکند |
NUT_IGNORE_CHECKPROCNAME
اختیاری،
با مقدار
پیشفرض false.
بهطور
معمول
هنگام
استفاده از
فایلهای PID
برای ارسال
سیگنالها،
NUT میتواند
بررسی کند
(یا تلاش کند
بررسی
نماید) که
نام فایل
برنامه با
نام مرتبط
با فرآیند
در حال اجرا
مطابقت
داشته باشد.
کلید بولی
NUT_IGNORE_CHECKPROCNAME امکان
نادیده
گرفتن سریع
این بررسی
را در صورتی
که مشکلی
ایجاد کند
(مثلاً
برنامههای
NUT تغییر نام
یافته
باشند و با
انتظارات
توکار
مطابقت
نداشته
باشند)
فراهم
میکند.
این متغیر
محیطی
همچنین
میتواند
بهصورت
اختیاری در
اسکریپتهای
init یا
روشهای
مدیریت
سرویس برای
upsd، upsmon و
درایورهای NUT
یا upsdrvctl تنظیم
شود.
NUT_QUIET_INIT_UPSNOTIFY
پرچمی
اختیاری
برای
جلوگیری از
ارسال
پیامهای
پر سر و صدا
توسط
دیمنهایی
است که
میتوانند
فریمورکهای
مدیریت
سرویس
(مانند systemd) را
از پشت سر
گذاشتن
مراحل چرخه
حیات خود
مطلع کنند،
در صورتی که
نتوانند
این کار را
انجام دهند
(مثلاً
اجرای دیمن
روی سیستمی
فاقد چنین
فریمورکی،
یا
پیکربندی
نادرست که
مانع از
ارسال
گزارش شده و
ممکن است
باعث شود
سیستمعامل
در نهایت
سرویسی را
که به
اشتباه
«پاسخنداده»
تلقی شده
مجدداً
راهاندازی
کند).
در حال
حاضر چنین
گزارشهایی
که بهطور
پیشفرض
ارسال
میشوند،
به
عیبیابی
راهاندازی
سرویس کمک
میکنند و
نشان
میدهند که
کدهای منبع
NUT (یا ساخت
بسته) از
یکپارچهسازی
نزدیکتر
با
فریمورک
مدیریت
سرویس
سیستمعامل
بهره نبرده
است (در
صورتی که
چنین
فریمورکی
وجود داشته
باشد، تا
توسعهدهندگان
بتوانند بر
افزودن آن
تمرکز کنند).
دلایل
تنظیم این
پرچم
میتواند
شامل
پلتفرمهای
فاقد چنین
فریمورکی
و عدم
انتظار
برای آن
باشد،
هرچند
پیگیری از
توزیع
سیستمعامل
محبوبتان
یا مشارکت
در توسعه
برای بهبود
آن نیز یک
راهکار
است.