mungkin

Kelola Repositori Paket Ubuntu dan PPA Menggunakan Ansible

Kelola Repositori Paket Ubuntu dan PPA Menggunakan Ansible
Menambah dan menghapus repositori paket dan PPA di Ubuntu pada sistem pribadi Anda bisa menjadi tugas yang sangat sederhana. Namun, jika Anda memiliki banyak mesin Ubuntu, katakanlah, 10 atau lebih, maka secara manual menambahkan dan menghapus repositori paket dan PPA pada setiap sistem satu per satu akan terbukti memakan waktu dan tidak efisien.

Kemungkinan apt_repository modul dapat digunakan untuk menambah dan menghapus repositori paket dan PPA di host Ubuntu Anda dengan mudah. Anda juga dapat memperbarui cache repositori paket APT menggunakan Ansible apt_repository modul.

Artikel ini akan menunjukkan kepada Anda cara mengelola repositori paket Ubuntu dan PPA menggunakan Ansible apt_repository modul. Jadi, mari kita mulai.

Prasyarat

Jika Anda ingin mencoba contoh yang disertakan dalam artikel ini:

1) Anda harus menginstal Ansible di komputer Anda.
2) Anda harus memiliki host Ubuntu 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 artikel ini jika Anda memerlukan informasi tambahan.

Menyiapkan Direktori Proyek

Sebelum kita mulai, ada baiknya untuk membuat struktur direktori proyek, hanya untuk menjaga semuanya sedikit lebih teratur.

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

$ mkdir -pv apt-ppa-repo/playbooks

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

$ cd apt-ppa-repo

Membuat tuan rumah berkas inventaris, sebagai berikut:

$ nano host

Tambahkan IP host atau nama DNS (vm7.simpul.com dan vm8.simpul.com, dalam kasus saya) dari host Ubuntu Anda di file inventaris.

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

Buat file konfigurasi Ansible di direktori proyek, sebagai berikut:

$ nano mungkin.cfg

Ketik baris berikut di mungkin.cfg mengajukan:

[default]
inventaris           = host
host_key_checking   = Salah

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

Pada titik ini, direktori proyek akan terlihat seperti berikut:

$pohon

Seperti yang Anda lihat, host Ansible dapat diakses. Jadi, kita bisa melanjutkan ke bagian selanjutnya dari artikel ini.

$ mungkin semua -u mungkin -m ping

Menambahkan Repositori Paket

Di bagian ini, saya akan menunjukkan cara menambahkan repositori paket di Ubuntu menggunakan Ansible.

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

$ nano buku pedoman/tambahkan_repo.yaml

Ketik baris berikut di add_repo.yaml mengajukan:

- tuan rumah: semua
pengguna: mungkin
menjadi: Benar
tugas:
- nama: Pastikan repositori universe diaktifkan
apt_repository:
repo: deb http://arsip.ubuntu.alam semesta fokus com/ubuntu
negara: sekarang
update_cache: Benar

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

