Cara Melumpuhkan Kemas Kini Pakej Menggunakan YUM/DNF di RHEL Linux

Cara Melumpuhkan Kemas Kini Pakej Menggunakan YUM/DNF di RHEL Linux

DNF (Dandified YUM) adalah versi generasi akan datang dari YUM (Yellowdog Updater, Modified), adalah pengurus pakej lalai sumber terbuka untuk pengedaran Linux berasaskan Hat Red, yang digunakan untuk mendapatkan, memasang, menaik taraf, mengeluarkan, mengeluarkan, dan memohon pakej dari repositori perisian rasmi dan repositori pihak ketiga.

Semasa mengemas kini sistem, kadang -kadang, kami tidak mengemas kini pakej tertentu seperti Pelayan Apache (Http), Mysql, Php, atau mana -mana aplikasi utama lain, kerana mengemas kini perisian sedemikian boleh memecahkan aplikasi web yang sedang berjalan pada pelayan dan menyebabkan masalah utama. Adalah disyorkan untuk menghentikan kemas kini untuk perisian sedemikian sehingga aplikasi ditambal dengan kemas kini baru.

Dalam artikel ini, kami akan menunjukkan kepada anda bagaimana kami dapat mengecualikan (melumpuhkan) kemas kini pakej tertentu menggunakan Yum dan DNF Pengurus Pakej mengenai pengagihan berasaskan RPM seperti RHEL, Centos, Fedora, Rocky Linux, dan Almalinux. Kami juga boleh mengecualikan atau melumpuhkan kemas kini pakej tertentu dari mana-mana repositori pihak ketiga.

Sintaks yang tidak termasuk adalah seperti yang berikut.

tidak termasuk = pakej pakej1 pakej* 

Di atas tidak termasuk Arahan ditakrifkan dalam /etc/yum.Conf atau /etc/dnf/dnf.Conf fail konfigurasi dengan senarai pakej untuk mengecualikan dari kemas kini atau pemasangan.

Sintaks di atas akan mengecualikan "pakej","Pakej1", Dan senarai"pakej"Kemas kini atau memasang. Setiap kata kunci harus dipisahkan dengan ruang untuk pengecualian pakej.

Cara mengecualikan pakej dalam yum atau dnf

Untuk mengecualikan (melumpuhkan) kemas kini pakej tertentu, buka fail yang dipanggil /etc/yum.Conf atau /etc/dnf/dnf.Conf Dengan pilihan editor anda.

# vi /etc /yum.conf atau # vi/etc/dnf/dnf.Conf

Tambahkan baris berikut di bahagian bawah fail dengan tidak termasuk Kata kunci seperti yang ditunjukkan di bawah.

[Utama] cacheedir =/var/cache/yum/$ basearch/$ releasever keepcache = 0 debuglevel = 2 logfile =/var/log/yum.log exactarch = 1 Obsoletes = 1 gpgCheck = 1 plugin = 1 installOnly_limit = 5 bugtracker_url = http: // bugs.Centos.org/set_project.php?projek_id = 16 & ref = http: // bugs.Centos.org/bug_report_page.php?kategori = yum distroverpkg = centos-release # Ini adalah lalai, jika anda membuat yum yang lebih besar ini tidak akan melihat jika metadata # lebih baru di jauh dan oleh itu anda akan "memperoleh" jalur lebar yang tidak perlu # muat turun metadata baru dan "bayar" untuknya dengan yum tidak mempunyai maklumat # yang betul. # Itu esp. penting, mempunyai metadata yang betul, untuk pengagihan seperti # fedora yang tidak menyimpan pakej lama di sekitar. Sekiranya anda tidak menyukai pemeriksaan ini # mengganggu penggunaan baris arahan anda, lebih baik mempunyai sesuatu # secara manual periksa metadata sekali sejam (yum-updatesd akan melakukan ini). # metadata_expire = 90m # letakkan repos anda di sini atau dalam fail berasingan bernama fail.repo # in /etc /yum.repos.d ## tidak termasuk kemas kini pakej berikut ## tidak termasuk = httpd php mysql

Dalam contoh di atas, garis tidak termasuk akan melumpuhkan kemas kini untuk "httpd""php"Dan"mysql"Pakej. Mari cuba memasang atau mengemas kini salah satu daripada mereka menggunakan Yum Perintah seperti yang ditunjukkan di bawah.

# yum update httpd atau # dnf update httpd 
Output sampel
Plugin yang dimuatkan: Fastestmirror Memuatkan Kelajuan Cermin Dari Hostfile Cached * Base: Centos.01link.HK * Tambahan: Centos.01link.HK * Kemas kini: Cermin.Hns.jaring.Dalam asas | 3.7 kb 00:00 Ekstra | 3.0 kb 00:00 kemas kini | 3.5 kb 00:00 Kemas kini/primer_db | 2.7 MB 00:16 Menyediakan proses kemas kini Tiada pakej yang ditandakan untuk kemas kini

Cara mengecualikan pakej dari repo epel

Untuk mengecualikan pakej pemasangan atau kemas kini dari Epel repositori, kemudian buka fail yang dipanggil /etc/yum.repos.d/epel.repo.

# vi /etc /yum.repos.d/epel.repo

Tambahkan baris Exclude dengan menentukan pakej untuk dikecualikan daripada kemas kini.

[Epel] Nama = Pakej Tambahan untuk Enterprise Linux 6 - $ Basearch #BaseUrl = http: // muat turun.Fedoraproject.org/pub/epel/6/$ basearch mirrorList = https: // cermin.Fedoraproject.org/metalink?repo = epel-6 & arch = $ Basearch failOverMethod = Priority Enabled = 1 gpgCheck = 1 gpgkey = file: /// etc/pki/rpm-gpg/rpm-gpg-stoke-epel-6 ## tidak termasuk kemas kini pakej berikut ## tidak termasuk = perl php python

Sekarang cuba mengemas kini fail yang ditentukan di atas dari Epel repositori menggunakan YUM/DNF arahan seperti yang ditunjukkan.

# DNF Update Perl PHP Python atau # YUM UPDATE PERL PHP PYTHON
Output sampel
Pemeriksaan Tamat Metadata Terakhir: 0:00:37 lalu pada hari Rabu 17 November 2021 03:41:28 pagi EST. Pakej Perl tersedia, tetapi tidak dipasang. Tiada Perlawanan untuk Argumen: Perl Tiada Perlawanan untuk Argumen: PHP Tidak Perlawanan untuk Argumen: Python Ralat: Tiada pakej yang ditandakan untuk menaik taraf. 

Anda juga boleh menggunakan YUM/DNF Pilihan baris arahan untuk mengecualikan pakej tanpa menambahkannya ke fail repositori.

# yum --exclude = httpd update atau # dnf --exclude = httpd update 

Untuk mengecualikan senarai pakej, gunakan arahan seperti berikut.

# yum --exclude = mysql \* --exclude = httpd \* update atau # dnf --exclude = mysql \* --exclude = httpd \* update 

Dengan cara ini, anda boleh mengecualikan kemas kini untuk sebarang pakej yang anda mahukan. Terdapat banyak cara lain yang boleh anda lakukan, sebagai contoh, baru -baru ini kami telah menyusun artikel mengenai 4 cara berguna untuk menyekat/melumpuhkan atau mengunci pakej tertentu menggunakan perintah yum di Linux.