Tidak boleh difahami

Urus Repositori Pakej Ubuntu dan PPA Menggunakan Ansible

Urus Repositori Pakej Ubuntu dan PPA Menggunakan Ansible
Menambah dan membuang repositori pakej dan PPA di Ubuntu pada sistem peribadi anda boleh menjadi tugas yang sangat mudah. Namun, jika anda mempunyai banyak mesin Ubuntu, katakanlah, 10 atau lebih, maka secara manual menambahkan dan mengeluarkan repositori pakej dan PPA pada setiap sistem satu demi satu akan membuktikan memakan masa dan tidak cekap.

Orang-orang yang boleh dipercayai apt_repository modul boleh digunakan untuk menambah dan membuang repositori pakej dan PPA pada hos Ubuntu anda dengan mudah. Anda juga boleh mengemas kini cache repositori pakej APT menggunakan Ansible apt_repository modul.

Artikel ini akan menunjukkan kepada anda cara menguruskan repositori pakej Ubuntu dan PPA menggunakan Ansible apt_repository modul. Oleh itu, mari kita mulakan.

Prasyarat

Sekiranya anda ingin mencuba contoh yang disertakan dalam artikel ini:

1) Anda mesti memasang Ansible di komputer anda.
2) Anda mesti mempunyai hos Ubuntu yang dikonfigurasi untuk automasi Ansible.

Terdapat banyak artikel mengenai LinuxHint yang dikhaskan untuk Memasang Ansible dan mengkonfigurasi host untuk automasi Ansible. Anda boleh menyemak artikel ini sekiranya anda memerlukan maklumat tambahan.

Menyiapkan Direktori Projek

Sebelum kita memulakan, adalah idea yang baik untuk membuat struktur direktori projek, hanya untuk memastikan keadaan lebih teratur.

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

$ mkdir -pv apt-ppa-repo / buku main

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

$ cd apt-ppa-repo

Buat a tuan rumah fail inventori, seperti berikut:

hos $ nano

Tambahkan nama IP atau DNS host (vm7.angguk.com dan vm8.angguk.com, dalam kes saya) hos Ubuntu anda dalam fail inventori.

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

Buat fail konfigurasi Ansible dalam direktori projek, seperti berikut:

$ nano tidak boleh dimakan.cfg

Taipkan baris berikut di tidak boleh dimakan.cfg fail:

[lalai]
inventori = tuan rumah
host_key_checking = Salah

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

Pada ketika ini, direktori projek akan kelihatan seperti berikut:

pokok $

Seperti yang anda lihat, hos Ansible boleh diakses. Oleh itu, kita boleh beralih ke bahagian seterusnya dari artikel ini.

$ ansible all -u ansible -m ping

Menambah Repositori Pakej

Di bahagian ini, saya akan menunjukkan kepada anda cara menambahkan repositori pakej di Ubuntu menggunakan Ansible.

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

Buku main $ nano / add_repo.keladi

Taipkan baris berikut di tambah_repo.keladi fail:

- tuan rumah: semua
pengguna: tidak boleh dimakan
menjadi: Benar
tugas:
- name: Pastikan repositori semesta diaktifkan
apt_repository:
repo: deb http: // arkib.ubuntu.com / ubuntu fokus alam semesta
nyatakan: sekarang
update_cache: Betul

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

