GNU/Linux >> Belajar Linux >  >> Linux

10 Contoh Pengecualian Yum untuk Melewati Paket untuk Pembaruan Yum Linux (Cara Yum Mengecualikan Pembaruan Kernel)

Saat Anda melakukan pembaruan yum, itu akan mengunduh versi terbaru dari semua paket yang diinstal pada sistem Anda, dan tingkatkan ke versi terbaru.

Anda mungkin berada dalam situasi di mana Anda mungkin tidak ingin yum memperbarui satu (atau lebih) paket tertentu secara otomatis.

Dalam situasi tersebut, gunakan opsi pengecualian yum seperti yang ditunjukkan pada contoh di bawah ini.

1. Kecualikan Paket Tunggal menggunakan opsi -x

Misalnya, pada sistem ini, kami menggunakan PHP 5.1, dan aplikasi php khusus yang berjalan pada sistem ini belum diuji dengan versi PHP baru lainnya.

# rpm -q php
php-5.1.0-27.el6_5.x86_64

Jadi, dalam hal ini ketika kami melakukan pembaruan, kami hanya ingin mengecualikan satu paket tertentu, yaitu php. Seperti yang kita lihat di bawah, berikut ini menunjukkan bahwa paket php akan diperbarui ke ver 5.3.3 ketika kita menjalankan perintah 'yum update'.

# yum check-update php
php.x86_64    5.3.3-40.el6_6      updates

Berikut ini akan mengecualikan hanya satu paket (php) selama pembaruan yum.

# yum -x php update

2. Kecualikan Beberapa Paket menggunakan opsi -x

Anda dapat mengecualikan beberapa paket dengan menentukan beberapa opsi -x seperti yang ditunjukkan di bawah ini:

yum -x php -x httpd update

Anda juga dapat mengecualikan lebih dari satu paket dengan menentukan daftar paket yang dipisahkan dengan koma. Berikut ini akan berperilaku persis sama seperti di atas.

yum -x php,httpd update

3. Kecualikan Beberapa Paket (misalnya paket Kernel) menggunakan Wildcard

Dalam kebanyakan situasi, Anda mungkin tidak ingin yum update mengupgrade kernel secara otomatis.

Sebelum Anda melakukan pembaruan yum yang sebenarnya, Anda dapat melakukan pembaruan pemeriksaan yum, yang akan menampilkan semua paket yang akan ditingkatkan selama pembaruan yum.

Seperti yang Anda lihat di bawah, dalam contoh ini, ada tiga paket terkait kernel yang akan diupgrade oleh yum update.

# yum check-update | grep -i kernel
kernel.x86_64            2.6.32-504.1.3.el6  updates
kernel-firmware.noarch   2.6.32-504.1.3.el6  updates
kernel-headers.x86_64    2.6.32-504.1.3.el6  updates

Alih-alih menentukan semua nama paket individual dalam daftar pengecualian -x, kita cukup menggunakan wildcard shell glob seperti yang ditunjukkan di bawah ini. Berikut ini akan mengecualikan semua bentuk paket terkait kernel yang mulai ditingkatkan selama pembaruan yum.

yum -x kernel* update

4. Beberapa Daftar Wildcard di Opsi -x

Anda juga dapat menentukan beberapa daftar karakter pengganti dalam opsi -x.

Seperti yang Anda lihat di bawah, berikut ini menunjukkan bahwa ada beberapa paket php yang akan ditingkatkan selama pembaruan yum berikutnya.

# yum check-update | grep -i php
php.x86_64         5.3.3-40.el6_6   updates
php-cli.x86_64     5.3.3-40.el6_6   updates
php-common.x86_64  5.3.3-40.el6_6   updates
php-xml.x86_64     5.3.3-40.el6_6   updates

Jika Anda ingin mengecualikan semua paket terkait php dan kernel selama pembaruan yum berikutnya, Anda dapat menggunakan yang berikut ini. Harap dicatat bahwa Anda harus menggunakan ' ' dalam contoh ini.

yum -x 'php*' -x 'kernel*' update

5. Menggunakan –exclude sebagai ganti -x

Anda juga dapat menggunakan –exclude sebagai ganti -x seperti yang ditunjukkan di bawah ini:

yum --exclude php update
yum --exclude httpd update
yum --exclude kernel update

yum -exclude php*,httpd*,kernel* update

6. Kecualikan Paket Menggunakan File yum.conf

Alih-alih menentukan paket yang akan dikecualikan di baris perintah, Anda dapat menentukannya di file /etc/yum.conf.

Misalnya, untuk mengecualikan semua paket php, httpd, dan kernel yang akan dikecualikan dari pembaruan yum, tambahkan baris berikut:

exclude=php* httpd* kernel*

Atau, jalankan perintah berikut:

echo "exclude=php* httpd* kernel*" >> /etc/yum.conf

7. Gunakan Daftar Dipisahkan Koma

Anda juga dapat mengecualikan lebih dari satu paket dengan menentukan daftar paket wildcard yang dipisahkan dengan koma. Berikut ini akan berperilaku persis sama seperti di atas.

