The DNF (Dandified Yum) este versiunea de generație următoare a YUM (Yellowdog Updater, modificat), este un manager de pachete implicit open-source pentru Distribuții Linux bazate pe Red Hat, care este utilizat pentru obținerea, instalarea, actualizarea, eliminarea și interogarea pachetelor din depozitele oficiale de software și din depozitele terțe.
În timpul actualizării sistemului, uneori, nu actualizăm anumite pachete, cum ar fi Server Apache (HTTP), MySQL, PHP, sau orice altă aplicație majoră, deoarece actualizarea unui astfel de software poate întrerupe aplicațiile web care rulează în prezent pe un server și poate cauza probleme majore. Se recomandă să opriți actualizările pentru un astfel de software până când aplicația este corectată cu noi actualizări.
În acest articol, vă vom arăta cum putem exclude (dezactiva) anumite actualizări de pachete folosind YUM și DNF manager de pachete pe distribuții bazate pe RPM, cum ar fi RHEL, CentOS, Fedora, Rocky Linux, și AlmaLinux. De asemenea, putem exclude sau dezactiva anumite actualizări ale pachetelor din orice depozite terță parte.
Sintaxa de excludere ar fi după cum urmează.
exclude=pachet pachet1 pachete*
De mai sus exclude directiva este definită în /etc/yum.conf sau /etc/dnf/dnf.conf fișier de configurare cu lista de pachete de exclus din actualizări sau instalări.
Sintaxa de mai sus va exclude „pachet“, “pachet 1„, și lista de „pachet” actualizări sau instalări. Fiecare cuvânt cheie ar trebui să fie separat cu spațiu pentru excluderea pachetelor.
Pentru a exclude (dezactiva) actualizări de pachete specifice, deschideți fișierul apelat /etc/yum.conf sau /etc/dnf/dnf.conf cu editorul ales de dvs.
# vi /etc/yum.conf. SAU. # vi /etc/dnf/dnf.conf
Adăugați următoarea linie în partea de jos a fișierului cu exclude cuvânt cheie așa cum se arată mai jos.
[principal] cachedir=/var/cache/yum/$basearch/$releasever. keepcache=0. debuglevel=2. logfile=/var/log/yum.log. exactarh=1. învechite=1. gpgcheck=1. pluginuri=1. installonly_limit=5. bugtracker_url= http://bugs.centos.org/set_project.php? project_id=16&ref= http://bugs.centos.org/bug_report_page.php? categorie = yum. distroverpkg=centos-release # Aceasta este valoarea implicită, dacă faceți acest lucru mai mare, yum nu veți vedea dacă metadatele # sunt mai noi pe telecomandă și astfel veți „câștiga” lățimea de bandă de a nu fi necesar. # Descărcați noile metadate și „plătiți” pentru ele de yum, nu sunt corecte. # informație. # Este în special. important, pentru a avea metadate corecte, pentru distribuții ca. # Fedora care nu păstrează pachetele vechi. Dacă nu vă place această verificare. # întrerupând utilizarea liniei de comandă, este mult mai bine să ai ceva. # verificați manual metadatele o dată pe oră (yum-updatesd va face acest lucru). # metadata_expire=90m # PUNEȚI REPOS-UL AICI SAU ÎN fișiere separate numite file.repo. # în /etc/yum.repos.d## Excludeți următoarele actualizări de pachete ##exclude=httpd php mysql
În exemplul de mai sus, linia exclude va dezactiva actualizările pentru „httpd” “php" și "mysql” pachete. Să încercăm să instalăm sau să actualizăm unul dintre ele folosind YUM comandă așa cum se arată mai jos.
# yum actualizare httpd. SAU. # dnf update httpd.
Pluginuri încărcate: fastestmirror. Vitezele de încărcare a oglinzii din fișierul gazdă stocat în cache * bază: centos.01link.hk * extra: centos.01link.hk * actualizări: mirrors.hns.net.in. baza | 3,7 kB 00:00. extra | 3,0 kB 00:00. actualizări | 3,5 kB 00:00. updates/primary_db | 2,7 MB 00:16. Configurarea procesului de actualizare. Niciun pachet marcat pentru actualizare
Pentru a exclude instalările sau actualizările pachetelor din EPEL depozit, apoi deschideți fișierul numit /etc/yum.repos.d/epel.repo.
# vi /etc/yum.repos.d/epel.repo
Adăugați linia de excludere specificând pachetele care vor fi excluse din actualizări.
[epel] name=Pachete suplimentare pentru Enterprise Linux 6 - $basearch. #baseurl= http://download.fedoraproject.org/pub/epel/6/$basearch. lista oglinzi= https://mirrors.fedoraproject.org/metalink? repo=epel-6&arch=$basearch. failovermethod=prioritate. activat=1. gpgcheck=1. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6.## Excludeți următoarele actualizări de pachete ##exclude=perl php python
Acum încercați să actualizați fișierele specificate mai sus din EPEL depozit folosind yum/dnf comandă așa cum se arată.
# dnf update perl php python. SAU. # yum update perl php python
Ultima verificare a expirării metadatelor: acum 0:00:37, miercuri, 17 noiembrie 2021, 03:41:28 EST. Pachetul perl disponibil, dar nu instalat. Fără potrivire pentru argument: perl. Nu se potrivește argumentul: php. Nu se potrivește argument: python. Eroare: Niciun pachet marcat pentru upgrade.
De asemenea, puteți utiliza yum/dnf opțiunea de linie de comandă pentru a exclude pachetele fără a le adăuga la fișierele de depozit.
# yum --exclude=httpd actualizare. Sau. # dnf --exclude=httpd update.
Pentru a exclude o listă de pachete, utilizați comanda după cum urmează.
# yum --exclude=mysql\* --exclude=httpd\* actualizare. Sau. # dnf --exclude=mysql\* --exclude=httpd\* actualizare.
În acest fel, puteți exclude actualizările pentru orice pachet doriți. Există multe alte moduri în care puteți face acest lucru, de exemplu, recent am compilat un articol despre 4 moduri utile de a blocați/dezactivați sau blocați anumite pachete folosind comanda yum în Linux.