Tidak boleh difahami

Memasang Pelbagai Pakej dengan Mudah di CentOS Menggunakan Ansible

Memasang Pelbagai Pakej dengan Mudah di CentOS Menggunakan Ansible
Pada Ansible, anda boleh menggunakan dnf atau yum modul untuk memasang pakej perisian pada host CentOS atau RHEL. Secara lalai, modul ini hanya memasang satu pakej perisian. Anda boleh menggunakan dnf atau yum modul beberapa kali dalam buku main Ansible anda untuk memasang seberapa banyak pakej perisian yang anda mahukan. Walaupun demikian, ini bukan cara yang paling efisien untuk melakukan ini, kerana akan ada banyak pengulangan kod yang ingin kita hindari jika memungkinkan. Nasib baik, kita dapat menggunakan gelung untuk memasang pakej perisian sebanyak yang kita mahukan dengan mudah tanpa pengulangan kod.

Artikel ini akan menunjukkan kepada anda cara memasang pelbagai pakej perisian pada host CentOS / RHEL menggunakan gelung Ansible. Oleh itu, mari kita mulakan.

Prasyarat

Sekiranya anda ingin mencuba contoh dalam artikel ini,
1) Anda mesti memasang Ansible di komputer anda.
2) Anda mesti mempunyai sekurang-kurangnya host CentOS / RHEL 7 atau 8 yang dikonfigurasi untuk automasi Ansible.

Terdapat banyak artikel mengenai LinuxHint yang dikhaskan untuk Memasang Ansible dan mengkonfigurasi host untuk automasi Ansible. Anda boleh melihatnya sekiranya diperlukan.

Menyiapkan Direktori Projek

Sebelum melangkah lebih jauh, kami akan membuat direktori projek, hanya untuk memastikan semuanya teratur.

Untuk membuat direktori projek centos-pkg / dan semua subdirektori yang diperlukan (dalam direktori kerja semasa anda), jalankan arahan berikut:

$ mkdir -pv centos-pkg / buku permainan

Setelah direktori projek dibuat, arahkan ke direktori projek, seperti berikut:

$ cd centos-pkg /

Seterusnya, buat a tuan rumah fail inventori, seperti berikut:

hos $ nano

Tambahkan nama IP atau DNS host (vm3.angguk.com, dalam kes saya) host CentOS / RHEL anda dalam fail inventori (satu hos setiap baris).

Setelah selesai, simpan fail dengan menekan + X, diikuti oleh Y dan .

Buat fail konfigurasi Ansible tidak boleh dimakan.cfg dalam direktori projek anda, seperti berikut:

$ nano tidak boleh dimakan.cfg

Kemudian, taipkan baris berikut di tidak boleh dimakan.cfg fail.

[lalai]
inventori = tuan rumah
host_key_checking = Salah

Setelah selesai, simpan tidak boleh dimakan.cfg fail dengan menekan + X, diikuti oleh Y dan .

Cuba ping semua host CentOS / RHEL yang telah anda tambahkan di tuan rumah fail inventori, seperti berikut:

$ ansible all -u ansible -m ping

Seperti yang anda lihat, hos CentOS 8 saya boleh diakses.

Memasang Pakej Perisian Tunggal

Bahagian ini akan menunjukkan kepada anda cara memasang satu pakej perisian menggunakan dnf atau yum modul Ansible pada hos CentOS / RHEL anda.

Pertama, buat buku main baru pasang_pakej.keladi di dalam buku permainan / direktori, seperti berikut:

Buku main $ nano / install_package.keladi

Seterusnya, taipkan baris berikut di pasang_pakej.keladi fail.

- tuan rumah: semua
pengguna: tidak boleh dimakan
menjadi: Benar
tugas:
- nama: Pasang pakej httpd
dnf:
nama: httpd
nyatakan: sekarang
update_cache: Betul

Setelah selesai, simpan fail dengan menekan + X, diikuti oleh Y dan .

Di sini, saya hanya menambah satu tugas, Pasang pakej httpd. Tujuan tugas ini adalah untuk memasang httpd pakej di CentOS / RHEL 8.

