| NUTUPSDRV(8) | NUT Manual | NUTUPSDRV(8) |
نام (NAME)
nutupsdrv - راهنمای عمومی برای درایورهای یکپارچه NUT
خلاصه دستور (SYNOPSIS)
nutupsdrv -h
nutupsdrv [گزینهها]
توضیحات (DESCRIPTION)
دستور nutupsdrv در واقع یک درایور مستقل نیست. این یک صفحه راهنمای تجمیعی برای کدهای مشترکی است که هسته اصلی بسیاری از درایورها در بسته ابزارهای یوپیاس شبکه (Network UPS Tools - NUT) را تشکیل میدهند.
برای کسب اطلاعات درباره درایورهای خاص، به صفحات راهنمای اختصاصی هر یک مراجعه کنید.
درایورهای UPS یک کانال ارتباطی میان سختافزار فیزیکی UPS و سرور upsd(8) فراهم میکنند. درایور وظیفه ترجمه پروتکل بومی دستگاه UPS به قالب مشترک مورد استفاده در سایر بخشهای این بسته را بر عهده دارد.
هسته درایور دارای سه حالت کاری است که با گزینههای خط فرمان تعیین میشوند. در حالت عادی، درایور به صورت دورهای و مطابق با پارامتر pollinterval در ups.conf(5)، وضعیت و پارامترهای UPS را استعلام (poll) میکند. نتایج این استعلام به upsd تحویل داده میشود. همچنین درایور در صورت پشتیبانی، مقداردهی متغیرها و اجرای دستورات فوری (instant commands) را مدیریت میکند.
در حالت دوم، با استفاده از گزینه -k، درایور میتواند به UPS دستور دهد بار مصرفی (تغذیه دستگاههای متصل) را احتمالاً پس از مقداری تاخیر قطع کند. این حالت کاری برای مواقعی در نظر گرفته شده است که مشخص است شارژ باتری UPS رو به اتمام است و سیستمهای متصل باید خاموش شوند تا پس از بازگشت برق، راهاندازی مجدد به درستی انجام گیرد.
در حالت سوم، با استفاده از گزینه -d، درایور پس از چند چرخه بهروزرسانی خارج میشود و درخت دادهها را (در قالبی مشابه با upsc(8)) در خروجی استاندارد (stdout) میریزد. این ویژگی میتواند به عنوان مکمل nut-scanner(8) برای شناسایی دستگاهها همراه با دادههای دقیق و عمیق مفید باشد.
نکته
احتمالاً مایل نخواهید بود که از هیچیک از این گزینهها مستقیماً استفاده کنید. برای کنترل درایورهای خود باید از upsdrvctl(8) (یا upsdrvsvcctl(8) در سیستمهای دارای چارچوب مدیریت سرویس مانند systemd یا SMF) و برای پیکربندی آنها از ups.conf(5) استفاده نمایید. ادامه این راهنما به توضیح گزینهها و پارامترهایی میپردازد که معمولاً توسط کاربران عادی مورد نیاز نیستند.
گزینهها (OPTIONS)
-h
-a id
-s id
-D
سطح اشکالزدایی مورد نیاز هم به درایور و هم به مشکلی که قصد عیبیابی آن را دارید بستگی دارد. بنابراین پیش از ارسال خروجی اشکالزدایی برای یک توسعهدهنده یا نگهدارنده، ابتدا مشکلی را که با درایور دارید برای او توضیح دهید. در اغلب مواقع، اگر صرفاً یک سطح را انتخاب کنید، خروجی ممکن است بیش از حد محدود یا بیش از حد حجیم و بدون استفاده باشد.
-d update_count
به طور پیشفرض این گزینه مانع از انتقال فرآیند درایور به پسزمینه پس از راهاندازی میشود. توجه داشته باشید که بنر درایور نیز چاپ خواهد شد، بنابراین هنگام استفاده از این گزینه در اسکریپتها، برش دادن خط اول یا استفاده از متغیر محیطی NUT_QUIET_INIT_BANNER را فراموش نکنید.
-q
نکته مربوط به اشکالزدایی در بالا در اینجا نیز صدق میکند.
-c command
reload
reload-or-error
reload-or-exit
exit
در نسخههای جدید NUT v2.8.x، چنین دستوراتی را میتوان با استفاده از سوکت یونیکس برای تعامل درایور و سرور ارسال کرد. به عنوان روش پشتیبان، همانند نسخههای قدیمیتر، سیگنالها را میتوان به PID یک نمونه قدیمی درایور (در صورت امکان) ارسال نمود.
-P pid
-F
-B
-i interval
-V
-L
-k
تا جای ممکن باید به جای فراخوانی مستقیم این گزینه، از upsdrvctl shutdown استفاده کنید. توجه داشته باشید که شرایط محدود سیستمعامل برای خاموشسازی معمولاً مانع استفاده از upsdrvsvcctl shutdown میشود.
-r directory
علاوه بر مسیر وضعیت، بسیاری از سیستمها برای کارکرد این قابلیت نیاز دارند که /dev/null درون directory وجود داشته باشد. پورتهای سریال پیش از فراخوانی chroot باز میشوند، بنابراین نیازی به ایجاد آنها در محیط ایزوله (jail) ندارید. در واقع، ایجاد نکردن آنها تا حدی ایمنتر است (اما اتصال مجدد به دستگاهها ممکن است دیگر امکانپذیر نباشد و به راهاندازی مجدد کامل درایور نیاز داشته باشد).
-u username
هنگام کامپایل NUT از سورس، نام کاربری پیشفرض معمولاً nobody است، و این ممکن است هنگام باز کردن نود دستگاه UPS توسط درایور باعث خطاهای دسترسی شود. میتوانید از این گزینه برای بازنویسی موقت مقادیر پیشفرض استفاده کنید. برای اهداف آزمایشی، میتوانید این گزینه را روی root تنظیم کنید تا خطاهای دسترسی دور زده شوند، به ویژه در درایورهای مبتنی بر USB. با این حال، بعداً باید این گزینه را حذف کنید تا از تداخل مجوزها میان درایور و نسخه بدون امتیاز upsd(8) جلوگیری شود.
-g groupname
-x var=val
این مانند تنظیم var=val در ups.conf(5) است، اما -x در خط فرمان هرگونه تنظیماتی را از آن فایل بازنویسی میکند.
توجه داشته باشید که برای مقادیر پشتیبان متغیرهای NUT که توسط یک دستگاه خاص و/یا درایور NUT آن ضعیف پشتیبانی میشوند، میتوانید default.var.name=val را برای تنظیم یک مقدار پیشفرض مشخص کنید (که ممکن است در زمان اجرا با داده دریافتی از دستگاه جایگزین شود)، یا override.var.name=val را برای تعیین مقدار ثابت و نادیده گرفتن مقادیر دریافتی از دستگاه حتی در صورت ارسال آنها مشخص نمایید. برای مثال، این قابلیت اغلب با override.battery.voltage.nominal استفاده میشود زمانی که دستگاه یک تکسلول در محدوده ۲ ولت را گزارش میدهد و شما به یک بسته باتری استاندارد در محدوده ۱۲ ولت برای باتری سربی-اسیدی (PbAc) نیاز دارید.
عیبیابی (DIAGNOSTICS)
اطلاعات مربوط به فرآیند راهاندازی در stdout و/یا stderr چاپ میشود. پیامهای تکمیلی پس از آن نقطه تنها در syslog در دسترس هستند، مگر اینکه درایور در پیشزمینه باقی بماند (مثلاً به دلیل افزایش سطح اشکالزدایی).
پس از راهاندازی upsd(8)، کلاینتهای UPS مانند upsc(8) میتوانند برای استعلام وضعیت یک UPS استفاده شوند.
کنترل برنامه (PROGRAM CONTROL)
همیشه باید از upsdrvctl(8) (یا upsdrvsvcctl(8) در سیستمهای دارای چارچوب مدیریت سرویس مانند systemd یا SMF) برای کنترل درایورها استفاده کنید. اگرچه درایورها را میتوان برای اهداف آزمایشی به صورت دستی راهاندازی کرد، اما این کار برای استفاده در محیط عملیاتی توصیه نمیشود.
فایلها (FILES)
ups.conf
متغیرهای محیطی (ENVIRONMENT VARIABLES)
متغیر NUT_DEBUG_LEVEL در صورتی که هیچ آرگومان -D در خط فرمان ارائه نشده باشد، سطح پیشفرض اشکالزدایی را تنظیم میکند، اما درخواستی برای اجرای دیمون در حالت پیشزمینه ارائه نمیدهد.
متغیر NUT_CONFPATH نام مسیر دایرکتوری حاوی ups.conf و سایر فایلهای پیکربندی است. اگر این متغیر تنظیم نشود، درایورها از یک مقدار پیشفرض داخلی استفاده میکنند که اغلب /usr/local/ups/etc است.
متغیر NUT_STATEPATH نام مسیر دایرکتوری است که در آن upsd و درایورها اطلاعات وضعیت مشترک را نگهداری میکنند. اگر این متغیر تنظیم نشود، upsd و درایورها از یک مقدار پیشفرض داخلی استفاده میکنند که اغلب /var/state/ups است. دستور STATEPATH در upsd.conf(5) این متغیر را بازنویسی میکند.
متغیر NUT_ALTPIDPATH نام مسیر دایرکتوری است که در آن upsd و درایورها فایلهای .pid را ذخیره میکنند. اگر این متغیر تنظیم نشود، upsd و درایورها در صورت تنظیم بودن از NUT_STATEPATH، یا در صورت تنظیم بودن از ALTPIDPATH، و در غیر این صورت از مقدار پیشفرض داخلی STATEPATH استفاده میکنند.
متغیر NUT_QUIET_INIT_UPSNOTIFY=true میتواند برای جلوگیری از ارسال اعلانها توسط دیمونهایی که قادرند چارچوبهای مدیریت سرویس (مانند systemd) را از سپری شدن نقاط عطف چرخه حیات خود آگاه سازند، استفاده شود (از جمله اعلانهای عدم پشتیبانی سیستم از این ویژگیهای نوین، یکبار در هر اجرا).
متغیر NUT_QUIET_INIT_BANNER=true میتواند برای جلوگیری از نمایش بنر نام و نسخه ابزار NUT استفاده شود. به دلیل تاثیر منفی در عیبیابی برای سرویسها توصیه نمیشود، اما ممکن است در پروفایلهای شل یا اسکریپتهایی که خروجی ابزار NUT را پردازش میکنند مفید باشد.
اشکالات (BUGS)
برخی از درایورها ممکن است دارای اشکال باشند. برای اطلاعات بیشتر به کتابچههای راهنمای آنها مراجعه کنید.
همچنین ببینید (SEE ALSO)
پیکربندی (Configuration):
سرور (Server):
کلاینتها (Clients):
برنامههای CGI (CGI programs):
کنترل درایور (Driver control):
درایورها (Drivers):
منابع اینترنتی (Internet resources):
صفحه اصلی NUT (Network UPS Tools): https://www.networkupstools.org/historic/v2.8.5
| 06/21/2026 | Network UPS Tools 2.8.5 |