4 Cara Menonaktifkan/Mengunci Pembaruan Paket Tertentu Menggunakan Perintah Yum


Pengelola Paket adalah perangkat lunak yang memungkinkan pengguna melakukan instalasi perangkat lunak baru, peningkatan sistem, atau memperbarui perangkat lunak tertentu dan hal-hal semacamnya. Dalam kasus sistem berbasis Linux dimana satu perangkat lunak memiliki banyak ketergantungan yang harus ada pada sistem untuk instalasi lengkap perangkat lunak tersebut, perangkat lunak seperti manajer paket menjadi alat yang sangat dibutuhkan di setiap sistem.

Setiap Distribusi Linux dikirimkan dengan manajer paket bawaannya untuk fungsi-fungsi yang disebutkan di atas, namun dari semua fungsi yang paling banyak ditemukan adalah: yum pada sistem RHEL dan Fedora (saat ini sedang diganti dengan DNF dari Fedora 22+ dan seterusnya) dan apt dari Debian.

Jika Anda mencari alat APT untuk memblokir atau menonaktifkan pembaruan paket tertentu, maka Anda harus membaca artikel ini.

Dnf atau Danified yum menggantikan yum di sistem Fedora yang merupakan sistem lain dalam daftar kami. Jika dieksplorasi dengan benar, Manajer Paket ini dapat digunakan untuk fungsi berikut:

  1. Menginstal perangkat lunak baru dari repositori.
  2. Selesaikan ketergantungan perangkat lunak dengan menginstal dependensi tersebut sebelum menginstal perangkat lunak.
  3. Memelihara database ketergantungan setiap perangkat lunak.
  4. Turunkan versi perangkat lunak apa pun yang ada.
  5. Meningkatkan versi kernel.
  6. Daftar paket tersedia untuk instalasi.

Kami telah membahas artikel terperinci secara terpisah tentang masing-masing pengelola paket dengan contoh praktis, Anda harus membacanya untuk mengontrol dan mengelola manajemen paket di distribusi Linux Anda masing-masing.

Baca Juga:

  1. Kuasai Perintah Yum dengan 20 Contoh Praktis ini
  2. 27 Perintah DNF untuk Mengelola Paket di Fedora Versi 22+
  3. Pelajari 25 Perintah APT untuk Mengelola Paket Ubuntu

Dalam artikel ini, kita akan melihat cara mengunci/menonaktifkan pembaruan paket tertentu menggunakan manajer paket Yum di sistem RHEL/CentOS dan Fedora (berlaku hingga Fedora 21, versi Fedora yang lebih baru dikirimkan dengan dnf sebagai manajer paket default).

Nonaktifkan/Kunci Pembaruan Paket menggunakan Yum

Pembaru anjing kuning, Dimodifikasi (yum) adalah alat manajemen paket dalam distribusi berbasis RedHat seperti CentOS dan Fedora. Berbagai strategi yang digunakan untuk Mengunci/Menonaktifkan Pembaruan Paket menggunakan Yum dibahas di bawah ini:

1. Nonaktifkan Paket secara Permanen untuk Penginstalan atau Pembaruan

1. Buka dan edit file yum.conf yang terletak di /etc/yum.conf atau di /etc/ yum/yum.conf.

Tampilannya seperti di bawah ini:

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
...

Di sini, untuk mengecualikan paket tertentu dari instalasi atau up-gradasi, Anda hanya perlu menambahkan variabel pengecualian beserta nama paket yang ingin Anda kecualikan. Misalnya, jika saya ingin mengecualikan semua paket python-3 agar tidak diperbarui, maka saya hanya akan menambahkan baris berikut ke yum.conf:

exclude=python-3*

Untuk lebih dari satu paket yang dikecualikan, cukup pisahkan namanya berdasarkan spasi.

exclude=httpd php 
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
exclude=python-3*        [Exclude Single Package]
exclude=httpd php        [Exclude Multiple Packages]
...

Catatan: untuk menyertakan paket ini, abaikan entri di yum.conf, gunakan “-disableexcludes ” dan setel ke semua|main|repoid, dengan 'main' yang dimasukkan di yum.conf dan 'repoid' adalah mereka yang pengecualiannya ditentukan dalam direktori repos.d, seperti yang akan dijelaskan nanti.