CentOS / RHEL 7 tidak menggunakan dnf pengurus pakej, ia menggunakan yum pengurus pakej. Jadi, jika anda menggunakan CentOS / RHEL 7, ubah dnf ke yum, seperti yang ditandakan pada tangkapan skrin di bawah. Tidak diperlukan perubahan lain.

The nama pilihan digunakan untuk memberitahu dnf atau yum modulkan nama pakej yang anda cuba pasangkan. Dalam kes ini, ia akan menjadi httpd pakej.

The negeri pilihan digunakan untuk memberitahu dnf atau yum modul tindakan (i.e. pasang, tingkatkan, hapus) ia harus menggunakan pakej yang diberikan. Dalam kes ini, tindakannya adalah hadir.

Nilai yang disokong dari negeri pilihan adalah:

hadir - akan memasang pakej jika belum dipasang.

terkini - akan memasang pakej jika belum dipasang; jika sudah dipasang, modul akan memeriksa kemas kini; jika versi kemas kini pakej tersedia, ia akan memasang versi baru.

tidak hadir - akan mengeluarkan pakej jika dipasang.

Sekiranya kemas kini_cache pilihan ditetapkan ke Betul, cache repositori pakej DNF / YUM akan dikemas kini sebelum pakej dipasang.

Jalankan pasang_pakej.keladi buku permainan, seperti berikut:

playbook $ ansible-playbook / install_package.keladi

Seperti yang anda lihat, buku main pasang_pakej.keladi berlari dengan jayanya.

Seperti yang anda lihat, httpd pakej dipasang pada host CentOS 8 saya, yang telah saya tambahkan pada saya tuan rumah fail inventori.

$ sudo dnf senarai dipasang | grep httpd

Sekiranya anda menggunakan CentOS / RHEL 7, gunakan yum pengurus pakej dan bukannya dnf pengurus pakej untuk mengesahkan sama ada pakej dipasang.

$ sudo yum list terpasang | grep httpd

Memasang Pelbagai Pakej Perisian Menggunakan loop with_items

Bahagian sebelumnya dari artikel ini menunjukkan kepada anda cara memasang satu pakej perisian pada host CentOS / RHEL anda menggunakan Ansible dnf/yum modul. Bahagian ini akan menunjukkan kepada anda cara memasang pelbagai pakej perisian pada host CentOS / RHEL anda menggunakan Ansible dengan_item gelung.

Pertama, buat buku main baru pasang_pakej.keladi, seperti berikut:

$ play playbooks / install_packages.keladi

Taipkan baris berikut di pasang_pakej.keladi fail.

- tuan rumah: semua
pengguna: tidak boleh dimakan
menjadi: Benar
tugas:
- nama: Pasang semua pakej
dnf:
nama: 'item'
nyatakan: sekarang
update_cache: Betul
dengan_item:
httpd
php
vsftpd

Setelah selesai, tekan + X, diikuti oleh Y dan , untuk menyelamatkan pasang_pakej.keladi fail.

Di sini, saya telah menentukan nama pakej (httpd, php, vsftpd) yang ingin saya pasang menggunakan dengan_item gelung.

Saya telah menggantikan nama pakej dengan pemboleh ubah barang. The barang pemboleh ubah akan dikemas kini dengan nama pakej dalam setiap lelaran.

Jalankan pasang_pakej.keladi buku permainan, seperti berikut:

$ ansible-playbook playbooks / install_packages.keladi

Seperti yang anda lihat, buku main pasang_pakej.keladi berlari dengan jayanya.

The httpd, php, dan vsftpd pakej dipasang pada host CentOS 8 saya, seperti yang anda lihat dalam tangkapan skrin di bawah.

$ sudo dnf senarai dipasang | grep httpd
senarai $ sudo dnf dipasang | grep php
$ sudo dnf senarai dipasang | grep vsftpd

Memasang Pelbagai Pakej Perisian Menggunakan Gelung gelung

Bermula dari Ansible 2.5, cara yang disyorkan untuk menggunakan gelung dalam buku main anda adalah dengan menggunakan gelung kata kunci, bukannya dengan_item kata kunci. Itulah sebabnya anda melihat mesej amaran ketika saya menjalankan pasang_pakej.keladi buku main di bahagian awal artikel ini.

Bekerja dengan gelung menggunakan gelung kata kunci sangat mudah.

