- با استفاده از این ماژول میتوان بستههای ابزارها و سرویسهای مختلف را از مخازن دریافت و بر روی خادمهای تحت مدیریت نصب نمود.
- به عنوان مثال کد زیر باعث میشود تا :
- سرویس Apache بر روی خادمهای تحت مدیریت گروه debian-servers نصب شود.
|
1 2 3 4 5 6 7 8 9 10 |
--- - name: PlayBook hosts: debian-servers gather_facts: no tasks: - name: Install apache httpd (state=present is optional) <span style="color: #ff0000;">apt</span>: name: apache2 state: <span style="color: #ff0000;">present</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- به عنوان مثال کد زیر باعث میشود تا :
- ابتدا لیست بستهها بروز رسانی شود.
- سپس بستهای با نام foo بر روی خادمهای تحت مدیریت گروه debian-servers نصب شود.
|
1 2 3 4 5 6 7 8 9 10 |
--- - name: PlayBook hosts: debian-servers gather_facts: no tasks: - name: Update repositories cache and install "foo" package <span style="color: #ff0000;">apt</span>: name: foo <span style="color: #ff0000;"> update_cache: yes</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- به عنوان مثال کد زیر باعث میشود تا :
- بستهای با نام foo از روی سیستم حذف شود.
|
1 2 3 4 5 6 7 8 9 10 |
--- - name: PlayBook hosts: debian-servers gather_facts: no tasks: - name: Remove "foo" package <span style="color: #ff0000;">apt</span>: name: foo state: <span style="color: #ff0000;">absent</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- نکته: این مدل از حذف بسته، معادل دستور apt-get remove میباشد.
- به عنوان مثال کد زیر باعث میشود تا :
- فهرستی از بستههای مشخص شده نصب شوند. (از طریق مخزن)
|
1 2 3 4 5 6 7 8 9 10 11 |
--- - name: PlayBook hosts: debian-servers gather_facts: no tasks: - name: Install a list of packages <span style="color: #ff0000;">apt</span>: <span style="color: #ff0000;">pkg</span>: - <span style="color: #ff0000;">foo</span> - <span style="color: #ff0000;">foo-tools</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- به عنوان مثال کد زیر باعث میشود تا :
- نسخهای مشخص از یک بسته توسط مخازن نصب شود.
|
1 2 3 4 5 6 7 8 9 |
--- - name: PlayBook hosts: debian-servers gather_facts: no tasks: - name: Install the version '1.00' of package "foo" <span style="color: #ff0000;">apt</span>: name: <span style="color: #ff0000;">foo=1.00</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- به عنوان مثال کد زیر باعث میشود تا :
- ابتدا بستهی سرویس Nginx از طریق مخزن squeeze-backports بر روی سیستم نصب یا به آخرین نسخهی موجود در مخزن بروز رسانی شود.
- سپس فهرست بستهها بروز رسانی شود.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
--- - name: PlayBook hosts: debian-servers gather_facts: no tasks: - name: Update the repository cache and update package "nginx" to latest version using default release squeeze-backport <span style="color: #ff0000;">apt</span>: name: nginx state: latest <span style="color: #ff0000;">default_release: squeeze-backports</span> <span style="color: #ff0000;">update_cache: yes</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- عبارت update_cache: yes معادل دستور apt-get update عمل میکند.
- به عنوان مثال کد زیر باعث میشود تا :
- تمام بستههای سیستم بروز رسانی شود.
|
1 2 3 4 5 6 7 8 9 10 |
--- - name: PlayBook hosts: debian-servers gather_facts: no tasks: - name: Upgrade all packages to the latest version <span style="color: #ff0000;">apt</span>: <span style="color: #ff0000;">name: "*"</span> state: latest ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- به عنوان مثال کد زیر باعث میشود تا :
- بستهی deb. از مسیر مشخص شده بر روی خادمهای تحت مدیریت نصب شود.
|
1 2 3 4 5 6 7 8 9 |
--- - name: PlayBook hosts: debian-servers gather_facts: no tasks: - name: Install a .deb package <span style="color: #ff0000;">apt</span>: <span style="color: #ff0000;">deb: /tmp/mypackage.deb</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- به عنوان مثال کد زیر باعث میشود تا :
- تنها پیش نیازهایی که برای ساخت بسته مورد نیاز است، نصب شود.
|
1 2 3 4 5 6 7 8 9 10 |
--- - name: PlayBook hosts: debian-servers gather_facts: no tasks: - name: Install the build dependencies for package "foo" <span style="color: #ff0000;">apt</span>: pkg: foo state: <span style="color: #ff0000;">build-dep</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- به عنوان مثال کد زیر باعث میشود تا :
- نصب بستهی deb. از طریق دریافت از یک آدرس مبتنی بر پروتکل https صورت گیرد.
|
1 2 3 4 5 6 7 8 9 |
--- - name: PlayBook hosts: debian-servers gather_facts: no tasks: - name: Install a .deb package from the internet. <span style="color: #ff0000;">apt</span>: <span style="color: #ff0000;">deb: https://example.com/python-ppq_0.1-1_all.deb</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- به عنوان مثال کد زیر باعث میشود تا :
- ابتدا بستههایی که مورد استفاده قرار نمیگیرد از حافظهی cache پاک شوند.
|
1 2 3 4 5 6 7 8 9 |
--- - name: PlayBook hosts: debian-servers gather_facts: no tasks: - name: Remove useless packages from the cache <span style="color: #ff0000;">apt</span>: <span style="color: #ff0000;">autoclean: yes</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- نکته: عملکرد کد بالا معادل دستور apt autoclean میباشد.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- به عنوان مثال کد زیر باعث میشود تا :
- پیش نیازهایی که مدتی مورد استفاده قرار نمیگیرند، پاک شوند.
|
1 2 3 4 5 6 7 8 9 |
--- - name: PlayBook hosts: debian-servers gather_facts: no tasks: - name: Remove dependencies that are no longer required <span style="color: #ff0000;">apt</span>: <span style="color: #ff0000;"> autoremove: yes</span> ... |
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- نکته: عملکرد کد بالا معادل دستور apt autoremove میباشد.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- به منظور مطالعهی بیشتر لینکهای زیر پیشنهاد میشود :
|
1 2 |
https://docs.ansible.com/ansible/latest/modules/apt_module.html https://www.mydailytutorials.com/introduction-ansible-apt-package-repository/ |
- آزمایش شده بر روی Ansible نسخهی 2.5.1
- آزمایش شده بر روی سیستم عامل Ubuntu 18.04