4 leiðir til að slökkva á/læsa ákveðnum pakkauppfærslum með Yum Command


Package Manager er hugbúnaður sem gerir notanda kleift að setja upp nýjan hugbúnað, uppfæra kerfi eða uppfæra sérstakan hugbúnað og þess háttar hluti. Ef um er að ræða Linux-undirstaða kerfi þar sem einn hugbúnaður hefur mikið af ósjálfstæði sem þarf að vera til staðar á kerfinu fyrir fullkomna uppsetningu á þeim hugbúnaði, verður slíkur hugbúnaður eins og pakkastjóri mjög þörf tæki á hverju kerfi.

Hver Linux dreifing er með sjálfgefna pakkastjórann fyrir ofangreinda virkni, en af öllum þessum sem mest fundust eru: jamm á RHEL og Fedora kerfum (þar sem nú er verið að skipta um það fyrir DNF frá Fedora 22+ og áfram) og viðeigandi frá Debian.

Ef þú ert að leita að APT tóli til að loka fyrir eða slökkva á ákveðnum sérstökum pakkauppfærslum, þá ættirðu að lesa þessa grein.

Dnf eða Danified yum kemur í stað yum á Fedora kerfum sem er annað á listanum okkar. Ef þeir eru skoðaðir rétt er hægt að nota þessa pakkastjóra fyrir eftirfarandi virkni:

  1. Setur upp nýjan hugbúnað úr geymslunni.
  2. Leystu ósjálfstæði hugbúnaðarins með því að setja þau upp áður en hugbúnaðurinn er settur upp.
  3. Viðhalda gagnagrunni yfir ósjálfstæði hvers hugbúnaðar.
  4. Niðurfærðu útgáfu hvers hugbúnaðar sem fyrir er.
  5. Uppfærsla á kjarnaútgáfunni.
  6. Skrápakkar í boði fyrir uppsetningu.

Við höfum þegar fjallað um nákvæmar greinar sérstaklega um hvern einstakan pakkastjóra með hagnýtum dæmum, þú ættir að lesa þær til að stjórna og stjórna pakkastjórnun í viðkomandi Linux dreifingu.

Lestu líka:

  1. Takaðu þér Yum Command með þessum 20 hagnýtu dæmum
  2. 27 DNF skipanir til að stjórna pakka í Fedora 22+ útgáfum
  3. Lærðu 25 APT skipanir til að stjórna Ubuntu pakka

Í greininni munum við sjá hvernig á að læsa/slökkva á ákveðnum pakkauppfærslum með Yum pakkastjóra í RHEL/CentOS og Fedora kerfum (á við þar til Fedora 21, síðar er nýrri Fedora útgáfa send með dnf sem sjálfgefinn pakkastjóra).

Slökktu á/læstu pakkauppfærslum með Yum

Yellow dog Updater, Modified (nammi) er pakkastjórnunartæki í RedHat byggðum dreifingum eins og CentOS og Fedora. Fjallað er um ýmsar aðferðir sem notaðar eru til að læsa/slökkva á pakkauppfærslum með Yum:

1. Opnaðu og breyttu yum.conf skránni, sem er staðsett í /etc/yum.conf eða í /etc/yum/yum.conf.

Það lítur út eins og hér að neðan:

[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
...

Hér, til að útiloka ákveðinn pakka frá uppsetningu eða uppfærslu, þarftu bara að bæta við útilokunarbreytu ásamt nafni pakkans sem þú vilt útiloka. Til dæmis, ef ég vil útiloka alla python-3 pakkana frá því að verða uppfærðir, þá mun ég bara bæta eftirfarandi línu við yum.conf:

exclude=python-3*

Til að útiloka fleiri en einn pakka skaltu bara aðskilja nöfn þeirra með bili.

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]
...

Athugið: til að hafa þessa pakka með, hunsa færslur í yum.conf, notaðu \-disableexcludes og stilltu það á all|main|repoid, þar sem 'main' eru þau sem færð eru inn í yum.conf og ' repoid' eru þeir sem útilokun er tilgreind í repos.d skránni, eins og útskýrt er síðar.

Nú skulum við reyna að setja upp eða uppfæra tilgreinda pakka og sjá að yum skipunin mun slökkva á uppsetningu eða uppfærslu þeirra.

# 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. Hér að ofan var varanleg lausn til að útiloka pakka þar sem sá pakki verður ekki uppfærður nema skránni sé breytt. Hér er bráðabirgðalausn fyrir þetta líka. Á sama tíma og þú ferð í einhverja uppfærslu, notaðu -x rofann í yum skipuninni til að útiloka pakka sem þú vilt ekki uppfæra, eins og:

# yum -x python-3 update

Skipunin hér að ofan mun uppfæra alla pakka sem uppfærslur eru tiltækar, að undanskildum python-3 á kerfinu þínu.

Hér, til að útiloka marga pakka, notaðu -x mörgum sinnum, eða aðskildu pakkanöfnum með , í einum rofa.

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

3. Notkun --exclude rofi virkar eins og -x, þarf bara að skipta út -x fyrir –exclude og senda , aðskilinn lista yfir pakkanöfn til hans.

# yum --exclude httpd,php

4. Fyrir hvaða pakka sem er settur upp frá hvaða utanaðkomandi uppruna sem er með því að bæta við geymslu, þá er önnur leið til að stöðva uppfærslu hans í framtíðinni. Þetta er hægt að gera með því að breyta .repo skránni sem er búin til í /etc/yum/repos.d/ eða /etc/yum.repos.d möppunni.

Bættu við útilokunarvalkostinum með pakkanafninu í endurhverfunni. Eins og: til að útiloka hvaða pakka sem er, segðu vín frá epel repo, bættu eftirfarandi línu við í epel.repo skránni:

[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

Reyndu nú að uppfæra vínpakkann, þú munt fá villu eins og sýnt er hér að neðan:

# 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

5. Önnur leið í yum til að fela útgáfu hvers pakka þannig að hann sé ófáanlegur fyrir uppfærslu, er að nota versionlock valmöguleikann yum, en til að gera þetta verður þú að yum-plugin-versionlock pakkann uppsett á kerfinu.

# yum -y install yum-versionlock

Til dæmis, til að læsa útgáfu pakkans, segðu bara httpd í 2.4.6, skrifaðu bara eftirfarandi skipun sem rót.

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

Til að skoða læsta pakka, notaðu eftirfarandi skipun til að skrá pakka sem hafa verið læstir útgáfa.

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

Niðurstaða

Þetta eru nokkur ráð sem hjálpa þér að slökkva á/læsa pakkauppfærslum með því að nota yum pakkastjóra. Ef þú hefur einhverjar aðrar brellur til að gera sömu hlutina geturðu skrifað athugasemdir við okkur.