Cara Memasang dan Menggunakan 'yum-utils' untuk Mempertahankan Yum dan Meningkatkan Kinerjanya


Meskipun Fedora mulai mengadopsi dnf sebagai manajer paket baru dan pustaka manajemen paket default, hal ini tidak akan menggantikan manajer paket yum lama yang baik di distribusi spin-off lainnya (seperti Red Hat Enterprise Linux (RHEL) dan CentOS) hingga terbukti dapat diandalkan seperti yum dan lebih solid (menurut Fedora Project wiki, mulai tanggal 15 November, 2015, dnf masih dalam kondisi dapat diuji). Oleh karena itu, keterampilan manajemen yum Anda akan bermanfaat bagi Anda untuk jangka waktu yang cukup lama.

Oleh karena itu, dalam panduan ini kami akan memperkenalkan Anda pada yum-utils, kumpulan utilitas yang terintegrasi dengan yum untuk memperluas fitur aslinya dalam beberapa cara, sehingga membuatnya lebih kuat dan lebih mudah digunakan.

Menginstal yum-utils di RHEL/CentOS

Yum-utils disertakan dalam repo dasar (yang diaktifkan secara default) sehingga menginstalnya di distribusi berbasis Fedora semudah melakukan:

yum update && yum install yum-utils

Semua utilitas yang disediakan oleh yum-utils diinstal secara otomatis dengan paket utama, yang akan kami jelaskan di bagian berikutnya.

Jelajahi Utilitas yang Disediakan oleh Paket yum-utils

Alat yang disediakan oleh yum-utils tercantum di halaman manualnya:

man yum-utils

Berikut adalah 10 utilitas yum yang kami pikir akan Anda minati:

1. Debug Paket

debuginfo-install menginstal paket debuginfo (dan dependensinya) yang diperlukan untuk men-debug jika terjadi kerusakan atau sambil mengembangkan aplikasi yang menggunakan paket tertentu.

Untuk men-debug suatu paket (atau executable lainnya), kita juga perlu menginstal gdb (debugger GNU) dan menggunakannya untuk memulai program dalam mode debugging.

Misalnya:

gdb $(which postfix)

Perintah di atas akan memulai gdb shell di mana kita bisa mengetikkan tindakan yang akan dieksekusi. Misalnya, run (seperti yang ditunjukkan pada gambar di bawah) akan memulai program, sedangkan bt (tidak ditampilkan) akan menampilkan pelacakan tumpukan (juga dikenal sebagai backtrace ) dari program, yang akan memberikan daftar pemanggilan fungsi yang mengarah ke titik tertentu dalam eksekusi program (dengan menggunakan informasi ini, pengembang dan administrator sistem dapat mengetahui apa yang salah jika terjadi kerusakan).

Tindakan lain yang tersedia dan hasil yang diharapkan tercantum di man gdb.

2. Temukan Repositori Paket yang Terinstal

Perintah berikut menunjukkan dari repositori mana paket yang diinstal saat ini diinstal:

find-repos-of-install httpd postfix dovecot

Jika dijalankan tanpa argumen, find-repos-of-install akan mengembalikan seluruh daftar paket yang diinstal saat ini.

3. Hapus Paket Duplikat atau Yatim Piatu

pembersihan paket mengelola pembersihan paket, duplikat, paket tanpa induk (program yang diinstal dari sumber selain dari repositori yang dikonfigurasi saat ini) dan inkonsistensi ketergantungan lainnya, termasuk menghapus kernel lama seperti yang ditunjukkan dalam contoh berikut:

package-cleanup --orphans
package-cleanup --oldkernels

Anda tidak perlu khawatir perintah terakhir akan merusak kernel Anda. Ini hanya akan mempengaruhi paket kernel lama (versi yang lebih lama dari yang sedang berjalan) yang tidak diperlukan lagi.

4. Cari Tahu Daftar Ketergantungan Paket