Sekarang mari kita coba menginstal atau memperbarui paket yang ditentukan dan melihat perintah yum akan menonaktifkan instalasi atau pembaruannya.

# yum install httpd php

Loaded plugins: fastestmirror, langpacks, versionlock
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: mirror.wanxp.id
 * extras: mirror.nbrc.ac.in
 * updates: mirror.nbrc.ac.in
Nothing to do
# yum update httpd php

Loaded plugins: fastestmirror, langpacks, versionlock
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: mirror.wanxp.id
 * extras: mirror.nbrc.ac.in
 * updates: mirror.nbrc.ac.in
No packages marked for update

2. Nonaktifkan Sementara Paket untuk Instalasi atau Pembaruan

2. Di atas adalah solusi permanen untuk mengecualikan paket karena kecuali file diedit, paket tersebut tidak akan diperbarui. Berikut ini juga solusi sementara untuk ini. Tepat pada saat Anda melakukan pembaruan apa pun, gunakan saklar -x di perintah yum untuk mengecualikan paket yang tidak ingin Anda perbarui, seperti:

yum -x python-3 update

Perintah di atas akan memperbarui semua paket yang pembaruannya tersedia, kecuali python-3 di sistem Anda.

Di sini, untuk mengecualikan beberapa paket, gunakan -x beberapa kali, atau pisahkan nama paket dengan ',' dalam satu saklar.

yum -x httpd -x php update
OR
yum -x httpd,php update

3. Penggunaan tombol --exclude berfungsi sama seperti -x, hanya perlu mengganti -x dengan –kecualikan dan berikan ',' daftar nama paket yang terpisah ke dalamnya.

yum --exclude httpd,php

3. Nonaktifkan Pembaruan Paket menggunakan Repositori

4. Untuk paket apa pun yang diinstal dari sumber eksternal mana pun melalui penambahan repositori, ada cara lain untuk menghentikan peningkatan gradasinya di masa mendatang. Hal ini dapat dilakukan dengan mengedit file .repo yang dibuat di /etc/yum/repos.d/ atau /etc/yum.repos.d< direktori.

Tambahkan opsi pengecualian dengan nama paket di repo. Misalnya: untuk mengecualikan paket apa pun, misalnya wine dari epel repo, tambahkan baris berikut di file epel.repo:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
exclude=wine

Sekarang coba perbarui paket wine, Anda akan mendapatkan error seperti gambar di bawah ini:

# yum update wine

Loaded plugins: fastestmirror, langpacks, versionlock
epel/x86_64/metalink                                    | 5.6 kB     00:00     
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: mirror.wanxp.id
 * extras: mirror.nbrc.ac.in
 * updates: mirror.nbrc.ac.in
No Match for argument: wine
No package wine available.
No packages marked for update

4. Nonaktifkan Pembaruan Paket Menggunakan Opsi versionlock

5. Cara lain di yum untuk menutupi versi paket apa pun sehingga membuatnya tidak tersedia untuk peningkatan gradasi, adalah dengan menggunakan opsi versionlock dari yum, tetapi untuk melakukan ini, Anda paket yum-plugin-versionlock harus diinstal pada sistem.

yum -y install yum-versionlock

Misalnya, untuk mengunci versi paket, ucapkan httpd ke 2.4.6 saja, cukup tulis perintah berikut sebagai root.

yum versionlock add httpd
Contoh Keluaran
Loaded plugins: fastestmirror, langpacks, versionlock
Adding versionlock on: 0:httpd-2.4.6-40.el7.centos
versionlock added: 1

Untuk melihat paket yang dikunci, gunakan perintah berikut untuk mencantumkan paket yang versinya telah dikunci.

yum versionlock list httpd
Contoh Keluaran
Loaded plugins: fastestmirror, langpacks, versionlock
0:httpd-2.4.6-40.el7.centos.*
versionlock list done

Kesimpulan

Ini adalah beberapa tip yang akan membantu Anda Menonaktifkan/Kunci pembaruan Paket menggunakan manajer paket yum. Jika Anda memiliki trik lain untuk melakukan hal yang sama, Anda dapat mengomentarinya bersama kami.