Di sini, repo pilihan untuk apt_repository modul digunakan untuk menentukan garis repositori pakej APT (dalam kes saya, deb http: // arkib.ubuntu.com / ubuntu fokus alam semestarepositori pakej yang ingin anda tambahkan (dalam kes saya, Ubuntu 20.04 LTS rasmi Alam semesta repositori).

Untuk mengetahui lebih lanjut mengenai format baris repositori pakej APT, baca Fail Konfigurasi Repositori Pakej Ubuntu bahagian artikel Cara Menggunakan Pengurus Pakej APT di Ubuntu 20.04 LTS.

Semasa saya menambah repositori pakej baru di sini, negeri adalah hadir.

The kemas kini_cache pilihan sama ada boleh Betul/iya atau Salah/tidak.

Sekiranya kemas kini_cache ditetapkan ke Betul, Ansible akan mengemas kini cache repositori pakej APT setelah menambahkan repositori pakej.

Sekiranya kemas kini_cache ditetapkan ke Salah, Ansible tidak akan mengemas kini cache repositori pakej APT.

Di sini, saya mahu repositori pakej APT dikemas kini sebaik sahaja repositori pakej baru ditambahkan. Jadi, saya menetapkan kemas kini_cache ke Betul.

Sekarang, jalankan tambah_repo.keladi buku permainan, seperti berikut:

$ ansible-playbook playbooks / add_repo.keladi

Seperti yang anda lihat, buku main berjaya dijalankan.

Untuk mengesahkan bahawa repositori pakej (dalam kes saya, Ubuntu 20.04 LTS Alam semesta repositori) ditambahkan, jalankan arahan berikut:

$ grep --color -R 'http: // arkib.ubuntu.com '/ etc / apt / sumber.senarai
/ etc / apt / sumber.senarai.d / *.senarai

Seperti yang anda lihat, fail baru telah dibuat di / etc / apt / sumber.senarai.d / direktori (1) dan Ubuntu 20.04 LTS Alam semesta repositori pakej telah ditambah (2).

Secara lalai, Ansible akan menghasilkan a .senarai fail di / etc / apt / sumber.senarai.d / direktori, bergantung pada baris repositori APT.

Sekiranya anda ingin memilih nama fail tertentu (i.e. ubuntu-semesta.senarai) untuk repositori anda, anda boleh menentukan nama fail menggunakan nama fail pilihan untuk apt_repository modul di anda tambah_repo.keladi buku permainan, seperti yang ditunjukkan dalam tangkapan skrin di bawah.

Sekarang, jalankan tambah_repo.keladi buku main lagi.

$ ansible-playbook playbook / add_repo.keladi

Seperti yang anda lihat, nama fail adalah nama yang sama dengan yang saya nyatakan.

$ grep --color -R 'http: // arkib.ubuntu.com '/ etc / apt / sumber.senarai
/ etc / apt / sumber.senarai.d / *.senarai

Membuang Repositori Pakej

Di bahagian ini, saya akan menunjukkan kepada anda cara membuang repositori pakej yang ada dari hos Ubuntu anda menggunakan Ansible.

Buku panduan untuk membuang repositori pakej hampir sama dengan menambahkan repositori pakej. Jadi, anda boleh menyalinnya tambah_repo.keladi fail buku main dan ubah sedikit. Ini sangat mudah dilakukan.

Pertama, salin tambah_repo.keladi failkan ke buang_repo.keladi, seperti berikut:

Buku main $ cp -v / add_repo.buku permainan yaml / remove_repo.keladi

Edit buang_repo.keladi buku permainan, seperti berikut:

Buku main $ nano / remove_repo.keladi

Ubah nyatakan: sekarang ke nyatakan: tidak hadir, seperti yang ditandakan pada tangkapan skrin di bawah. Inilah satu-satunya perubahan yang perlu anda buat.

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

Jalankan buang_repo.keladi buku permainan, seperti berikut:

$ ansible-playbook playbooks / remove_repo.keladi

Seterusnya, jalankan arahan berikut untuk mengesahkan sama ada repositori pakej yang ingin anda hapus sebenarnya telah dikeluarkan.

$ grep --color -R 'http: // arkib.ubuntu.com '/ etc / apt / sumber.senarai
/ etc / apt / sumber.senarai.d / *.senarai

Seperti yang anda lihat, Ubuntu 20.04 LTS rasmi Alam semesta repositori pakej yang saya tambah sebelumnya telah dikeluarkan.

NOTA: Abaikan mesej ralat. Mesej ini bermaksud bahawa / etc / apt / sumber.senarai.d / direktori kosong. Sekiranya anda ingin membuang mesej ralat, tambah a 2> / dev / null pada akhir arahan, seperti berikut. Kesalahan harus dihapus setelah menjalankan perintah ini.

$ grep --color -R 'http: // arkib.ubuntu.com '/ etc / apt / sumber.senarai
/ etc / apt / sumber.senarai.d / *.senarai 2> / dev / null

Menambah PPA

Di bahagian ini, saya akan menunjukkan kepada anda cara menambahkan PPA pada hos Ubuntu anda menggunakan Ansible.

Saya akan menambah osomon / nodejs-10.19-fokus Node.js 10.19 PPA untuk Ubuntu 20.04 LTS dalam contoh saya.

Pertama, buat buku permainan baru tambah_ppa.keladi, seperti berikut:

Buku main $ nano / add_ppa.keladi

Tambahkan baris berikut di tambah_ppa.keladi buku permainan:

- tuan rumah: semua
pengguna: tidak boleh dimakan
menjadi: Benar
tugas:
- nama: Tambah Node.js 10.19 PPA
apt_repository:
repo: ppa: osomon / nodejs-10.19-fokus
nyatakan: sekarang
update_cache: Betul
validate_certs: Salah

Setelah selesai, simpan tambah_ppa.keladi buku main dengan menekan + X, diikuti oleh Y dan .

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

Pastikan anda menambah ppa: sebelum nama PPA, i.e. ppa: osomon / nodejs-10.19-fokus.

Sebilangan besar PPA menggunakan sijil yang ditandatangani sendiri, jadi Ansible tidak dapat mengesahkannya untuk anda, dan mereka mungkin salah semasa anda menjalankan buku main.

Anda boleh menetapkan mengesahkan_certs ke Salah untuk melangkau pengesahan sijil untuk PPA yang anda tambahkan (2). Inilah yang telah saya lakukan dalam contoh dalam artikel ini.

NOTA: Anda juga boleh menetapkan mengesahkan_certs ke Salah untuk melangkau pengesahan pensijilan semasa menambahkan repositori pakej pihak ketiga.

Jalankan tambah_ppa.keladi buku permainan, seperti berikut:

$ ansible-playbook buku main / add_ppa.keladi

Seperti yang anda lihat, baru .senarai fail untuk PPA osomon / nodejs-10.19-fokus telah dibuat di / etc / apt / sumber.senarai.d / direktori (1).

Dengan melihat isi kandungan ppa_osomon_nodejs_10_19_focal_focal.senarai fail, saya dapat mengesahkan bahawa PPA telah ditambahkan (2).

$ pokok / etc / apt / sumber.senarai.d /
$ cat / etc / apt / sumber.senarai.d / ppa_osomon_nodejs_10_19_focal_xenial.senarai

Mengeluarkan PPA

Anda boleh membuang PPA dengan cara yang sama seperti yang kami hapus repositori pakej di bahagian awal artikel ini.

Salin sahaja app_ppa.keladi buku permainan ke buang_ppa.keladi, seperti berikut:

Buku main $ cp -v / add_repo.buku permainan yaml / remove_repo.keladi

Sekarang, buka buang_ppa.keladi buku permainan, seperti berikut:

Buku main $ nano / remove_ppa.keladi

Seterusnya, ubah garis nyatakan: sekarang ke nyatakan: tidak hadir, seperti yang ditandakan pada tangkapan skrin di bawah.

Setelah selesai, simpan buang_ppa.keladi buku main dengan menekan + X, diikuti oleh Y dan .

Jalankan buang_ppa.keladi buku permainan, seperti berikut:

$ ansible-playbook buku main / add_ppa.keladi

Seperti yang anda lihat, ppa_osomon_nodejs_10_19_focal_focal.senarai fail untuk osomon / nodejs-10.19-fokus PPA tidak lagi tersedia di / etc / apt / sumber.senarai.d / direktori. Jadi, PPA osomon / nodejs-10.19-fokus telah dikeluarkan.

$ pokok / etc / apt / sumber.senarai.d /

Menukar Nama Kad PPA

Kadang-kadang, PPA yang anda cuba tambahkan pada hos Ubuntu anda tidak menyokong versi Ubuntu yang anda jalankan. Sekiranya demikian, anda perlu menentukan nama kod versi Ubuntu secara manual semasa menambahkan PPA.

Katakan anda menjalankan Ubuntu 20.04 dengan nama kod fokus dan anda cuba menambahkan PPA xyz, tetapi PPA xyz hanya menyokong Ubuntu 16.04 nama kod LTS xenial. Sekiranya anda cuba menambahkan PPA xyz, anda akan mendapat ralat, kerana PPA tidak mempunyai pakej untuk Ubuntu 20.04 nama kod fokus. Tetapi, jika anda menentukan Ubuntu 16.04 nama kod LTS xenial semasa menambah PPA, anda tidak akan menerima sebarang kesalahan. Anda mungkin dapat memasang pakej yang anda inginkan dari PPA dengan cara ini, walaupun tidak menyokong versi eksplisit Ubuntu yang sedang anda jalankan.

Mari lihat contoh.

Pertama, salin tambah_ppa.keladi fail buku main ke tukar_ppa_kodenama.keladi, seperti berikut:

Buku main $ cp -v / add_ppa.buku permainan yaml / change_ppa_codename.keladi

Seterusnya, buka tukar_ppa_kodenama.keladi fail, seperti berikut:

Buku permainan $ nano / change_ppa_codename.keladi

Di sini, yang mesti anda buat ialah menambahkan nama kod pilihan dengan nama kod Ubuntu yang anda mahukan (i.e. nama kod: xenial), seperti yang ditunjukkan dalam tangkapan skrin di bawah.

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

Jalankan tukar_ppa_kodenama.keladi buku permainan, seperti berikut:

$ ansible-playbook playbooks / change_ppa_codename.keladi

NOTA: Saya mendapat ralat kerana PPA yang saya tambahkan di sini hanya menyokong Ubuntu 20.04 LTS. Anda boleh mengabaikan mesej ini.

Seperti yang anda lihat, PPA telah ditambahkan dan nama kod Ubuntu xenial berada di barisan repositori pakej APT.

Kesimpulannya

Artikel ini menunjukkan kepada anda cara mengurus (menambah / membuang) repositori pakej Ubuntu dan PPA menggunakan Ansible.

Orang-orang yang boleh dipercayai apt_repository modul digunakan untuk menguruskan repositori pakej Ubuntu dan PPA. Artikel ini menjelaskan semua pilihan penting dari apt_repository modul Ansible.

Untuk maklumat lebih lanjut, periksa halaman dokumentasi Ansible rasmi apt_repository.

HD Remastered Games untuk Linux yang Tidak Pernah Melancarkan Linux Sebelumnya
Banyak pembangun dan penerbit permainan hadir dengan penghapus HD permainan lama untuk memperpanjang usia francais, harap peminat meminta keserasian d...
Cara Menggunakan AutoKey untuk Mengautomasikan Permainan Linux
AutoKey adalah utiliti automasi desktop untuk Linux dan X11, yang diprogramkan dalam Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsi MACRO, ...
Cara Menunjukkan Kaunter FPS dalam Permainan Linux
Permainan Linux mendapat dorongan utama ketika Valve mengumumkan sokongan Linux untuk klien Steam dan permainan mereka pada tahun 2012. Sejak itu, ban...