yum -x php*,kernel* update

Agar konsisten dengan cara kami menunjukkan contoh lain menggunakan opsi -x di atas, Anda juga dapat menggunakan koma (bukan hanya spasi) untuk memisahkan beberapa paket seperti yang ditunjukkan di bawah ini:

# vi /etc/yum.conf
exclude=php*,httpd*,kernel*

8. Kecualikan Parameter di dalam File Repo Kustom

Alih-alih menentukan parameter pengecualian di file yum.conf utama, Anda juga dapat menentukannya di file repositori individual.

Misalnya, jika Anda telah menginstal mongodb, Anda akan memiliki mongodb.repo di bawah direktori /etc/yum.repos.d. Anda dapat menentukan daftar paket pengecualian untuk repositori mongodb di dalam file mongodb.repo ini.

# vi /etc/yum.repos.d/mongodb.repo
exclude=mongo*

9. Simulasikan Yum Exclude Check menggunakan check-update (Dry-run -x)

Anda dapat menentukan opsi -x bersama dengan check-update juga. Ini membantu Anda memeriksa apakah opsi -x yang Anda tentukan di baris perintah atau di file yum.conf berfungsi seperti yang diharapkan.

Misalnya, berikut ini menunjukkan bahwa kernel akan ditingkatkan selama pembaruan yum.

# yum check-update | grep -i kernel
kernel.x86_64                        2.6.32-504.1.3.el6                  updates
kernel-firmware.noarch               2.6.32-504.1.3.el6                  updates
kernel-headers.x86_64                2.6.32-504.1.3.el6                  updates

Berikut ini menunjukkan bahwa flag -x akan berfungsi seperti yang diharapkan karena tidak mengembalikan apa pun dalam hasil.

# yum -x kernel* check-update | grep -i kernel

Sebagai contoh, katakanlah baris pengecualian berikut ini ada di file yum.conf.

# grep exclude /etc/yum.conf
exclude=php*,httpd*,kernel*

Kemudian, berikut ini menunjukkan bahwa daftar pengecualian yang ditentukan dalam /etc/yum.conf di atas akan berfungsi seperti yang diharapkan karena check-update tidak menampilkan paket-paket tersebut (termasuk kernel) pada output berikut.

# yum check-update | egrep 'php|httpd|kernel'

10. Abaikan Exclude from yum.conf File

Jika Anda ingin menonaktifkan pengecualian yang disebutkan dalam file yum.conf. yaitu Jika Anda tidak ingin pembaruan yum mempertimbangkan daftar pengecualian yang ditentukan dalam file yum.conf, Anda dapat menggunakan opsi –disableexcludes dari baris perintah.

Dalam contoh kami sebelumnya, kami telah mengecualikan paket php, httpd, dan kernel untuk diperbarui oleh pembaruan yum.

Namun, jika Anda ingin yum mengabaikan daftar pengecualian itu (yaitu menonaktifkan pengecualian) dan terus meningkatkan versi php, httpd, dan kernel sebagai bagian dari perintah pembaruan yum biasa, jalankan perintah berikut:

yum --disableexcludes=all update

Berikut ini adalah tiga kemungkinan nilai yang dapat Anda tentukan untuk disableexcludes

  • semua Nonaktifkan semua pengecualian
  • main Disable tidak termasuk yang ditentukan di bagian utama file yum.conf
  • repoid Nonaktifkan pengecualian yang ditentukan untuk id repo yang diberikan

Jika Anda ingin menonaktifkan pengecualian hanya untuk repositori khusus tertentu, Anda dapat menentukan id repo (yang merupakan kolom pertama dalam perintah yum repolist seperti yang ditunjukkan di bawah).

# yum repolist
repo id   repo name           status
mongodb   MongoDB Repository    240
base      CentOS-6 - Base     6,518
extras    CentOS-6 - Extras      35
updates   CentOS-6 - Updates    315

Berikut ini akan menonaktifkan (mengabaikan) daftar pengecualian yang ditentukan dalam file mongodb.repo di bawah direktori /etc/yum.repos.d.

yum --disableexcludes=mongodb update

Linux
  1. Cara Menggunakan Contoh Kunci C Mutex untuk Sinkronisasi Utas Linux

  2. 15 Contoh Perintah aptitude untuk Manajemen Paket di Linux

  3. Contoh Perintah yum di Linux

  1. Cara mengatur pembaruan kernel tanpa boot otomatis di server Linux

  2. Cara menggunakan kdump untuk Analisis Kernel Crash Linux

  3. Cara Mengecualikan Repositori Khusus untuk Pembaruan Yum di CentOS / Red Hat

  1. CentOS / RHEL :Pengecualian dengan Yum Untuk Pembaruan Kernel

  2. Bagaimana cara menonaktifkan pembuatan soket untuk proses Linux, untuk kotak pasir?

  3. Bagaimana cara memperbarui PHP ke versi 5.4 di Amazon Linux?