'\" t .\" Title: upsd .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 06/21/2026 .\" Manual: راهنمای NUT .\" Source: Network UPS Tools 2.8.5 .\" Language: Persian .\" .TH "UPSD" "8" "06/21/2026" "Network UPS Tools 2\&.8\&.5" "راهنمای NUT" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" upsd \- کارساز داده‌های Network UPS Tools .SH "خلاصه دستور (SYNOPSIS)" .sp \fBupsd\fR \-h .sp \fBupsd\fR [\fIگزینه‌ها\fR] .SH "توضیحات (DESCRIPTION)" .sp برنامه \fBupsd\fR مسئول ارائه داده‌ها از درایورها به کلاینت‌ها است\&. این برنامه به هر درایور متصل می‌شود و یک حافظه موقت (کش) محلی از وضعیت فعلی نگهداری می‌کند\&. پرس‌وجوهای کلاینت‌ها از این کش پاسخ داده می‌شوند، بنابراین تأخیرها به حداقل می‌رسد\&. .sp همچنین پیام‌های مدیریتی را از کلاینت‌ها به درایورها منتقل می‌کند، مانند شروع آزمایش‌ها یا تنظیم مقادیر\&. .sp ارتباط بین \fBupsd\fR و کلاینت‌ها روی یک پورت TCP انجام می‌شود\&. جزئیات پیکربندی این پورت در \fBupsd.conf\fR(5) توضیح داده شده است\&. .sp این برنامه ضروری است و برای استفاده عملی از درایورها و کلاینت‌ها باید همیشه در حال اجرا باشد (به‌جز دستورات نهایی خاموش کردن برق یوپی‌اس درست پیش از خاموش شدن سرور، که برنامه‌های درایور NUT می‌توانند هنگام فراخوانی با drivername \-k در یک هوک خاموش‌سازی یا اسکریپت دیرهنگام SysV init، به تنهایی انجام دهند)\&. .sp کنترل‌های موجود در فایل‌های پیکربندی به شما امکان می‌دهند دسترسی به سرور را محدود کنید، اما برای حفاظت بیشتر باید از یک فایروال نیز استفاده نمایید\&. فرایندهای کلاینت مانند \fBupsmon\fR(8) برای اطلاعات وضعیت سخت‌افزار یوپی‌اس به \fBupsd\fR اعتماد می‌کنند، بنابراین امنیت آن را حفظ کنید\&. .SH "گزینه‌ها (OPTIONS)" .PP \fB\-c\fR \fIدستور\fR .RS 4 ارسال \fIدستور\fR به فرایند پس‌زمینه به عنوان یک سیگنال\&. دستورات معتبر عبارتند از: .PP \fBreload\fR .RS 4 خواندن مجدد فایل‌های پیکربندی .RE .PP \fBstop\fR .RS 4 توقف فرایند و خروج .RE .RE .PP \fB\-P\fR \fIpid\fR .RS 4 ارسال سیگنال دستور فوق با استفاده از شماره PID مشخص‌شده، به‌جای مراجعه به فایل PID\&. این کار می‌تواند در تعریف واحدهای سرویسی که upsd را به عنوان یک فرایند پیش‌زمینه اجرا می‌کنند تا فایل PID ایجاد نکند، مفید باشد\&. همچنین گزینه \-FF را به عنوان یک جایگزین ببینید\&. .RE .PP \fB\-D\fR .RS 4 افزایش سطح اشکال‌زدایی\&. در حالت پیش‌فرض upsd در پیش‌زمینه اجرا خواهد شد و اطلاعاتی درباره فرایند نظارت در stdout چاپ می‌کند\&. برای دریافت جزئیات بیشتر، از این گزینه چندین بار استفاده کنید\&. .RE .PP \fB\-F\fR .RS 4 اجرای upsd در پیش‌زمینه، صرف‌نظر از تنظیمات اشکال‌زدایی\&. این گزینه را دو بار (\-FF یا \-F \-F) مشخص کنید تا فایل PID حتی در این حالت نیز ذخیره شود\&. .RE .PP \fB\-B\fR .RS 4 اجرای upsd در پس‌زمینه، صرف‌نظر از تنظیمات اشکال‌زدایی\&. .RE .PP \fB\-h\fR .RS 4 نمایش متن راهنما\&. .RE .PP \fB\-r\fR \fIپوشه\fR .RS 4 با تنظیم این گزینه، upsd اندکی پس از راه‌اندازی و پیش از تجزیه هرگونه فایل پیکربندی، به \fIپوشه\fR مشخص‌شده \fBchroot\fR(2) می‌کند\&. می‌توانید از این قابلیت برای ایجاد یک «زندان» (jail) جهت امنیت بیشتر استفاده کنید\&. .sp باید این مورد را با درایورهای خود هماهنگ کنید، زیرا upsd باید بتواند مسیر وضعیت (state path) را درون \fIپوشه\fR پیدا کند\&. به \fBupsdrvctl\fR(8) و \fBnutupsdrv\fR(8) مراجعه کنید\&. .RE .PP \fB\-u\fR \fIکاربر\fR .RS 4 تغییر کاربر به \fIکاربر\fR پس از راه‌اندازی در صورتی که به عنوان ریشه (root) اجرا شده باشد\&. این گزینه بر هر مقداری که هنگام کامپایل با configure \-\-with\-user تنظیم شده باشد اولویت دارد\&. .RE .PP \fB\-V\fR .RS 4 نمایش نسخه برنامه\&. .RE .SH "بارگذاری مجدد (RELOADING)" .sp برنامه upsd می‌تواند بدون خاموش کردن فرایند، فایل‌های پیکربندی خود را مجدداً بارگذاری کند در صورتی که سیگنال SIGHUP به آن ارسال کنید یا آن را دوباره با \-c reload اجرا نمایید\&. این قابلیت تنها زمانی کار می‌کند که فرایند پس‌زمینه قادر به خواندن آن فایل‌ها باشد (مجوزها، زندان chroot)، و دیمون هنگام راه‌اندازی فایل PID را ذخیره کرده باشد (تا دستور بارگذاری مجدد بتواند نمونه قبلی را پیدا کند)\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br .sp نمونه‌های سرویسی که توسط systemd یا SMF مدیریت می‌شوند ممکن است به‌طور پیش‌فرض آن‌ها را ذخیره نکنند \(em در این صورت به‌جای آن از کنش‌های reload/refresh چارچوب مربوطه استفاده کنید، مانند: systemctl reload nut\-server .sp نسخه‌های NUT پس از 2\&.8\&.0 نام‌های مستعاری (aliases) برای این واحدها تعریف می‌کنند، بنابراین اگر توزیع لینوکس شما از تعاریف ارائه‌شده توسط NUT استفاده می‌کند، دستور systemctl reload upsd نیز ممکن است کار کند\&. .sp .5v .RE .sp اگر فکر می‌کنید upsd نمی‌تواند پیکربندی را مجدداً بارگذاری کند، گزارش‌های syslog را برای پیام‌های خطا بررسی کنید\&. اگر پیام حاکی از عدم امکان خواندن فایل‌ها است، باید سیستم خود را طوری تنظیم کنید که خواندن آن‌ها امکان‌پذیر شود\&. یا مجوزهای فایل‌ها را تغییر دهید، یا upsd را با کاربر دیگری اجرا کنید که قادر به خواندن آن‌ها باشد، یا آن را کاملاً راه‌اندازی مجدد (restart) کنید (مثلاً در صورت اجرا در یک زندان chroot ممکن است لازم باشد)\&. .sp فایل‌های \fBupsd.conf\fR(5) یا \fBupsd.users\fR(5) خود را برای همگان قابل‌خواندن (world\-readable) نکنید، زیرا حاوی اطلاعات مهم احراز هویت هستند\&. در دست افراد ناشایست، این اطلاعات می‌تواند برای جعل upsmon در حالت اصلی (primary\-mode) و مثلاً ارسال دستور خاموش شدن به سیستم‌های شما استفاده شود\&. .SH "عیب‌یابی (DIAGNOSTICS)" .sp برنامه upsd انتظار دارد که درایورها یا وضعیت خود را به‌طور منظم به‌روز کنند یا دست‌کم به پرس‌وجوهای دوره‌ای، موسوم به پینگ (ping)، پاسخ دهند\&. اگر درایوری پاسخ ندهد، upsd آن را «کهنه» (stale) اعلام می‌کند و اطلاعات بیشتری به کلاینت‌ها ارائه نخواهد شد\&. .sp اگر upsd هنگام راه‌اندازی از کهنگی داده‌ها شکایت کرد، احتمالاً درایور یا فایل‌های پیکربندی شما دچار مشکل هستند\&. اطمینان حاصل کنید که درایور واقعاً در حال اجرا است و تعریف یوپی‌اس در \fBups.conf\fR(5) درست است\&. همچنین مطمئن شوید که پیش از شروع upsd، درایور(های) خود را راه‌اندازی کرده‌اید\&. .sp داده‌ها همچنین در صورتی که درایور دیگر نتواند با یوپی‌اس ارتباط برقرار کند، ممکن است کهنه (stale) علامت‌گذاری شوند\&. در این حالت، درایور باید اطلاعات تشخیصی را در syslog نیز ارائه دهد\&. اگر این اتفاق افتاد، کابل‌کشی سریال یا USB را بررسی کنید، یا در مورد یوپی‌اس‌های SNMP، مسیر شبکه را بازرسی نمایید\&. .SH "کنترل دسترسی (ACCESS CONTROL)" .sp اگر سرور با پشتیبانی فعال از tcp\-wrappers ساخته شده باشد، بررسی خواهد کرد که آیا نام کاربری NUT مجاز به اتصال از آدرس کلاینت از طریق فایل‌های /etc/hosts\&.allow و /etc/hosts\&.deny است یا خیر\&. توجه داشته باشید که این بررسی تنها برای دستوراتی انجام می‌شود که نیازمند ورود به سرور هستند\&. جزئیات بیشتر در \fBhosts_access\fR(5) توضیح داده شده است\&. .SH "فایل‌ها (FILES)" .sp فایل پیکربندی عمومی upsd پرونده \fBupsd.conf\fR(5) است\&. .sp توابع مدیریتی مانند SET و INSTCMD برای کاربران، و نقش‌های مختلف upsmon در \fBupsd.users\fR(5) تعریف و کنترل می‌شوند\&. .sp تعاریف یوپی‌اس در \fBups.conf\fR(5) یافت می‌شوند (که با درایورهای واقعی به اشتراک گذاشته شده است)\&. .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .sp متغیر \fBNUT_DEBUG_LEVEL\fR سطح پیش‌فرض پرگویی اشکال‌زدایی را در صورتی که هیچ آرگومان \fB\-D\fR در خط فرمان داده نشده باشد تنظیم می‌کند، اما اجرای دیمون در حالت پیش‌زمینه را درخواست نمی‌کند\&. .sp متغیر \fBNUT_CONFPATH\fR نام مسیر پوشه‌ای است که شامل upsd\&.conf و سایر فایل‌های پیکربندی است\&. اگر این متغیر تنظیم نشده باشد، \fBupsd\fR از یک پیش‌فرض توکار استفاده می‌کند که اغلب /usr/local/ups/etc است\&. .sp متغیر \fBNUT_STATEPATH\fR نام مسیر پوشه‌ای است که \fBupsd\fR اطلاعات وضعیت را در آن نگهداری می‌کند\&. اگر این متغیر تنظیم نشده باشد، \fBupsd\fR از یک پیش‌فرض توکار استفاده می‌کند که اغلب /var/state/ups است\&. دستورالعمل \fBSTATEPATH\fR در \fBupsd.conf\fR(5) بر این متغیر اولویت دارد\&. .sp متغیر \fBNUT_ALTPIDPATH\fR نام مسیر پوشه‌ای است که \fBupsd\fR و درایورها فایل‌های \&.pid را در آن ذخیره می‌کنند\&. اگر این متغیر تنظیم نشده باشد، \fBupsd\fR و درایورها در صورت تنظیم بودن از \fBNUT_STATEPATH\fR، یا در صورت تنظیم بودن از ALTPIDPATH، و در غیر این صورت از پیش‌فرض توکار \fBSTATEPATH\fR استفاده می‌کنند\&. .sp مقدار \fBNUT_QUIET_INIT_UPSNOTIFY=true\fR می‌تواند برای جلوگیری از ارسال اعلان‌هایی استفاده شود که دیمون‌های قادر به آگاه‌سازی چارچوب‌های مدیریت سرویس (مانند systemd) درباره گذر از نقاط عطف چرخه حیات خود ارسال می‌کنند (شامل اعلان‌های مربوط به عدم پشتیبانی سیستم از چنین ویژگی‌های مدرنی، یک بار در هر اجرا)\&. .sp مقدار \fBNUT_QUIET_INIT_BANNER=true\fR می‌تواند برای پنهان کردن بنر نام و نسخه ابزار NUT استفاده شود\&. به دلیل تأثیر منفی بر عیب‌یابی برای سرویس‌ها توصیه نمی‌شود، اما ممکن است در پروفایل‌های شل یا اسکریپت‌هایی که خروجی ابزارهای NUT را پردازش می‌کنند مفید باشد\&. .SH "همچنین ببینید (SEE ALSO)" .SS "کلاینت‌ها (Clients):" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBupsc\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBupscmd\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBupsrw\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBupslog\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBupsmon\fR(8) .RE .SS "برنامه‌های CGI (CGI programs):" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBupsset.cgi\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBupsstats.cgi\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBupsimage.cgi\fR(8) .RE .SS "کنترل درایور (Driver control):" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnut-driver-enumerator\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBupsdrvctl\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBupsdrvsvcctl\fR(8) .RE .SS "درایورها (Drivers):" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnutupsdrv\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBadelsystem_cbi\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBal175\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBapc_modbus\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBapcsmart-old\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBapcsmart\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBapcupsd-ups\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBbcmxcp\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBbcmxcp_usb\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBbelkin\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBbelkinunv\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBbestfcom\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBbestfortress\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBbestuferrups\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBbestups\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBbicker_ser\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBblazer_ser\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBblazer_usb\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBclone-outlet\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBclone\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBdummy-ups\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBetapro\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBeverups\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBfailover\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBgamatronic\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBgeneric_modbus\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBgenericups\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBhuawei-ups2000\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBisbmex\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBivtscd\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBliebert-esp2\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBliebert-gxe\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBliebert\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmasterguard\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmeanwell_ntu\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmetasys\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmge-shut\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmge-utalk\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmicrodowell\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmicrosol-apc\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmust_ep2000pro\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnetxml-ups\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnhs_ser\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnut-upower\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnutdrv_atcl_usb\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnutdrv_hashx\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnutdrv_qx\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnutdrv_siemens-sitop\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBoneac\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBoptiups\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBphoenixcontact_modbus\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpowercom\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpowerpanel\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpowervar_cx_ser\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpowervar_cx_usb\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBrhino\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBrichcomm_usb\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBriello_ser\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBriello_usb\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsafenet\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsms_ser\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsnmp-ups\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsocomec_jbus\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsolis\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBtripplite\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBtripplite_usb\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBtripplitesu\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBupscode2\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBusbhid-ups\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBve-direct\fR(8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBvictronups\fR(8) .RE .SS "منابع اینترنتی (Internet resources):" .sp صفحه خانگی NUT (Network UPS Tools): https://www\&.networkupstools\&.org/historic/v2\&.8\&.5