- با استفاده از این ماژول میتوان بستههای ابزارها و نرم افزارهای مختلف را از مخازن دریافت و بر روی سیستم نصب نمود.
- استفاده از این ماژول تنها برای توزیعهای مشتق شده از سیستم عامل red hat enterprise linux امکان پذیر خواهد بود.
- به عنوان مثال کد زیر باعث میشود تا :
- بستهی سرویس httpd بر روی گروهی خاص از خادمهای تحت مدیریت نصب شود.
|
1 2 3 4 5 6 7 8 9 10 |
--- - name: PlayBook hosts: centos-servers gather_facts: no tasks: - name: Install the latest version of Apache <span style="color: #ff0000;">yum</span>: name: <span style="color: #ff0000;">httpd</span> state: latest ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شود، خروجیای مشابه زیر دریافت خواهید کرد :
|
1 2 3 4 5 6 7 |
PLAY [PlayBook] ************************************************************************************************************************************************* TASK [Install the latest version of Apache] ************************************************************************************************************************ changed: [172.16.0.245] PLAY RECAP ********************************************************************************************************************************************************* 172.16.0.245 : <span style="color: #ff0000;">ok=1 changed=1</span> unreachable=0 failed=0 |
- نکته: با توجه به ماهیت ماژول yum و خروجی بالا، عبارت changed=1 مشخص میکند که اعمال تغییرات بر روی خادم تحت مدیریت، صورت گرفته است.
- به عنوان مثال کد زیر باعث میشود تا :
- سرویس httpd از روی گروهی خاص از خادمهای تحت مدیریت حدف شود.
|
1 2 3 4 5 6 7 8 9 10 |
--- - name: PlayBook hosts: centos-servers gather_facts: no tasks: - name: remove the Apache package <span style="color: #ff0000;">yum</span>: name: httpd state: <span style="color: #ff0000;">absent</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
|
1 2 3 4 5 6 7 |
PLAY [PlayBook] ************************************************************************************************************************************************* TASK [remove the Apache package] *********************************************************************************************************************************** changed: [172.16.0.245] PLAY RECAP ********************************************************************************************************************************************************* 172.16.0.245 : <span style="color: #ff0000;">ok=1 changed=1</span> unreachable=0 failed=0 |
- به عنوان مثال کد زیر باعث میشود تا :
- ابزار htop توسط مخزن epel بر روی گروهی خاص از خادمهای تحت مدیریت نصب شود.
|
1 2 3 4 5 6 7 8 9 10 11 |
--- - name: PlayBook hosts: centos-servers gather_facts: no tasks: - name: install the latest version of htop tool <span style="color: #ff0000;">yum</span>: name: htop <span style="color: #ff0000;">enablerepo: epel</span> state: present ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
|
1 2 3 4 5 6 7 |
PLAY [PlayBook] ************************************************************************************************************************************************* TASK [install the latest version of htop tool] ********************************************************************************************************************* changed: [172.16.0.245] PLAY RECAP ********************************************************************************************************************************************************* 172.16.0.245 :<span style="color: #ff0000;"> ok=1 changed=1</span> unreachable=0 failed=0 |
- به عنوان مثال کد زیر باعث میشود تا :
- سرویس httpd نسخهی 2.4.6-90.el7.centos بر روی گروهی خاص از خادمهای تحت مدیریت نصب و راه اندازی شود.
|
1 2 3 4 5 6 7 8 9 10 |
--- - name: PlayBook hosts: centos-servers gather_facts: no tasks: - name: install one specific version of Apache <span style="color: #ff0000;">yum</span>: name: <span style="color: #ff0000;">httpd-2.4.6-90.el7.centos</span> state: present ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
|
1 2 3 4 5 6 7 |
PLAY [PlayBook] ************************************************************************************************************************************************* TASK [install one specific version of Apache] ********************************************************************************************************************** changed: [172.16.0.245] PLAY RECAP ********************************************************************************************************************************************************* 172.16.0.245 :<span style="color: #ff0000;"> ok=1 changed=1</span> unreachable=0 failed=0 |
- به عنوان مثال کد زیر باعث میشود تا :
- تمام بستههای سیستم به جز kernel و foo به روز رسانی شوند.
|
1 2 3 4 5 6 7 8 9 10 11 |
--- - name: PlayBook hosts: centos-servers gather_facts: no tasks: - name: upgrade all packages, excluding kernel & foo related packages <span style="color: #ff0000;">yum</span>: name: <span style="color: #ff0000;">'*'</span> state: latest <span style="color: #ff0000;"> exclude: kernel*,foo*</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
|
1 2 3 4 5 6 7 |
PLAY [PlayBook] ************************************************************************************************************************************************* TASK [upgrade all packages, excluding kernel & foo related packages] *********************************************************************************************** changed: [172.16.0.245] PLAY RECAP ********************************************************************************************************************************************************* 172.16.0.245 : <span style="color: #ff0000;">ok=1 changed=1</span> unreachable=0 failed=0 |
- به عنوان مثال کد زیر باعث میشود تا :
- ابزارهای htop و nano و سرویس httpd بر روی گروهی خاص از خادم های تحت مدیریت نصب شود.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
--- - name: PlayBook hosts: centos-servers gather_facts: no tasks: - name: Install a list of packages <span style="color: #ff0000;">yum</span>: name: - <span style="color: #ff0000;">htop</span> - <span style="color: #ff0000;">nano</span> - <span style="color: #ff0000;">httpd</span> state: latest ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
|
1 2 3 4 5 6 7 |
PLAY [PlayBook] ************************************************************************************************************************************************* TASK [Install a list of packages] ********************************************************************************************************************************** changed: [172.16.0.245] PLAY RECAP ********************************************************************************************************************************************************* 172.16.0.245 : <span style="color: #ff0000;">ok=1 changed=1</span> unreachable=0 failed=0 |
- به منظور مطالعهی بیشتر لینکهای زیر پیشنهاد میشود :
|
1 2 |
https://docs.ansible.com/ansible/latest/modules/yum_module.html https://www.mydailytutorials.com/ansible-yum-module-examples/ |
- آزمایش شده بر روی Ansible نسخهی 2.5.1
- آزمایش شده بر روی سیستم عامل Ubuntu 18.04