CLUSH.CONF(5) ClusterShell User Manual CLUSH.CONF(5)

clush.conf - پرونده پیکربندی برای clush

پرونده‌های پیکربندی clush(1) در قالب ConfigParser پایتون هستند.

دستور clush(1) گزینه‌های پیکربندی را از منابع زیر، به ترتیب اولویت نزولی به دست می‌آورد:

1.
گزینه‌های خط فرمان
2.
$CLUSTERSHELL_CFGDIR/clush.conf (فقط زمانی استفاده می‌شود که $CLUSTERSHELL_CFGDIR تعریف شده باشد)
3.
پرونده پیکربندی کاربر ($XDG_CONFIG_HOME/clustershell/clush.conf، به طور پیش‌فرض $HOME/.config/clustershell/clush.conf)
4.
محیط مجازی پایتون ({sys.prefix}/etc/clustershell/clush.conf)
5.
نصب محلی کاربر با pip ($HOME/.local/etc/clustershell/clush.conf)
6.
پرونده پیکربندی سراسری سیستم (/etc/clustershell/clush.conf)

برای هر پارامتر، اولین مقدار دریافت‌شده استفاده خواهد شد.

پرونده پیکربندی دارای قالبی به سبک RFC 822 شامل یک بخش اصلی است:

تعریف گزینه‌های برنامه

پارامترهای پیکربندی بخش Main در زیر توضیح داده شده‌اند.

