mungkin

Menginstal Banyak Paket dengan Mudah di CentOS Menggunakan Ansible

Menginstal Banyak Paket dengan Mudah di CentOS Menggunakan Ansible
Di Ansible, Anda dapat menggunakan dnf atau enak modul untuk menginstal paket perangkat lunak pada host CentOS atau RHEL. Secara default, modul-modul ini hanya menginstal satu paket perangkat lunak. Anda dapat menggunakan dnf atau enak modul beberapa kali di buku pedoman Ansible Anda untuk menginstal paket perangkat lunak sebanyak yang Anda inginkan. Padahal, ini bukan cara yang paling efisien untuk melakukan ini, karena akan ada banyak pengulangan kode yang ingin kami hindari jika memungkinkan. Untungnya, kita dapat menggunakan loop untuk menginstal paket perangkat lunak sebanyak yang kita inginkan dengan mudah tanpa pengulangan kode code.

Artikel ini akan menunjukkan kepada Anda cara menginstal beberapa paket perangkat lunak pada host CentOS/RHEL menggunakan Ansible loop. Jadi, mari kita mulai.

Prasyarat

Jika Anda ingin mencoba contoh di artikel ini,
1) Anda harus menginstal Ansible di komputer Anda.
2) Anda harus memiliki setidaknya host CentOS/RHEL 7 atau 8 yang dikonfigurasi untuk otomatisasi yang memungkinkan.

Ada banyak artikel di LinuxHint yang didedikasikan untuk Menginstal Ansible dan mengonfigurasi host untuk otomatisasi Ansible. Anda dapat memeriksa ini jika diperlukan.

Menyiapkan Direktori Proyek

Sebelum melangkah lebih jauh, kita akan membuat direktori proyek, hanya untuk menjaga agar sedikit teratur.

Untuk membuat direktori proyek centos-pkg/ dan semua subdirektori yang diperlukan (di direktori kerja Anda saat ini), jalankan perintah berikut:

$ mkdir -pv centos-pkg/playbooks

Setelah direktori proyek dibuat, navigasikan ke direktori proyek, sebagai berikut:

$ cd centos-pkg/

Selanjutnya, buat tuan rumah berkas inventaris, sebagai berikut:

$ nano host

Tambahkan IP host atau nama DNS (vm3.simpul.com, dalam kasus saya) host CentOS/RHEL Anda di file inventaris (satu Host per baris).

Setelah selesai, simpan file dengan menekan + X, diikuti oleh kamu dan .

Buat file konfigurasi Ansible mungkin.cfg di direktori proyek Anda, sebagai berikut:

$ nano mungkin.cfg

Kemudian, ketik baris berikut di mungkin.cfg mengajukan.

[default]
inventaris           = host
host_key_checking   = Salah

Setelah selesai, simpan mungkin.cfg file dengan menekan + X, diikuti oleh kamu dan .

Coba ping semua host CentOS/RHEL yang telah Anda tambahkan di tuan rumah berkas inventaris, sebagai berikut:

$ mungkin semua -u mungkin -m ping

Seperti yang Anda lihat, host CentOS 8 saya dapat diakses.

Menginstal Paket Perangkat Lunak Tunggal

Bagian ini akan menunjukkan kepada Anda cara menginstal satu paket perangkat lunak menggunakan dnf atau enak modul Ansible di host CentOS/RHEL Anda.

Pertama, buat buku pedoman baru install_package.yaml dalam buku pedoman/ direktori, sebagai berikut:

$ nano buku pedoman/install_package.yaml

Selanjutnya, ketik baris berikut di install_package.yaml mengajukan.

- tuan rumah: semua
pengguna: mungkin
menjadi: Benar
tugas:
- nama: Instal paket httpd
dnf:
nama: httpd
negara: sekarang
update_cache: Benar

Setelah selesai, simpan file dengan menekan + X, diikuti oleh kamu dan .

Di sini, saya hanya menambahkan satu tugas, Instal paket httpd. Tujuan dari tugas ini adalah untuk menginstal httpd paket di CentOS/RHEL 8.

