Manager pachet este un software care permite utilizatorului în cazul instalării de software nou, actualizarea sistemului sau actualizarea oricărui software specific și astfel de lucruri. În cazul sistemelor bazate pe Linux în care un software are multe dependențe care trebuie să fie prezente pe sistem pentru o instalare completă a acelui software, astfel de software, cum ar fi managerul de pachete, devin un instrument foarte necesar pentru fiecare sistem.
Fiecare distribuție Linux este livrată cu managerul său de pachete implicit pentru funcționalitățile menționate mai sus, dar dintre toate cele mai găsite sunt: da pe RHEL și Fedora sisteme (în cazul în care este înlocuit în prezent cu DNF din Fedora 22+ în continuare) și apt de la Debian.
Dacă sunteți în căutarea APT instrument pentru a bloca sau dezactiva anumite actualizări de pachete specifice, atunci ar trebui să citiți acest articol.
Dnf sau Danificat yum se înlocuiește da pe Fedora sisteme care este un altul din lista noastră. Dacă sunt explorate corect, acești manageri de pachete pot fi utilizați pentru următoarele funcționalități:
Am tratat deja articole detaliate separat despre fiecare manager de pachete individuale cu practică exemple, trebuie să le citiți pentru a controla și gestiona gestionarea pachetelor în Linux-ul dvs. respectiv distribuții.
Citește și:
În articol, vom vedea cum să blocați / dezactivați anumite actualizări ale pachetului folosind managerul de pachete Yum în sistemele RHEL / CentOS și Fedora (aplicabil până la Fedora 21, mai târziu, versiunea Fedora mai nouă este livrată cu dnf ca manager de pachete implicit).
Actualizator de câine galben, modificat (da) este un instrument de gestionare a pachetelor în distribuțiile bazate pe RedHat, cum ar fi CentOS și Fedora. Diverse strategii utilizate pentru blocarea / dezactivarea actualizărilor de pachete folosind Yum sunt discutate mai jos:
1. Deschideți și editați fișierul yum.conf
fișier, care se află în /etc/yum.conf sau în /etc/yum/yum.conf.
Se pare ca mai jos:
[principal] cachedir = / var / cache / yum / $ basearch / $ releasever. keepcache = 0. debuglevel = 2. logfile = / var / log / yum.log. exactarh = 1. învechit = 1. gpgcheck = 1. pluginuri = 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? categorie = yum. distroverpkg = centos-release ...
Aici, pentru a exclude anumite pachete de la instalare sau de la gradare, trebuie doar să adăugați variabila de excludere împreună cu numele pachetului pe care doriți să îl excludeți. De exemplu, dacă vreau să exclud toate python-3
pachetele de la actualizare, apoi voi adăuga linia următoare la yum.conf
:
exclude = python-3 *
Pentru a exclude mai multe pachete, separați-le doar numele prin spațiu.
exclude = httpd php
[principal] cachedir = / var / cache / yum / $ basearch / $ releasever. keepcache = 0. debuglevel = 2. logfile = / var / log / yum.log. exactarh = 1. învechit = 1. gpgcheck = 1. pluginuri = 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? categorie = yum. distroverpkg = centos-release.exclude = python-3 * [Excludeți un singur pachet] exclude = httpd php [Excludeți mai multe pachete]...
Notă: pentru a include aceste pachete, ignorând intrările în yum.conf
, utilizare "-disableexclude”Și setați-o la all | main | repoid, Unde 'principal' sunt cele introduse în yum.conf și „Repus” sunt cei a căror excludere este specificată în repos.d director, după cum s-a explicat mai târziu.
Acum să încercăm să instalăm sau să actualizăm pachetele specificate și să vedem că comanda yum le va dezactiva instalarea sau actualizarea.
# yum instalați httpd php Plugin-uri încărcate: fastestmirror, langpacks, versionlock. Încărcarea vitezei oglinzii din fișierul gazdă cache * bază: mirror.nbrc.ac.in * epel: mirror.wanxp.id * extras: mirror.nbrc.ac.in * actualizări: mirror.nbrc.ac.in. Nimic de făcut
# yum update httpd php Plugin-uri încărcate: fastestmirror, langpacks, versionlock. Încărcarea vitezei oglinzii din fișierul gazdă cache * bază: mirror.nbrc.ac.in * epel: mirror.wanxp.id * extras: mirror.nbrc.ac.in * actualizări: mirror.nbrc.ac.in. Nu există pachete marcate pentru actualizare
2. Mai sus era o soluție permanentă de a exclude un pachet, deoarece, dacă nu se editează fișierul, acel pachet nu va fi actualizat. Iată o soluție temporară și pentru aceasta. Chiar în momentul în care mergi pentru orice actualizare, folosește -X
comutați în comanda yum pentru a exclude pachetul pe care nu doriți să îl actualizați, cum ar fi:
# yum -x python-3 actualizare.
Comanda de mai sus va actualiza toate pachetele ale căror actualizări sunt disponibile, cu excepția python-3
pe sistemul dvs.
Aici, pentru a exclude mai multe pachete, utilizați -X
de mai multe ori sau separați numele pachetelor cu ','
într-un singur comutator.
# yum -x httpd -x php update. SAU. # yum -x httpd, actualizare php.
3. Folosind --exclude
comutatorul funcționează la fel ca -X, trebuie doar să înlocuiți -X cu -exclude și trece ','
listă separată de nume de pachete.
# yum --exclude httpd, php.
4. Pentru orice pachet instalat din orice sursă externă prin adăugarea unui depozit, există o altă modalitate de a opri actualizarea acestuia în viitor. Acest lucru se poate face prin editarea lui .repo
fișier care este creat în /etc/yum/repos.d/ sau /etc/yum.repos.d director.
Adăugați opțiunea de excludere cu numele pachetului în repo. Ca: pentru a exclude orice pachet, spuneți vin din epel repo, adăugați următoarea linie în epel.repo
fişier:
[epel] name = Pachete suplimentare pentru Enterprise Linux 7 - $ bazearch. # baseurl = http://download.fedoraproject.org/pub/epel/7/$basearch. listă oglindă = https://mirrors.fedoraproject.org/metalink? repo = epel-7 & arch = $ basearch. failovermethod = prioritate. activat = 1. gpgcheck = 1. gpgkey = file: /// etc / pki / rpm-gpg / RPM-GPG-KEY-EPEL-7.exclude = vin
Acum încercați să actualizați fișierul vin pachet, veți primi erori precum se arată mai jos:
# yum actualizare vin Plugin-uri încărcate: fastestmirror, langpacks, versionlock. epel / x86_64 / metalink | 5,6 kB 00:00 Încărcarea vitezei oglinzii din fișierul gazdă cache * bază: mirror.nbrc.ac.in * epel: mirror.wanxp.id * extras: mirror.nbrc.ac.in * actualizări: mirror.nbrc.ac.in. Fără potrivire pentru argument: vin. Nu există pachet de vin disponibil. Nu există pachete marcate pentru actualizare
5. O altă modalitate din yum de a masca versiunea oricărui pachet, făcându-l astfel indisponibil pentru gradare în sus, este utilizarea versionlock
opțiunea de yum, dar pentru a face acest lucru, trebuie yum-plugin-versionlock pachet instalat pe sistem.
# yum -y install yum-versionlock.
De exemplu, pentru a bloca versiunea pachetului, spuneți httpd la 2.4.6 numai, scrieți următoarea comandă ca root.
# yum versionlock adăugați httpd.
Plugin-uri încărcate: fastestmirror, langpacks, versionlock. Adăugarea versiunii de blocare la: 0:httpd-2.4.6-40.el7.centos versionlock adăugat: 1.
Pentru a vizualiza pachetele blocate, utilizați următoarea comandă va lista pachetele care au fost blocate în versiune.
# yum versionlock list httpd.
Plugin-uri încărcate: fastestmirror, langpacks, versionlock. 0:httpd-2.4.6-40.el7.centos. * lista de blocare a versiunilor a fost terminată.
Acestea sunt câteva sfaturi care vă vor ajuta să dezactivați / blocați actualizările pachetului utilizând managerul de pachete yum. Dacă aveți alte trucuri pentru a face aceleași lucruri, le puteți comenta cu noi.