اندازه پنجره لغزان (fanout) دستورات فعال برای clush. این fanout برای جلوگیری از اتصالات همزمان بیش از حد و حفظ منابع در میزبان‌های مبدا استفاده می‌شود. در حالت درختی (tree mode)، مقدار یکسانی از fanout در گره اصلی (head node) و در هر درگاه (gateway) استفاده می‌شود (مقدار fanout منتشر می‌شود). یعنی اگر مقدار fanout در گره اصلی 16 باشد، هر درگاه به طور همزمان حداکثر 16 اتصال به گره‌های هدف خود برقرار می‌کند.
فهرست اختیاری از مسیرهای دایرکتوری که clush باید در آن‌ها به دنبال پرونده‌های .conf بگردد؛ پرونده‌هایی که حالت‌های اجرا را تعریف می‌کنند و سپس می‌توانند با --mode فعال شوند. تمام تنظیمات دیگر پرونده پیکربندی clush که در اینجا تعریف شده‌اند ممکن است در یک حالت اجرا بازنویسی شوند. نام هر بخش حالت باید دارای پیشوند "mode:" باشد تا بخشی که یک حالت را تعریف می‌کند به وضوح مشخص شود. حالت‌های تکراری در این پرونده‌ها مجاز نیستند. پرونده‌های پیکربندی که برای کاربر فعلی قابل خواندن نباشند نادیده گرفته می‌شوند. متغیر $CFGDIR با مسیر دایرکتوری پیکربندی با بالاترین اولویت یافت‌شده (جایی که clush.conf قرار دارد) جایگزین می‌شود. مقدار پیش‌فرض confdir هم پیکربندی سراسری سیستم و هم هرگونه پیکربندی نصب‌شده کاربر را (به لطف $CFGDIR) فعال می‌کند. مسیرهای تکراری دایرکتوری نادیده گرفته می‌شوند.
مهلت زمانی بر حسب ثانیه برای برقراری اتصال. این پارامتر به ssh ارسال می‌شود. اگر روی 0 تنظیم شود، هیچ مهلت زمانی در نظر گرفته نمی‌شود.
پیشوند دستور. معمولاً برای حالت‌های اجرای خاص استفاده می‌شود، به عنوان مثال برای پیاده‌سازی پشتیبانی از sudo(8).
مهلت زمانی بر حسب ثانیه برای تکمیل یک دستور پس از برقراری اتصال. این پارامتر به ssh ارسال می‌شود. علاوه بر این، کتابخانه ClusterShell تضمین می‌کند که هر دستوری در مدت زمان کمتر از ( connect_timeout + command_timeout ) به پایان برسد. اگر روی 0 تنظیم شود، هیچ مهلت زمانی در نظر گرفته نمی‌شود.
دستور clush می‌تواند از متغیرهای محیطی NO_COLOR، CLICOLOR و CLICOLOR_FORCE استفاده کند. NO_COLOR بر CLICOLOR_FORCE اولویت دارد که آن نیز بر CLICOLOR اولویت دارد. هنگامی که این گزینه در پرونده پیکربندی تنظیم شده باشد، متغیرهای محیطی تنها با آرگومان auto در نظر گرفته می‌شوند. color مشخص می‌کند که آیا از رنگ‌های ANSI برای احاطه کردن پیشوند/هدر گره یا nodeset با دنباله‌های فرار جهت نمایش رنگی آن‌ها در ترمینال استفاده شود یا خیر. آرگومان‌های معتبر عبارتند از never، always یا auto (که اگر خروجی یا خطای استاندارد به یک ترمینال اشاره داشته باشند از رنگ استفاده می‌کند). رنگ‌ها روی [34m (متن آبی پیش‌زمینه) برای خروجی استاندارد (stdout) و [31m (متن قرمز پیش‌زمینه) برای خطای استاندارد (stderr) تنظیم شده‌اند و قابل تغییر نیستند.
حداکثر تعداد توصیف‌کننده‌های پرونده (file descriptors) باز مجاز به ازای هر فرآیند clush (محدودیت نرم منابع برای پرونده‌های باز). این محدودیت هرگز نمی‌تواند از محدودیت سیستمی (سخت) تجاوز کند. محدودیت‌های fd_max (نرم) و سیستمی (سخت) باید به اندازه کافی بالا باشند تا clush اجرا شود، هرچند مقادیر آن‌ها به مقدار fanout شما بستگی دارد.
تنظیم حداکثر تعداد ورودی‌های تاریخچه ذخیره‌شده در فهرست تاریخچه GNU readline. مقادیر منفی نشان‌دهنده اندازه نامحدود برای پرونده تاریخچه هستند.
آیا clush باید اطلاعات اضافی (تعداد گره‌ها) را در هدر بافر نمایش دهد؟ (yes/no)
آیا clush باید بزرگ‌ترین کد بازگشتی دستورات را بازگرداند؟ (yes/no)
فعال‌سازی درخواست رمز عبور و ارسال رمز عبور به ورودی استاندارد (stdin)؟ (yes/no) معمولاً برای حالت‌های اجرای خاص استفاده می‌شود، مثلاً برای پیاده‌سازی پشتیبانی تعاملی از sudo(8).
تنظیم سطح پرگویی (verbosity): 0 (بی‌صدا)، 1 (پیش‌فرض)، 2 (مفصل) یا بیشتر (اشکال‌زدایی).
تنظیم نام کاربر ssh برای اتصال از راه دور (پیش‌فرض این است که مقداری مشخص نشود).
تنظیم مسیر باینری ssh برای اتصال از راه دور (پیش‌فرض ssh است).
تنظیم گزینه‌های اضافی برای ارسال به دستور اصلی ssh.
تنظیم مسیر باینری scp برای کپی از راه دور (پیش‌فرض scp است).
تنظیم گزینه‌های اضافی برای ارسال به دستور اصلی scp. در صورت عدم تعیین، به جای آن از ssh_options استفاده می‌شود.
تنظیم مسیر باینری rsh برای اتصال از راه دور (پیش‌فرض rsh است). با تغییر این مقدار به راحتی می‌توانید از mrsh یا krsh استفاده کنید.
مشابه rsh_path برای دستور rcp (پیش‌فرض rcp است).
تنظیم گزینه‌های اضافی برای ارسال به دستور اصلی rsh/rcp.

از نسخه 1.9، clush از حالت‌های اجرا (run modes) پشتیبانی می‌کند که تنظیمات ویژه clush.conf(5) با یک نام مشخص هستند. دو حالت اجرا در پرونده‌های پیکربندی نمونه ارائه شده‌اند که می‌توان آن‌ها را کپی و ویرایش کرد. آن‌ها احراز هویت مبتنی بر رمز عبور را با sshpass(1) و پشتیبانی تعاملی از sudo(8) با رمز عبور پیاده‌سازی می‌کنند.

برای استفاده از یک حالت اجرا با clush --mode، یک پرونده پیکربندی در یکی از دایرکتوری‌های confdir در clush.conf(5) (معمولاً clush.conf.d) نصب کنید. تنها پرونده‌های پیکربندی که به .conf ختم می‌شوند بررسی می‌شوند. اگر کاربری که clush(1) را اجرا می‌کند دسترسی خواندن به پرونده پیکربندی را نداشته باشد، آن پرونده نادیده گرفته می‌شود. هنگامی که --mode مشخص شده باشد، می‌توانید با فعال کردن حالت اشکال‌زدایی (-d)، تمام حالت‌های اجرای موجود برای کاربر جاری را نمایش دهید.

پرونده پیکربندی ساده.

[Main]
fanout: 128
connect_timeout: 15
command_timeout: 0
history_size: 100
color: auto
fd_max: 10240
maxrc: no
node_count: yes
confdir: /etc/clustershell/clush.conf.d

$CLUSTERSHELL_CFGDIR/clush.conf
پرونده پیکربندی سراسری clush. اگر $CLUSTERSHELL_CFGDIR تعریف نشده باشد، به جای آن از /etc/clustershell/clush.conf استفاده می‌شود.
$XDG_CONFIG_HOME/clustershell/clush.conf
پرونده پیکربندی کاربر برای clush. اگر $XDG_CONFIG_HOME تعریف نشده باشد، به جای آن از $HOME/.config/clustershell/clush.conf استفاده می‌شود.
{sys.prefix}/etc/clustershell/clush.conf
پرونده پیکربندی هنگامی که ClusterShell در یک محیط مجازی پایتون نصب شده باشد.
$HOME/.local/etc/clustershell/clush.conf
پرونده پیکربندی محلی کاربر برای clush (نصب پیش‌فرض برای pip --user)
~/.clush.conf
پرونده پیکربندی منسوخ‌شده کاربر برای clush (از نسخه 1.9 به بعد دیگر خوانده نمی‌شود).

از نسخه 1.3 در ClusterShell، بخش External از clush.conf حذف شده است. دستورات خارجی که خروجی آن‌ها توسط clush استفاده می‌شد (-a, -g, -X) اکنون توسط خود کتابخانه مدیریت شده و در groups.conf(5) تعریف می‌شوند.

clush(1), groups.conf(5), sshpass(1), sudo(8).

https://clustershell.readthedocs.io

Python ConfigParser

https://docs.python.org/3/library/configparser.html

Stephane Thiell

GNU Lesser General Public License version 2.1 or later (LGPLv2.1+)

2026-07-16 1.10.1