PUPPET-MODULE(8) OpenVox manual PUPPET-MODULE(8) نام (NAME) puppet-module - ساخت، نصب و جستجوی ماژول‌ها در Puppet Forge خلاصه دستور (SYNOPSIS) puppet module اقدام [--environment production ] [--modulepath ] توضیحات (DESCRIPTION) این زیردستور می‌تواند ماژول‌ها را از Puppet Forge (مخزنی از کدهای پاپت ارائه‌شده توسط کاربران) پیدا، نصب و مدیریت کند. همچنین می‌تواند ماژول‌های خالی تولید کند و ماژول‌های توسعه‌یافته محلی را برای انتشار در Forge آماده سازد. گزینه‌ها (OPTIONS) توجه داشته باشید که هر تنظیمی که در فایل پیکربندی معتبر باشد، به عنوان یک آرگومان بلند نیز معتبر است، هرچند ممکن است به اقدام فعلی مربوط باشد یا نباشد. برای مثال، server و run_mode تنظیمات معتبری هستند، بنابراین می‌توانید --server یا --run_mode را به عنوان یک آرگومان مشخص کنید. برای فهرست کامل پارامترهای قابل قبول، مستندات فایل پیکربندی را در نشانی https://puppet.com/docs/puppet/latest/configuration.html ببینید. فهرستی حاوی توضیحات از تمام گزینه‌های پیکربندی را نیز می‌توان با اجرای puppet به همراه --genconfig تولید کرد. --render-as FORMAT قالبی که خروجی در آن ارائه می‌شود. متداول‌ترین قالب‌ها عبارتند از json، s (رشته)، yaml و console، اما گزینه‌های دیگری مانند dot نیز گاهی در دسترس هستند. --verbose ثبت وقایع با جزئیات کامل. --debug ثبت اطلاعات اشکال‌زدایی. --environment production محیطی که پاپت در آن اجرا می‌شود. برای کلاینت‌ها، نظیر puppet agent، این گزینه خود محیط را تعیین می‌کند که پاپت از آن برای یافتن ماژول‌ها و بسیاری موارد دیگر استفاده می‌کند. برای سرورها، نظیر puppet server، محیط پیش‌فرضی را برای گره‌هایی که پاپت شناختی از آن‌ها ندارد فراهم می‌سازد. هنگام تعریف محیط در بخش [agent]، این به محیطی اشاره دارد که عامل از سرور اصلی درخواست می‌کند. نیازی نیست که محیط در سیستم‌فایل محلی وجود داشته باشد زیرا عامل آن را از سرور اصلی دریافت می‌کند. این تعریف هنگام اجرای puppet agent استفاده می‌شود. هنگام تعریف در بخش [user]، محیط به مسیری اشاره دارد که پاپت برای جستجوی کدها و ماژول‌های مربوط به اجرای خود به کار می‌برد. این تعریف مستلزم وجود محلی محیط در سیستم‌فایلی است که puppet در آن اجرا می‌شود. زیردستورهای پاپت، از جمله puppet module و puppet apply، از این تعریف استفاده می‌کنند. با توجه به اینکه بافتار و اثرات بسته به بخش پیکربندی (https://puppet.com/docs/puppet/latest/config_file_main.html#config-sections) که تنظیم environment در آن تعریف شده متفاوت است، آن را به طور سراسری تنظیم نکنید. --modulepath مسیر جستجوی ماژول‌ها، به صورت فهرستی از دایرکتوری‌ها که با نویسه جداکننده مسیر سیستم از هم جدا شده‌اند. (جداکننده مسیر POSIX علامت ':' و جداکننده مسیر ویندوز ';' است.) تنظیم یک مقدار سراسری برای modulepath در puppet.conf مجاز نیست (اما می‌توان آن را از خط فرمان بازنویسی کرد). لطفاً در عوض از محیط‌های دایرکتوری استفاده کنید. اگر نیاز به استفاده از مقداری غیر از مسیر پیش‌فرض ماژول‌ها یعنی :$basemodulepath دارید، می‌توانید modulepath را در environment.conf تنظیم کنید. برای اطلاعات بیشتر پیوند https://puppet.com/docs/puppet/latest/environments_about.html را ببینید. اقدامات (ACTIONS) changes - نمایش فایل‌های تغییریافته یک ماژول نصب‌شده. SYNOPSIS puppet module changes path DESCRIPTION نمایش فایل‌هایی از یک ماژول که پس از نصب تغییر یافته‌اند. این اقدام فایل‌های روی دیسک را با چکسام‌های MD5 موجود در checksums.json یا در صورت عدم وجود آن در metadata.json مقایسه می‌کند. RETURNS آرایه‌ای از رشته‌ها که مسیر فایل‌های تغییریافته را نشان می‌دهند. install - نصب یک ماژول از Puppet Forge یا از یک آرشیو انتشار. SYNOPSIS puppet module install [--force | -f] [--target-dir DIR | -i DIR] [--ignore-dependencies] [--version VER | -v VER] name DESCRIPTION یک ماژول را از Puppet Forge یا از یک فایل آرشیو انتشار نصب می‌کند. نکته: نصب ماژول از چکسام‌های MD5 استفاده می‌کند که در سیستم‌های با FIPS فعال ممنوع است. ماژول مشخص‌شده در دایرکتوری تعیین‌شده با گزینه --target-dir نصب خواهد شد که به طور پیش‌فرض اولین دایرکتوری در modulepath است. OPTIONS --force | -f - اجبار به بازنویسی ماژول موجود در صورت وجود. این گزینه مستلزم --ignore-dependencies است. --ignore-dependencies - عدم تلاش برای نصب وابستگی‌ها. توسط --force اعمال می‌شود. --target-dir DIR | -i DIR - دایرکتوری‌ای که ماژول‌ها در آن نصب می‌شوند؛ پیش‌فرض اولین دایرکتوری در modulepath است. مشخص کردن این گزینه دایرکتوری نصب را تغییر داده و از modulepath موجود هنگام بررسی وابستگی‌ها استفاده می‌کند. اگر مایلید مجموعه متفاوتی از دایرکتوری‌ها را برای وابستگی‌ها بررسی کنید، باید از گزینه‌های --environment یا --modulepath نیز استفاده کنید. --version VER | -v VER - نسخه ماژول برای نصب؛ می‌تواند یک نسخه دقیق یا رشته نیازمندی مانند '>= 1.0.3' باشد. پیش‌فرض آخرین نسخه است. RETURNS شیء Pathname که مسیر ماژول نصب‌شده را نشان می‌دهد. list - فهرست کردن ماژول‌های نصب‌شده SYNOPSIS puppet module list [--tree] DESCRIPTION ماژول‌های نصب‌شده پاپت را فهرست می‌کند. به‌طور پیش‌فرض، این اقدام modulepath را از بلوک [main] فایل puppet.conf پویش می‌کند؛ از گزینه --modulepath برای تغییر دایرکتوری‌های مورد پویش استفاده کنید. خروجی این اقدام شامل اطلاعات متادیتای ماژول، از جمله شماره نسخه‌ها و وابستگی‌های برآورده‌نشده ماژول است. OPTIONS --tree - نمایش وابستگی‌ها به صورت نمای درختی RETURNS جدول درهم‌سازی (Hash) از مسیرها به اشیاء ماژول uninstall - حذف نصب یک ماژول پاپت. SYNOPSIS puppet module uninstall [--force | -f] [--ignore-changes | -c] [--version=] name DESCRIPTION یک ماژول پاپت را از modulepath (یا یک دایرکتوری هدف خاص) حذف می‌کند. نکته: حذف نصب ماژول از چکسام‌های MD5 استفاده می‌کند که در سیستم‌های با FIPS فعال ممنوع است. OPTIONS --force | -f - اجبار به حذف نصب ماژول نصب‌شده حتی در صورت وجود تغییرات محلی یا احتمال شکستن وابستگی‌ها. --ignore-changes | -c - حذف نصب یک ماژول نصب‌شده حتی اگر تغییرات محلی در آن ایجاد شده باشد. (توسط --force اعمال می‌شود.) --version= - نسخه ماژول برای حذف نصب. هنگام استفاده از این گزینه، ماژولی مطابق با نسخه مشخص‌شده باید نصب شده باشد وگرنه خطا رخ می‌دهد. RETURNS جدول درهم‌سازی از اشیاء ماژول که ماژول‌های حذف‌شده و خطاهای مرتبط را نشان می‌دهد. upgrade - ارتقای یک ماژول پاپت. SYNOPSIS puppet module upgrade [--force | -f] [--ignore-dependencies] [--ignore-changes | -c] [--version=] name DESCRIPTION یک ماژول پاپت را ارتقا می‌دهد. نکته: ارتقای ماژول از چکسام‌های MD5 استفاده می‌کند که در سیستم‌های با FIPS فعال ممنوع است. OPTIONS --force | -f - اجبار به ارتقای یک ماژول نصب‌شده حتی در صورت وجود تغییرات محلی یا احتمال شکستن وابستگی‌ها. مستلزم --ignore-dependencies است. --ignore-changes | -c - ارتقای یک ماژول نصب‌شده حتی اگر تغییرات محلی در آن وجود داشته باشد. (توسط --force اعمال می‌شود.) --ignore-dependencies - تلاش نکردن برای نصب وابستگی‌ها. توسط --force اعمال می‌شود. --version= - نسخه ماژول برای ارتقا به آن. RETURNS جدول درهم‌سازی (Hash) مثال‌ها (EXAMPLES) changes نمایش فایل‌های تغییریافته یک ماژول نصب‌شده: $ puppet module changes /etc/puppetlabs/code/modules/vcsrepo/ warning: 1 files modified lib/puppet/provider/vcsrepo.rb install نصب یک ماژول: $ puppet module install puppetlabs-vcsrepo Preparing to install into /etc/puppetlabs/code/modules .. Downloading from https://forgeapi.puppet.com .. Installing -rrupt .. /etc/puppetlabs/code/modules └── puppetlabs-vcsrepo (v0.0.4) نصب یک ماژول در محیطی مشخص: $ puppet module install puppetlabs-vcsrepo --environment development Preparing to install into /etc/puppetlabs/code/environments/development/modules .. Downloading from https://forgeapi.puppet.com .. Installing -rrupt .. /etc/puppetlabs/code/environments/development/modules └── puppetlabs-vcsrepo (v0.0.4) نصب نسخه‌ای خاص از ماژول: $ puppet module install puppetlabs-vcsrepo -v 0.0.4 Preparing to install into /etc/puppetlabs/modules .. Downloading from https://forgeapi.puppet.com .. Installing -rrupt .. /etc/puppetlabs/code/modules └── puppetlabs-vcsrepo (v0.0.4) نصب یک ماژول در دایرکتوری مشخص: $ puppet module install puppetlabs-vcsrepo --target-dir=/opt/puppetlabs/puppet/modules Preparing to install into /opt/puppetlabs/puppet/modules .. Downloading from https://forgeapi.puppet.com .. Installing -rrupt .. /opt/puppetlabs/puppet/modules └── puppetlabs-vcsrepo (v0.0.4) نصب ماژول در دایرکتوری مشخص و بررسی وابستگی‌ها در سایر دایرکتوری‌ها: $ puppet module install puppetlabs-vcsrepo --target-dir=/opt/puppetlabs/puppet/modules --modulepath /etc/puppetlabs/code/modules Preparing to install into /opt/puppetlabs/puppet/modules .. Downloading from https://forgeapi.puppet.com .. Installing -rrupt .. /opt/puppetlabs/puppet/modules └── puppetlabs-vcsrepo (v0.0.4) نصب یک ماژول از یک آرشیو انتشار: $ puppet module install puppetlabs-vcsrepo-0.0.4.tar.gz Preparing to install into /etc/puppetlabs/code/modules .. Downloading from https://forgeapi.puppet.com .. Installing -rrupt .. /etc/puppetlabs/code/modules └── puppetlabs-vcsrepo (v0.0.4) نصب ماژول از یک آرشیو انتشار و نادیده گرفتن وابستگی‌ها: $ puppet module install puppetlabs-vcsrepo-0.0.4.tar.gz --ignore-dependencies Preparing to install into /etc/puppetlabs/code/modules .. Downloading from https://forgeapi.puppet.com .. Installing -rrupt .. /etc/puppetlabs/code/modules └── puppetlabs-vcsrepo (v0.0.4) list فهرست کردن ماژول‌های نصب‌شده: $ puppet module list /etc/puppetlabs/code/modules ├── bodepd-create_resources (v0.0.1) ├── puppetlabs-bacula (v0.0.2) ├── puppetlabs-mysql (v0.0.1) ├── puppetlabs-sqlite (v0.0.1) └── puppetlabs-stdlib (v2.2.1) /opt/puppetlabs/puppet/modules (no modules installed) فهرست کردن ماژول‌های نصب‌شده در نمای درختی: $ puppet module list --tree /etc/puppetlabs/code/modules └─┬ puppetlabs-bacula (v0.0.2) ├── puppetlabs-stdlib (v2.2.1) ├─┬ puppetlabs-mysql (v0.0.1) │ └── bodepd-create_resources (v0.0.1) └── puppetlabs-sqlite (v0.0.1) /opt/puppetlabs/puppet/modules (no modules installed) فهرست کردن ماژول‌های نصب‌شده از یک محیط مشخص: $ puppet module list --environment production /etc/puppetlabs/code/modules ├── bodepd-create_resources (v0.0.1) ├── puppetlabs-bacula (v0.0.2) ├── puppetlabs-mysql (v0.0.1) ├── puppetlabs-sqlite (v0.0.1) └── puppetlabs-stdlib (v2.2.1) /opt/puppetlabs/puppet/modules (no modules installed) فهرست کردن ماژول‌های نصب‌شده از یک modulepath مشخص: $ puppet module list --modulepath /opt/puppetlabs/puppet/modules /opt/puppetlabs/puppet/modules (no modules installed) uninstall حذف نصب یک ماژول: $ puppet module uninstall puppetlabs-ssh Removed /etc/puppetlabs/code/modules/ssh (v1.0.0) حذف نصب یک ماژول از یک دایرکتوری خاص: $ puppet module uninstall puppetlabs-ssh --modulepath /opt/puppetlabs/puppet/modules Removed /opt/puppetlabs/puppet/modules/ssh (v1.0.0) حذف نصب یک ماژول از یک محیط خاص: $ puppet module uninstall puppetlabs-ssh --environment development Removed /etc/puppetlabs/code/environments/development/modules/ssh (v1.0.0) حذف نصب یک نسخه خاص از ماژول: $ puppet module uninstall puppetlabs-ssh --version 2.0.0 Removed /etc/puppetlabs/code/modules/ssh (v2.0.0) upgrade ارتقای یک ماژول نصب‌شده به آخرین نسخه: $ puppet module upgrade puppetlabs-apache /etc/puppetlabs/puppet/modules └── puppetlabs-apache (v1.0.0 -> v2.4.0) ارتقای یک ماژول نصب‌شده به یک نسخه مشخص: $ puppet module upgrade puppetlabs-apache --version 2.1.0 /etc/puppetlabs/puppet/modules └── puppetlabs-apache (v1.0.0 -> v2.1.0) ارتقای یک ماژول نصب‌شده برای یک محیط خاص: $ puppet module upgrade puppetlabs-apache --environment test /etc/puppetlabs/code/environments/test/modules └── puppetlabs-apache (v1.0.0 -> v2.4.0) حق نشر و مجوز (COPYRIGHT AND LICENSE) حق نشر ۲۰۱۲ توسط Puppet Inc., Vox Pupuli تحت مجوز Apache 2؛ فایل COPYING را ببینید. Vox Pupuli January 2025 PUPPET-MODULE(8)