Pertama, buka buku main pasang_pakej.keladi (dari contoh sebelumnya), seperti berikut:

$ play playbooks / install_packages.keladi

Di dalam pasang_pakej.keladi buku main, ganti istilahnya dengan_item dengan sebutan gelung, seperti yang ditandakan pada tangkapan skrin di bawah. Anda tidak perlu mengubah perkara lain.

Setelah selesai, tekan + X, diikuti oleh Y dan , untuk menyelamatkan pasang_pakej.keladi fail.

Jalankan pasang_pakej.keladi buku permainan, seperti berikut:

$ play-playbook playbooks / install_packages.keladi

Seperti yang anda lihat, tugasnya Pasang semua pakej berlari dnf/yum modul tiga kali secara keseluruhan; sekali untuk setiap gelung barang.

The httpd, php, dan vsftpd pakej dipasang pada host CentOS 8 saya, seperti yang anda lihat dalam tangkapan skrin di bawah.

$ sudo dnf senarai dipasang | grep httpd
$ sudo dnf senarai dipasang | grep php
$ sudo dnf senarai dipasang | grep vsftpd

Memasang Pelbagai Pakej Perisian menggunakan Array Syntax

Bahagian awal artikel ini menunjukkan kepada anda cara menggunakan dengan_item dan gelung gelung di Ansible untuk memasang beberapa pakej perisian di CentOS / RHEL 7 atau 8, tanpa pengulangan kod. Bahagian ini akan menunjukkan kepada anda bagaimana melakukan perkara yang sama dengan sintaks array yang lebih mudah.

Pertama, buka pasang_pakej.keladi buku permainan, seperti berikut:

$ play playbooks / install_packages.keladi

Alihkan dengan_item atau gelung bahagian dari tugas dan ubah nama pilihan untuk ['httpd', 'php', vsftpd '], seperti yang ditandakan pada tangkapan skrin di bawah.

Setelah selesai, tekan + X, diikuti oleh Y dan , untuk menyelamatkan pasang_pakej.keladi buku permainan.

Di sini, setiap tali yang dipetik di dalam kurungan persegi ([]) adalah elemen array (nama pakej perisian, dalam kes saya). Setiap elemen array harus dipisahkan dengan koma (,). Anda boleh menambah sebilangan elemen array yang anda mahukan. Saya hanya menambah tiga elemen, httpd, php, dan vsftpd.

Jalankan pasang_pakej.keladi buku permainan, seperti berikut:

$ ansible-playbook playbooks / install_packages.keladi

Seperti yang anda lihat, pakej perisian httpd, php, dan vsftpd dipasang pada hos CentOS 8 saya.

senarai $ sudo dnf dipasang | grep httpd
$ sudo dnf senarai dipasang | grep php
$ sudo dnf senarai dipasang | grep vsftpd

Kesimpulannya

Artikel ini, menunjukkan kepada anda cara menggunakan dengan_item dan gelung gelung, serta sintaks Array, dengan Orang-orang yang Boleh Dengar yum/dnf modul untuk memasang pelbagai pakej perisian pada hos CentOS / RHEL 7 atau 8 anda.

Untuk maklumat lebih lanjut, periksa dokumentasi rasmi Ansible.

[1] Dokumentasi rasmi gelung Ansible
[2] Dokumentasi rasmi Ansible with_items
[3] Dokumentasi rasmi modul dnf Ansible
[4] Dokumentasi rasmi modul Ansible yum

Buat semula butang tetikus anda secara berbeza untuk perisian yang berbeza dengan X-Mouse Button Control
Mungkin anda memerlukan alat yang dapat mengubah kawalan tetikus anda dengan setiap aplikasi yang anda gunakan. Sekiranya ini berlaku, anda boleh menc...
Kajian Tetikus Tanpa Wayar Microsoft Sculpt Touch
Saya baru-baru ini membaca mengenai Sentuhan Microsoft Sculpt tetikus tanpa wayar dan memutuskan untuk membelinya. Setelah menggunakannya sebentar, sa...
Trackpad dan Mouse Pointer pada skrin Windows AppyMouse untuk Tablet Windows
Pengguna tablet sering kehilangan penunjuk tetikus, terutama ketika mereka biasa menggunakan komputer riba. Telefon pintar dan tablet skrin sentuh dil...