CentOS/RHEL 7 tidak menggunakan dnf manajer paket, ia menggunakan enak manajer paket. Jadi, jika Anda menggunakan CentOS/RHEL 7, ubah dnf untuk enak, seperti yang ditandai pada tangkapan layar di bawah ini. Tidak ada perubahan lain yang diperlukan.

Itu nama pilihan digunakan untuk memberitahu dnf atau enak modul nama paket yang Anda coba instal. Dalam hal ini, itu akan menjadi httpd paket.

Itu negara pilihan digunakan untuk memberitahu dnf atau enak modul tindakan (i.e. instal, perbarui, hapus) itu harus mengambil paket yang diberikan. Dalam hal ini, tindakannya adalah menyajikan.

Nilai yang didukung dari negara pilihan adalah:

menyajikan - akan menginstal paket jika belum diinstal.

terbaru - akan menginstal paket jika belum diinstal; jika sudah diinstal, modul akan memeriksa pembaruan; jika versi terbaru dari paket tersedia, itu akan menginstal versi baru.

tidak hadir - akan menghapus paket jika diinstal.

jika update_cache pilihan diatur ke Benar, cache repositori paket DNF/YUM akan diperbarui sebelum paket diinstal.

Jalankan install_package.yaml buku pedoman, sebagai berikut:

$ playbook yang memungkinkan-playbook/install_package.yaml

Seperti yang Anda lihat, buku pedoman install_package.yaml berlari dengan sukses.

Seperti yang Anda lihat, httpd paket diinstal pada host CentOS 8 saya, yang telah saya tambahkan di my tuan rumah file inventaris.

$ sudo daftar dnf diinstal | grep httpd

Jika Anda menggunakan CentOS/RHEL 7, gunakan enak manajer paket alih-alih dnf manajer paket untuk memverifikasi apakah paket sudah diinstal.

$ sudo daftar yum diinstal | grep httpd

Menginstal Beberapa Paket Perangkat Lunak Menggunakan With_items Loop

Bagian sebelumnya dari artikel ini menunjukkan kepada Anda cara menginstal satu paket perangkat lunak pada host CentOS/RHEL Anda menggunakan Ansible dnf/enak modul. Bagian ini akan menunjukkan kepada Anda cara menginstal beberapa paket perangkat lunak pada host CentOS/RHEL Anda menggunakan Ansible with_items lingkaran.

Pertama, buat buku pedoman baru install_packages.yaml, sebagai berikut:

$ nano playbook/install_packages.yaml

Ketik baris berikut di install_packages.yaml mengajukan.

- tuan rumah: semua
pengguna: mungkin
menjadi: Benar
tugas:
- nama: Instal semua paket
dnf:
nama: ' item '
negara: sekarang
update_cache: Benar
dengan_item:
httpd
php
vsftpd

Setelah selesai, tekan + X, diikuti oleh kamu dan , untuk menyelamatkan install_packages.yaml mengajukan.

Di sini, saya telah mendefinisikan nama paket (httpd, php, vsftpd) yang ingin saya instal menggunakan with_items lingkaran.

Saya telah mengganti nama paket dengan variabel barang. Itu barang variabel akan diperbarui dengan nama paket di setiap iterasi.

Jalankan install_packages.yaml buku pedoman, sebagai berikut:

$ buku pedoman playbook yang memungkinkan/install_packages.yaml

Seperti yang Anda lihat, buku pedoman install_packages.yaml berlari dengan sukses.

Itu httpd, php, dan vsftpd paket diinstal pada host CentOS 8 saya, seperti yang Anda lihat pada tangkapan layar di bawah ini.

$ sudo daftar dnf diinstal | grep httpd
$ sudo daftar dnf diinstal | grep php
$ sudo daftar dnf diinstal | grep vsftpd

Menginstal Beberapa Paket Perangkat Lunak Menggunakan Loop Loop

Mulai dari Ansible 2.5, cara yang disarankan untuk menggunakan loop di buku pedoman Anda adalah dengan menggunakan lingkaran kata kunci, alih-alih with_items kata kunci. Itu sebabnya Anda melihat pesan peringatan ketika saya menjalankan install_packages.yaml pedoman di bagian awal artikel ini.

Bekerja dengan loop menggunakan lingkaran kata kuncinya sangat mudah.