repo-graph mengembalikan daftar ketergantungan paket lengkap dalam format dot untuk semua paket yang tersedia dari repositori yang dikonfigurasi. Alternatifnya, repo-graph bisa mengembalikan informasi yang sama berdasarkan repositori jika digunakan dengan opsi --repoid=.

Sebagai contoh, mari kita lihat dependensi untuk setiap paket di repositori pembaruan:

repo-graph --repoid=updates | less

Pada perintah di atas, kami mengirimkan keluaran repo-graph ke less untuk memudahkan visualisasi, namun Anda juga dapat mengalihkannya ke file lokal untuk diperiksa nanti:

repo-graph --repoid=updates > updates-dependencies.txt

Dalam kedua kasus tersebut, kita dapat melihat bahwa paket iputils bergantung pada systemd dan openssl-libs.

5. Periksa Daftar Ketergantungan yang Belum Terselesaikan

repoclosure membaca metadata repositori yang dikonfigurasi, memeriksa dependensi paket yang disertakan di dalamnya dan menampilkan daftar dependensi yang belum terselesaikan untuk setiap paket:

repoclosure

6. Cara Mengecek Paket Terbaru atau Terlama di Direktori

repomanage menanyakan direktori dengan paket rpm dan mengembalikan daftar paket terbaru atau terlama dalam direktori. Alat ini berguna jika Anda memiliki direktori tempat Anda menyimpan beberapa paket .rpm dari program yang berbeda.

Ketika dijalankan tanpa argumen, repomanage akan mengembalikan paket terbaru. Jika dijalankan dengan flag --old, paket terlama akan dikembalikan:

ls -l
cd rpms
ls -l rpms
repomanage rpms

Harap dicatat bahwa mengubah nama paket rpm TIDAK akan mempengaruhi cara kerja repomanage.

7. Kueri Repositori Yum untuk Mendapatkan Informasi tentang Paket

repoquery menanyakan repositori yum dan mendapatkan informasi tambahan tentang paket, apakah paket tersebut diinstal atau tidak (dependensi, file yang disertakan dalam paket, dan banyak lagi).

Misalnya, htop (Linux Process Monitoring ) saat ini tidak diinstal pada sistem ini, seperti yang Anda lihat di bawah:

which htop
rpm -qa | grep htop

Sekarang misalkan kita ingin membuat daftar dependensi htop, bersama dengan file yang disertakan dalam instalasi default. Untuk melakukannya, jalankan dua perintah berikut, masing-masing:

repoquery --requires htop
repoquery --list htop

8. Buang Semua Paket RPM yang Terinstal ke dalam File Zip

yum-debug-dump memungkinkan Anda membuang daftar lengkap semua paket yang telah Anda instal, semua paket yang tersedia di repositori apa pun, konfigurasi penting, dan informasi sistem ke dalam file zip.

Ini bisa berguna jika Anda ingin men-debug masalah yang terjadi. Demi kenyamanan kami, yum-debug-dump memberi nama file tersebut sebagai yum_debug_dump--, yang memungkinkan kami melacak perubahan dari waktu ke waktu .

yum-debug-dump

Seperti halnya file teks terkompresi lainnya, kita dapat melihat isinya menggunakan perintah zless:

zless yum_debug_dump-mail.linuxnewz.com-2015-11-27_08:34:01.txt.gz

Jika Anda perlu memulihkan informasi konfigurasi yang disediakan oleh yum-debug-dump, Anda dapat menggunakan yum-debug-restore untuk melakukannya:

yum-debug-restore yum_debug_dump-mail.linuxnewz.com-2015-11-27_08:34:01.txt.gz

9. Mengunduh RPM Sumber dari Yum Repositories

yumdownloader mengunduh file RPM sumber dari repositori, termasuk dependensinya. Berguna untuk membuat repositori jaringan untuk diakses dari mesin lain dengan akses Internet terbatas.

Yumdownloader memungkinkan Anda tidak hanya mengunduh RPM biner tetapi juga RPM sumber (jika digunakan dengan opsi --source).