Di sini, repo pilihan dari apt_repository modul digunakan untuk menentukan baris repositori paket APT (dalam kasus saya, deb http://arsip.ubuntu.alam semesta fokus com/ubuntu) dari repositori paket yang ingin Anda tambahkan (dalam kasus saya, Ubuntu 20.04 LTS resmi alam semesta gudang).

Untuk mempelajari lebih lanjut tentang format baris repositori paket APT, baca File Konfigurasi Repositori Paket Ubuntu bagian dari artikel Cara Menggunakan APT Package Manager di Ubuntu 20.04 LTS.

Saat saya menambahkan repositori paket baru di sini, negara aku s menyajikan.

Itu update_cache pilihan bisa juga Benar/Iya atau Salah/tidak.

jika update_cache diatur ke Benar, Kemungkinan akan memperbarui cache repositori paket APT setelah menambahkan repositori paket package.

jika update_cache diatur ke Salah, Kemungkinan tidak akan memperbarui cache repositori paket APT.

Di sini, saya ingin repositori paket APT diperbarui setelah repositori paket baru ditambahkan. Jadi, saya mengatur update_cache untuk Benar.

Sekarang, jalankan add_repo.yaml buku pedoman, sebagai berikut:

$ playbook yang memungkinkan-playbook/add_repo.yaml

Seperti yang Anda lihat, buku pedoman berjalan dengan sukses.

Untuk mengonfirmasi bahwa repositori paket (dalam kasus saya, Ubuntu 20.04 LTS alam semesta repositori) ditambahkan, jalankan perintah berikut:

$ grep --color -R 'http://archive.ubuntu.com' /etc/apt/sources.daftar
/etc/apt/sources.daftar.d/*.daftar

Seperti yang Anda lihat, file baru telah dibuat di /etc/apt/sources.daftar.d/ direktori (1) dan Ubuntu 20.04 LTS alam semesta repositori paket telah ditambahkan (2).

Secara default, Ansible akan secara otomatis menghasilkan a .daftar file di /etc/apt/sources.daftar.d/ direktori, tergantung pada baris repositori APT.

Jika Anda ingin memilih nama file tertentu (mis.e. ubuntu-universe.daftar) untuk repositori Anda, Anda dapat menentukan nama file menggunakan nama file pilihan dari apt_repository modul di Anda add_repo.yaml playbook, seperti yang ditunjukkan pada tangkapan layar di bawah ini.

Sekarang, jalankan add_repo.yaml buku pedoman lagi.

$ playbook yang memungkinkan-playbook/add_repo.yaml

Seperti yang Anda lihat, nama file adalah nama yang sama yang saya tentukan.

$ grep --color -R 'http://archive.ubuntu.com' /etc/apt/sources.daftar
/etc/apt/sources.daftar.d/*.daftar

Menghapus Repositori Paket

Di bagian ini, saya akan menunjukkan cara menghapus repositori paket yang ada dari host Ubuntu Anda menggunakan Ansible.

Buku pedoman untuk menghapus repositori paket hampir sama dengan menambahkan repositori paket. Jadi, Anda cukup menyalin add_repo.yaml file playbook dan modifikasi sedikit. Ini sangat sederhana untuk dilakukan.

Pertama, salin add_repo.yaml mengajukan ke hapus_repo.yaml, sebagai berikut:

$ cp -v buku pedoman/add_repo.yaml playbook/remove_repo.yaml

Mengedit hapus_repo.yaml buku pedoman, sebagai berikut:

$ nano buku pedoman/remove_repo.yaml

Perubahan negara: sekarang untuk keadaan: absen, seperti yang ditandai pada tangkapan layar di bawah ini. Ini akan menjadi satu-satunya perubahan yang perlu Anda lakukan.

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

Jalankan hapus_repo.yaml buku pedoman, sebagai berikut:

$ playbook yang memungkinkan-playbook/remove_repo.yaml

Selanjutnya, jalankan perintah berikut untuk memverifikasi apakah repositori paket yang ingin Anda hapus benar-benar telah dihapus.

$ grep --color -R 'http://archive.ubuntu.com' /etc/apt/sources.daftar
/etc/apt/sources.daftar.d/*.daftar

Seperti yang Anda lihat, Ubuntu 20.04 LTS resmi alam semesta repositori paket yang saya tambahkan sebelumnya telah dihapus.

CATATAN: Abaikan pesan kesalahan. Pesan ini hanya berarti bahwa /etc/apt/sources.daftar.d/ direktori kosong. Jika Anda ingin menghapus pesan kesalahan, cukup tambahkan 2>/dev/null di akhir perintah, sebagai berikut. Kesalahan harus hilang setelah memasukkan perintah ini.

$ grep --color -R 'http://archive.ubuntu.com' /etc/apt/sources.daftar
/etc/apt/sources.daftar.d/*.daftar 2>/dev/null

Menambahkan PPA

Di bagian ini, saya akan menunjukkan cara menambahkan PPA di host Ubuntu Anda menggunakan Ansible.

saya akan menambahkan osomon/nodejs-10.19-fokal simpul.js 10.19 PPA untuk Ubuntu 20.04 LTS dalam contoh saya.

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

$ nano buku pedoman/tambahkan_ppa.yaml

Tambahkan baris berikut di Anda tambahkan_ppa.yaml buku pedoman:

- tuan rumah: semua
pengguna: mungkin
menjadi: Benar
tugas:
- nama: Tambahkan Node.js 10.19 PPA
apt_repository:
repo: ppa:osomon/nodejs-10.19-fokal
negara: sekarang
update_cache: Benar
validasi_certs: Salah

Setelah selesai, simpan tambahkan_ppa.yaml buku pedoman dengan menekan + X, diikuti oleh kamu dan .

Di sini, repo pilihan dari apt_repository modul digunakan untuk menambahkan PPA osomon/nodejs-10.19-fokus (1).

Pastikan untuk menambahkan ayah: sebelum nama PPA, i.e. ppa:osomon/nodejs-10.19-fokal.

Sebagian besar PPA menggunakan sertifikat yang ditandatangani sendiri, jadi Ansible tidak dapat memverifikasinya untuk Anda, dan mereka mungkin salah saat Anda menjalankan buku pedoman.

Anda dapat mengatur validasi_certs untuk Salah untuk melewati validasi sertifikat untuk PPA yang Anda tambahkan (2). Inilah yang telah saya lakukan dalam contoh di artikel ini.

CATATAN: Anda juga dapat mengatur validasi_certs untuk Salah untuk melewati validasi sertifikasi saat menambahkan repositori paket pihak ketiga.

Jalankan tambahkan_ppa.yaml buku pedoman, sebagai berikut:

$ playbook yang memungkinkan-playbook/add_ppa.yaml

Seperti yang Anda lihat, yang baru .daftar berkas untuk PPA osomon/nodejs-10.19-fokal telah dibuat di /etc/apt/sources.daftar.d/ direktori (1).

Dengan melihat isi dari ppa_osomon_nodejs_10_19_focal_focal.daftar file, saya dapat mengkonfirmasi bahwa PPA telah ditambahkan (2).

$pohon /etc/apt/sources.daftar.d/
$ cat /etc/apt/sources.daftar.d/ppa_osomon_nodejs_10_19_focal_xenial.daftar

Menghapus PPA

Anda dapat menghapus PPA dengan cara yang sama seperti kami menghapus repositori paket di bagian awal artikel ini.

Cukup salin app_ppa.yaml buku pedoman untuk hapus_ppa.yaml, sebagai berikut:

$ cp -v buku pedoman/add_repo.yaml playbook/remove_repo.yaml

Sekarang, buka hapus_ppa.yaml buku pedoman, sebagai berikut:

$ nano buku pedoman/hapus_ppa.yaml

Selanjutnya, ubah baris negara: sekarang untuk keadaan: absen, seperti yang ditandai pada tangkapan layar di bawah ini.

Setelah selesai, simpan hapus_ppa.yaml buku pedoman dengan menekan + X, diikuti oleh kamu dan .

Jalankan hapus_ppa.yaml buku pedoman, sebagai berikut:

$ playbook yang memungkinkan-playbook/add_ppa.yaml

Seperti yang Anda lihat, ppa_osomon_nodejs_10_19_focal_focal.daftar file untuk osomon/nodejs-10.19-fokal PPA tidak lagi tersedia di /etc/apt/sources.daftar.d/ direktori. Jadi, PPA osomon/nodejs-10.19-fokal telah dihapus.

$pohon /etc/apt/sources.daftar.d/

Mengubah Nama Kode PPA

Terkadang, PPA yang Anda coba tambahkan di host Ubuntu Anda tidak mendukung versi Ubuntu yang Anda jalankan. Dalam hal ini, Anda harus menentukan nama kode versi Ubuntu secara manual saat menambahkan PPA.

Misalkan Anda menjalankan Ubuntu 20.04 dengan nama kode fokus dan Anda mencoba menambahkan PPA xyz, tapi PPA xyz hanya mendukung Ubuntu 16.Nama kode 04 LTS xenial. Jika Anda mencoba menambahkan PPA xyz, anda akan mendapatkan kesalahan, karena PPA tidak memiliki paket apa pun untuk Ubuntu 20.04 nama kode fokus. Tetapi, jika Anda menentukan Ubuntu 16.Nama kode 04 LTS xenial saat menambahkan PPA, Anda tidak akan menerima kesalahan apa pun. Anda mungkin dapat menginstal paket yang Anda inginkan dari PPA dengan cara ini, meskipun tidak mendukung versi eksplisit Ubuntu yang sedang Anda jalankan.

Mari kita lihat contohnya.

Pertama, salin tambahkan_ppa.yaml file buku pedoman ke ubah_ppa_codename.yaml, sebagai berikut:

$ cp -v buku pedoman/add_ppa.yaml playbooks/change_ppa_codename.yaml

Selanjutnya, buka ubah_ppa_codename.yaml berkas, sebagai berikut:

$ nano playbooks/change_ppa_codename.yaml

Di sini, yang harus Anda lakukan adalah menambahkan nama kode opsi dengan nama kode Ubuntu yang Anda inginkan (i.e. nama kode: xenial), seperti yang ditandai pada tangkapan layar di bawah ini.

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

Jalankan ubah_ppa_codename.yaml buku pedoman, sebagai berikut:

$ buku pedoman playbook yang memungkinkan/change_ppa_codename.yaml

CATATAN: Saya mendapatkan kesalahan karena PPA yang saya tambahkan di sini hanya mendukung Ubuntu 20.04 LTS. Anda bisa mengabaikan pesan ini.

Seperti yang Anda lihat, PPA telah ditambahkan dan nama kode Ubuntu xenial ada di baris repositori paket APT.

Kesimpulan

Artikel ini menunjukkan kepada Anda cara mengelola (menambah/menghapus) repositori paket Ubuntu dan PPA menggunakan Ansible.

Kemungkinan apt_repository modul digunakan untuk mengelola repositori paket Ubuntu dan PPA. Artikel ini menjelaskan semua opsi penting dari apt_repository modul Ansible.

Untuk informasi lebih lanjut, periksa halaman dokumentasi Ansible resmi apt_repository.

Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...
Game Remaster HD untuk Linux yang Belum Pernah Rilis Linux Sebelumnya
Banyak pengembang dan penerbit game datang dengan remaster HD dari game lama untuk memperpanjang umur waralaba, harap penggemar meminta kompatibilitas...
Cara Menggunakan AutoKey untuk Mengotomatiskan Game Linux
AutoKey adalah utilitas otomatisasi desktop untuk Linux dan X11, diprogram dengan Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsionalitas MA...