Pertama, buka buku pedoman install_packages.yaml (dari contoh sebelumnya), sebagai berikut:

$ nano playbook/install_packages.yaml

Dalam install_packages.yaml playbook, ganti saja istilahnya with_items dengan istilah lingkaran, seperti yang ditandai pada tangkapan layar di bawah ini. Anda tidak perlu mengubah apa pun.

Setelah selesai, tekan + X, diikuti oleh kamu dan , untuk menyelamatkan install_packages.yaml mengajukan.

Jalankan install_packages.yaml buku pedoman, sebagai berikut:

$ buku pedoman playbook yang memungkinkan/install_packages.yaml

Seperti yang Anda lihat, tugas Instal semua paket berlari dnf/enak modul tiga kali total; sekali untuk setiap putaran barang.

Itu httpd, php, dan vsftpd paket diinstal pada host CentOS 8 saya, seperti yang Anda lihat pada tangkapan layar di bawah ini.

$ sudo daftar dnf diinstal | grep httpd
$ sudo daftar dnf diinstal | grep php
$ sudo daftar dnf diinstal | grep vsftpd

Menginstal Beberapa Paket Perangkat Lunak menggunakan Sintaks Array

Bagian sebelumnya dari artikel ini menunjukkan cara menggunakan with_items dan lingkaran loop di Memungkinkan untuk menginstal beberapa paket perangkat lunak pada CentOS/RHEL 7 atau 8, tanpa pengulangan kode apa pun. Bagian ini akan menunjukkan kepada Anda bagaimana melakukan hal yang sama dengan sintaks array yang lebih sederhana.

Pertama, buka install_packages.yaml buku pedoman, sebagai berikut:

$ nano playbook/install_packages.yaml

Hapus with_items atau lingkaran bagian dari tugas dan ubah nama pilihan untuk ['httpd', 'php', vsftpd'], seperti yang ditandai pada tangkapan layar di bawah ini.

Setelah selesai, tekan + X, diikuti oleh kamu dan , untuk menyelamatkan install_packages.yaml buku pedoman.

Di sini, setiap string yang dikutip di dalam tanda kurung siku ([]) adalah elemen array (nama paket perangkat lunak, dalam kasus saya). Setiap elemen array harus dipisahkan dengan koma (,). Anda dapat menambahkan elemen array sebanyak yang Anda inginkan. Saya telah menambahkan hanya tiga elemen, httpd, php, dan vsftpd.

Jalankan install_packages.yaml buku pedoman, sebagai berikut:

$ buku pedoman playbook yang memungkinkan/install_packages.yaml

Seperti yang Anda lihat, paket perangkat lunak httpd, php, dan vsftpd diinstal pada host CentOS 8 saya.

$ sudo daftar dnf diinstal | grep httpd
$ sudo daftar dnf diinstal | grep php
$ sudo daftar dnf diinstal | grep vsftpd

Kesimpulan

Artikel ini, menunjukkan cara menggunakan with_items dan lingkaran loop, serta sintaks Array, dengan Ansible enak/dnf modul untuk menginstal beberapa paket perangkat lunak pada host CentOS/RHEL 7 atau 8 Anda.

Untuk informasi lebih lanjut, periksa dokumentasi resmi Ansible.

[1] Dokumentasi resmi dari Ansible loop
[2] Dokumentasi resmi Ansible with_items
[3] Dokumentasi resmi modul dnf Ansible
[4] Dokumentasi resmi modul yum Ansible

Cara mengubah penunjuk Mouse dan ukuran kursor, warna & skema pada Windows 10
Penunjuk mouse dan kursor di Windows 10 adalah aspek yang sangat penting dari sistem operasi. Ini dapat dikatakan untuk sistem operasi lain juga, jadi...
Mesin Game Gratis dan Sumber Terbuka untuk Mengembangkan Game Linux
Artikel ini akan membahas daftar mesin game sumber terbuka dan gratis yang dapat digunakan untuk mengembangkan game 2D dan 3D di Linux. Ada banyak mes...
Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah tambahan kedua belas untuk seri Tomb Raider - waralaba game aksi-petualangan yang dibuat oleh Eidos Montreal. Permain...