Sebagai contoh, mari kita buat sebuah direktori bernama htop-files di mana kita akan menyimpan RPM yang diperlukan untuk menginstal program menggunakan rpm. Untuk melakukannya, kita perlu menggunakan saklar --resolve bersama dengan yumdownloader:

mkdir htop-files
cd htop-files
yumdownloader --resolve htop
rpm -Uvh 

10. Sinkronkan Repositori Yum Jarak Jauh ke Direktori Lokal

reposync terkait erat dengan yumdownloader (sebenarnya, keduanya mendukung opsi yang hampir sama) namun menawarkan keuntungan yang cukup besar. Alih-alih mengunduh file RPM biner atau sumber, ini menyinkronkan repositori jarak jauh ke direktori lokal.

Mari sinkronkan repositori EPEL yang terkenal ke subdirektori bernama epel-local di dalam direktori kerja saat ini:

man reposync
mkdir epel-local
reposync --repoid=epel --download_path=epel-local

Perhatikan bahwa proses ini akan memakan waktu cukup lama karena sedang mengunduh paket 8867:

Setelah sinkronisasi selesai, mari kita periksa jumlah ruang disk yang digunakan oleh cermin repositori EPEL yang baru kita buat menggunakan perintah du:

du -sch epel-local/*

Sekarang terserah Anda apakah Anda ingin menyimpan mirror EPEL ini atau menggunakannya untuk menginstal paket daripada menggunakan yang jarak jauh. Dalam kasus pertama, harap diingat bahwa Anda perlu memodifikasi /etc/yum.repos.d/epel.repo sebagaimana mestinya.

11. Perbaiki Transaksi Yum yang Belum Selesai atau Dibatalkan

yum-complete-transaction adalah bagian dari program yum-utils yang menangkap transaksi yum yang belum selesai atau dibatalkan pada sistem dan mencoba menyelesaikannya.

Misalnya, saat kami memperbarui server Linux melalui manajer paket yum terkadang muncul pesan peringatan yang berbunyi sebagai berikut:

Masih ada sisa transaksi yang belum selesai. Anda mungkin mempertimbangkan untuk menjalankan yum-complete-transaction terlebih dahulu untuk menyelesaikannya.

Untuk memperbaiki pesan peringatan tersebut dan mengatasi masalah tersebut, perintah yum-complete-transaction muncul untuk menyelesaikan transaksi yang belum selesai, ia menemukan transaksi yum yang tidak lengkap atau dibatalkan di transaction-all* file dan transaksi selesai* yang dapat ditemukan di direktori /var/lib/yum.

Jalankan perintah yum-complete-transaction untuk menyelesaikan transaksi yum yang belum selesai:


yum-complete-transaction --cleanup-only

Sekarang perintah yum akan dijalankan tanpa peringatan transaksi tidak lengkap.


yum update

Catatan: Tip ini disarankan oleh salah satu pembaca tetap kami Tn. Tomas di bagian komentar di sini.

Ringkasan

Dalam artikel ini kami telah membahas beberapa utilitas paling berguna yang disediakan melalui yum-utils. Untuk daftar lengkapnya, Anda dapat merujuk ke halaman manual (man yum-utils).

Selain itu, masing-masing alat ini memiliki halaman manual terpisah (lihat man reposync, misalnya), yang merupakan sumber dokumentasi utama yang harus Anda rujuk jika ingin mempelajari lebih lanjut tentang alat tersebut.

Jika Anda meluangkan waktu sebentar untuk memeriksa halaman manual yum-utils, mungkin Anda akan menemukan alat lain yang Anda ingin kami bahas lebih mendalam di artikel terpisah. Jika ya, atau jika Anda memiliki pertanyaan, komentar, atau saran mengenai artikel ini, silakan beri tahu kami yang mana dengan mengirimkan catatan kepada kami menggunakan formulir komentar di bawah.