.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "GROUPS.CONF" 5 "2026-07-16" "1.10.1" "ClusterShell User Manual" .SH "نام (NAME)" groups.conf \- پرونده پیکربندی گروه‌های گره ClusterShell .SH "توضیحات (DESCRIPTION)" .sp کتابخانه ClusterShell پیکربندی گروه‌های گره خود را از منابع زیر، به ترتیب اولویت نزولی به دست می‌آورد: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP 1. 3 \fI$CLUSTERSHELL_CFGDIR/groups.conf\fP (فقط زمانی استفاده می‌شود که $CLUSTERSHELL_CFGDIR تعریف شده باشد) .IP 2. 3 پرونده پیکربندی کاربر (\fI$XDG_CONFIG_HOME/clustershell/groups.conf\fP، به طور پیش‌فرض \fI$HOME/.config/clustershell/groups.conf\fP) .IP 3. 3 محیط مجازی پایتون (\fI{sys.prefix}/etc/clustershell/groups.conf\fP) .IP 4. 3 نصب محلی کاربر با pip (\fI$HOME/.local/etc/clustershell/groups.conf\fP) .IP 5. 3 پرونده پیکربندی سراسری سیستم (\fI/etc/clustershell/groups.conf\fP) .UNINDENT .UNINDENT .UNINDENT .sp برای هر پارامتر، اولین مقدار دریافت‌شده استفاده خواهد شد. اگر هیچ \fIgroups.conf\fP یافت نشود، پشتیبانی از گروه غیرفعال خواهد شد. .sp همچنین پرونده‌های پیکربندی اضافی در صورت وجود از دایرکتوری‌های تعیین‌شده توسط گزینه confdir خوانده می‌شوند. برای جزئیات بیشتر به گزینه \fBconfdir\fP در زیر مراجعه کنید. .sp پرونده‌های پیکربندی قالبی به سبک RFC 822 دارند که می‌توانند از چندین بخش با هر ترتیبی تشکیل شوند. دو نوع بخش وجود دارد: Main و \fIGroup_source\fP: .INDENT 0.0 .TP .B Main گزینه‌های پیکربندی سراسری. تنها باید یک بخش Main وجود داشته باشد. .TP .B \fIGroup_source\fP بخش‌های \fIGroup_source\fP پیکربندی هر منبع گروه گره (یا فضای نام) را تعریف می‌کنند. این پیکربندی شامل تعاریف دستورات خارجی (map، mapall، all، list و reverse) است. .UNINDENT .sp در پرونده‌های پیکربندی اضافی، تنها بخش‌های \fIGroup_source\fP مجاز هستند. .SS "گزینه‌های [Main]" .sp پارامترهای پیکربندی بخش \fBMain\fP در زیر توضیح داده شده‌اند. .INDENT 0.0 .TP .B default مشخص کردن منبع گروه پیش‌فرض (فضای نام گروه) که توسط تجزیه‌کننده NodeSet هنگام عدم تعیین صریح منبع گروه توسط کاربر (مثلاً \(dq@io\(dq) استفاده می‌شود. .TP .B confdir فهرست اختیاری از دایرکتوری‌ها که کتابخانه ClusterShell باید در آن‌ها به دنبال پرونده‌های \fB\&.conf\fP بگردد؛ پرونده‌هایی که منابع گروه مورد استفاده را تعریف می‌کنند. هر پرونده در این دایرکتوری‌ها با پسوند conf. باید شامل یک یا چند بخش \fIGroup_source\fP باشد که در گزینه‌های [\fIGroup_source\fP] در زیر مستند شده است. این بخش‌ها با منابع گروه تعریف‌شده در \fI/etc/clustershell/groups.conf\fP ادغام می‌شوند تا مجموعه کامل منابع گروهی را تشکیل دهند که ClusterShell استفاده خواهد کرد. بخش‌های \fIGroup_source\fP تکراری مجاز نیستند. نکته: پرونده‌های conf. که برای کاربر جاری قابل خواندن نباشند نادیده گرفته می‌شوند (به جز پرونده‌ای که منبع گروه پیش‌فرض را تعریف می‌کند). متغیر \fI$CFGDIR\fP با مسیر دایرکتوری پیکربندی با بالاترین اولویت یافت‌شده (جایی که groups.conf قرار دارد) جایگزین می‌شود. مقدار پیش‌فرض confdir هم پیکربندی سراسری سیستم و هم هرگونه پیکربندی نصب‌شده کاربر را (به لطف \fI$CFGDIR\fP) فعال می‌کند. مسیرهای تکراری دایرکتوری نادیده گرفته می‌شوند. \fBgroupsdir\fP به عنوان نام مستعار برای \fBconfdir\fP پذیرفته می‌شود و در صورت تعریف هر دو، اولویت دارد. .TP .B autodir فهرست اختیاری از دایرکتوری‌ها که کتابخانه ClusterShell باید در آن‌ها به دنبال پرونده‌های \fB\&.yaml\fP بگردد؛ پرونده‌هایی که فرهنگ لغت‌های گروهی درون‌پرونده‌ای را تعریف می‌کنند. نیازی به فراخوانی دستورات خارجی برای این پرونده‌ها نیست، آن‌ها توسط خود کتابخانه ClusterShell تجزیه می‌شوند. تعاریف چندگانه منابع گروه در یک پرونده پشتیبانی می‌شود. متغیر \fI$CFGDIR\fP با مسیر دایرکتوری پیکربندی با بالاترین اولویت یافت‌شده (جایی که groups.conf قرار دارد) جایگزین می‌شود. مقدار پیش‌فرض autodir هم پیکربندی سراسری سیستم و هم هرگونه پیکربندی نصب‌شده کاربر را (به لطف \fI$CFGDIR\fP) فعال می‌کند. مسیرهای تکراری دایرکتوری نادیده گرفته می‌شوند. .UNINDENT .SS "گزینه‌های [\fIGroup_source\fP]" .sp پارامترهای پیکربندی هر بخش منبع گروه در زیر توضیح داده شده‌اند. .INDENT 0.0 .TP .B map مشخص کردن دستور شل خارجی مورد استفاده برای تبدیل یک نام گروه به یک nodeset، فهرستی از گره‌ها یا فهرستی از nodeset (جداشده با نویسه‌های فاصله یا خط جدید). متغیر \fI$GROUP\fP قبل از اجرای دستور جایگزین می‌شود. باید حداقل یکی از گزینه‌های \fBmap\fP یا \fBmapall\fP تعریف شود. .TP .B mapall دستور شل خارجی اختیاری که باید تمامی نگاشت‌های گروه به گره‌ها را برای این منبع گروه در یک فراخوانی واحد برگرداند؛ یک خط به صورت \fIgroup: nodes\fP به ازای هر گروه. زمانی مفید است که منبع بتواند تمام گروه‌های خود را به یکباره خروجی دهد (مثلاً با \fIsinfo\fP یا \fIansible\-inventory \-\-list\fP)، زیرا در این صورت یک فراخوانی واحد به هر دو پرس‌وجوی \fBmap\fP و \fBlist\fP از حافظه موقت (کش) پاسخ می‌دهد. خروجی \fBmapall\fP بر فراخوانی \fBlist\fP اولویت دارد. اگر \fBmap\fP نیز تعریف شده باشد، به عنوان راهکار پشتیبان برای گروه‌هایی که در خروجی \fBmapall\fP وجود ندارند (یا برای همه گروه‌ها در صورت غیرفعال بودن کش) استفاده می‌شود؛ در غیر این صورت، گروه‌های ناموجود به یک nodeset خالی تبدیل می‌شوند. نخستین \fB:\fP در هر خط، نام گروه را از گره‌ها جدا می‌کند، بنابراین نام گروه‌ها باید واژه‌های تکی و بدون \fB:\fP باشند. خطوط تکراری گروه ادغام می‌شوند. یک خط خروجی بدشکل باعث شکست کل فراخوانی \fBmapall\fP می‌شود (چیزی کش نمی‌شود و پرس‌وجوی بعدی دوباره تلاش می‌کند)، و شکست در اجرای دستور \fBmapall\fP به \fBmap\fP بازگشت نخواهد کرد. .TP .B all دستور شل خارجی اختیاری که باید یک nodeset، فهرستی از گره‌ها یا فهرستی از nodeset از تمام گره‌ها را برای این منبع گروه برگرداند. در صورت عدم تعیین، کتابخانه تلاش می‌کند تا با استفاده از دستور خارجی \fBlist\fP در همان منبع گروه و سپس \fBmap\fP برای هر گروه، تمام گره‌ها را تفکیک کند. .TP .B list دستور شل خارجی اختیاری که باید فهرست تمام گروه‌ها را برای این منبع گروه برگرداند (جداشده با نویسه‌های فاصله یا خط جدید). در صورتی که \fBmapall\fP تعریف شده باشد استفاده نمی‌شود، مگر اینکه کش غیرفعال شده باشد. .TP .B reverse دستور شل خارجی اختیاری برای یافتن گروه(های) یک گره تکی. متغیر $NODE از قبل جایگزین می‌شود. اگر این فراخوانی مشخص نشود، عملیات معکوس در حافظه توسط کتابخانه از طریق فراخوانی‌های خارجی \fIlist\fP و \fImap\fP محاسبه می‌شود. همچنین اگر تعداد گره‌ها برای عملیات معکوس بیشتر از تعداد گروه‌های موجود باشد، از اجرای دستور خارجی \fIreverse\fP به طور خودکار صرف‌نظر می‌شود. .TP .B cache_time تعداد ثانیه‌هایی که نتیجه هر فراخوانی فقط در حافظه رم (کش) نگهداری می‌شود. پیش‌فرض ۳۶۰۰ ثانیه است. این گزینه فقط برای دیمن‌هایی که از nodegroups استفاده می‌کنند مفید است. .UNINDENT .sp هنگامی که کتابخانه یک دستور شل خارجی منبع گروه را اجرا می‌کند، دایرکتوری کاری جاری از قبل روی confdir مربوطه تنظیم می‌شود. این امر امکان استفاده از مسیرهای نسبی برای پرونده‌های شخص ثالث را در دستور فراهم می‌کند. ورودی استاندارد دستور به \fI/dev/null\fP متصل است. .sp علاوه بر متغیرهای وابسته به متن $GROUP و $NODE که در بالا توضیح داده شد، دو متغیر زیر نیز همیشه در دسترس هستند و قبل از اجرای دستورات شل جایگزین می‌شوند: .INDENT 0.0 .IP \(bu 2 \fI$CFGDIR\fP با مسیر دایرکتوری پایه با بالاترین اولویت groups.conf جایگزین می‌شود .IP \(bu 2 \fI$SOURCE\fP با نام منبع جاری جایگزین می‌شود .UNINDENT .sp هر دستور خارجی در صورتی که عملیات قابل انجام نباشد ممکن است یک کد بازگشتی غیرصفر برگرداند. اما اگر فراخوانی مقدار صفر برگرداند (برای مثال برای یک گروه ناموجود)، کاربر هنگام تلاش برای تفکیک چنین گروه ناشناخته‌ای هیچ خطایی دریافت نخواهد کرد. رفتار مطلوب بر عهده مدیر سیستم است. .SH "مصرف منابع (RESOURCE USAGE)" .sp تمامی نتایج دستورات خارجی برای جلوگیری از فراخوانی‌های مکرر در حافظه کش می‌شوند. هر نتیجه برای مدت زمان محدودی نگهداری می‌شود. برای تنظیم این رفتار به گزینه cache_time مراجعه کنید. .SH "مثال‌ها (EXAMPLES)" .sp پرونده پیکربندی ساده برای گروه‌های محلی و اتصال به پارتیشن‌های Slurm. .SS \fIgroups.conf\fP .nf [Main] default: local confdir: /etc/clustershell/groups.conf.d $CFGDIR/groups.conf.d autodir: /etc/clustershell/groups.d $CFGDIR/groups.d [local] map: sed \-n \(aqs/^$GROUP:\e(.*\e)/\e1/p\(aq /etc/clustershell/groups list: sed \-n \(aqs/^\e([0\-9A\-Za\-z_\-]*\e):.*/\e1/p\(aq /etc/clustershell/groups [slurm] map: sinfo \-h \-o \(dq%N\(dq \-p $GROUP all: sinfo \-h \-o \(dq%N\(dq list: sinfo \-h \-o \(dq%P\(dq reverse: sinfo \-h \-N \-o \(dq%P\(dq \-n $NODE .fi .sp .SH "فایل‌ها (FILES)" .INDENT 0.0 .TP .B \fI$CLUSTERSHELL_CFGDIR/groups.conf\fP (پیش‌فرض: \fI/etc/clustershell/groups.conf\fP) پرونده پیکربندی سراسری گروه‌های گره. .TP .B \fI$CLUSTERSHELL_CFGDIR/groups.conf.d/\fP (پیش‌فرض: \fI/etc/clustershell/groups.conf.d/\fP) دایرکتوری پیشنهادی برای پرونده‌های پیکربندی اضافی. .TP .B \fI$CLUSTERSHELL_CFGDIR/groups.d/\fP (پیش‌فرض: \fI/etc/clustershell/groups.d/\fP) دایرکتوری پیشنهادی برای \fIautodir\fP، جایی که پرونده‌های بومی تعریف گروه (پرونده‌های yaml.) در آن قرار دارند. .TP .B \fI$XDG_CONFIG_HOME/clustershell/groups.conf\fP پرونده پیکربندی اصلی کاربر برای groups.conf. اگر $XDG_CONFIG_HOME تعریف نشده باشد، به جای آن از \fI$HOME/.config/clustershell/groups.conf\fP استفاده می‌شود. .TP .B \fI{sys.prefix}/etc/clustershell/groups.conf\fP پرونده پیکربندی هنگامی که ClusterShell در یک محیط مجازی پایتون نصب شده باشد. .TP .B \fI$HOME/.local/etc/clustershell/groups.conf\fP پرونده پیکربندی محلی کاربر برای groups.conf (نصب پیش‌فرض برای pip \-\-user) .UNINDENT .SH "همچنین ببینید (SEE ALSO)" .sp \fBclubak\fP(1), \fBcluset\fP(1), \fBclush\fP(1), \fBnodeset\fP(1) .sp \fI\%https://clustershell.readthedocs.io\fP .SH "نویسنده (AUTHOR)" Stephane Thiell .SH "حق نشر (COPYRIGHT)" GNU Lesser General Public License version 2.1 or later (LGPLv2.1+) .\" Generated by docutils manpage writer. .