Weboldal keresés

4 módszer bizonyos csomagfrissítések letiltására/zárolására a Yum Command használatával


A Csomagkezelő olyan szoftver, amely lehetővé teszi a felhasználó számára, hogy új szoftvert telepítsen, frissítse a rendszert, vagy frissítsen egy adott szoftvert és hasonló dolgokat. Linux alapú rendszerek esetén, ahol egy szoftvernek sok függősége van, amelyeknek jelen kell lenniük a rendszeren a szoftver teljes telepítéséhez, az ilyen szoftverek, mint a csomagkezelő, minden rendszeren nagyon szükséges eszközzé válnak.

Minden Linux disztribúcióhoz hozzátartozik az alapértelmezett csomagkezelő a fent említett funkciókhoz, de ezek közül a leggyakrabban megtalálhatók a következők: yum RHEL és Fedora rendszereken (ahol jelenleg DNF váltja fel a Fedora 22+-tól) és apt a Debiantól.

Ha APT eszközt keres bizonyos csomagfrissítések blokkolására vagy letiltására, akkor olvassa el ezt a cikket.

A Dnf vagy a Danified yum a yum helyett a Fedora rendszereken, amely egy másik a listánkon. Ha megfelelően megvizsgáljuk, ezek a csomagkezelők a következő funkciókhoz használhatók:

  1. Új szoftver telepítése a tárolóból.
  2. Oldja fel a szoftver függőségeit a függőségek telepítésével a szoftver telepítése előtt.
  3. Az egyes szoftverek függőségi adatbázisának karbantartása.
  4. Bármely meglévő szoftver verziójának leváltása.
  5. A kernel verzió frissítése.
  6. Telepíthető csomagok listázása.

Az egyes csomagkezelőkről külön-külön már részletes cikkeket tárgyaltunk gyakorlati példákkal, ezeket el kell olvasnia a megfelelő Linux-disztribúciók csomagkezelésének vezérléséhez és kezeléséhez.

Olvassa el még:

  1. A Yum parancs elsajátítása ezzel a 20 gyakorlati példával
  2. 27 DNF-parancs a csomagok kezelésére a Fedora 22+ verzióiban
  3. Tanuljon meg 25 APT-parancsot az Ubuntu-csomagok kezelésére

A cikkben látni fogjuk, hogyan zárolhatunk/letilthatunk bizonyos csomagfrissítéseket a Yum csomagkezelő használatával RHEL/CentOS és Fedora rendszerekben (a Fedora 21-ig, később újabb Fedora verzióig érvényes) dnf alapértelmezett csomagkezelővel szállítjuk).

A csomagfrissítések letiltása/zárolása a Yum használatával

A Yellow dog Updater, Modified (yum) egy csomagkezelő eszköz RedHat alapú disztribúciókban, mint például a CentOS és a Fedora. A csomagfrissítések Yum használatával zárolására/letiltására használt különféle stratégiákat az alábbiakban tárgyaljuk:

1. A csomag végleges letiltása telepítéshez vagy frissítéshez

1. Nyissa meg és szerkessze a yum.conf fájlt, amely az /etc/yum.conf vagy az /etc/ mappában található. yum/yum.conf.

Az alábbiak szerint néz ki:

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

Itt, hogy kizárjon bizonyos csomagokat a telepítésből vagy a frissítésből, csak hozzá kell adnia az kizárási változót a kizárni kívánt csomag nevével együtt. Például, ha ki akarom zárni az összes python-3 csomag frissítését, akkor csak a következő sort fűzöm a yum.conf fájlhoz:

exclude=python-3*

Ha egynél több csomagot szeretne kizárni, csak szóközzel válassza el a nevüket.

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

Megjegyzés: ezeknek a csomagoknak a felvételéhez, figyelmen kívül hagyva a yum.conf bejegyzéseit, használja a „-disableexcludes ” parancsot, és állítsa be all|main|repoid-ba, ahol a 'main' a yum.conf és 'repoid' fájlban megadott értékek. > azok, amelyek kizárása a repos.d könyvtárban van megadva, a későbbiekben ismertetettek szerint.

Most próbáljuk meg telepíteni vagy frissíteni a megadott csomagokat, és nézzük meg, hogy a yum parancs letiltja a telepítést vagy frissítést.

# 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. Ideiglenesen tiltsa le a csomagot telepítéshez vagy frissítéshez

2. A fenti egy állandó megoldás volt a csomagok kizárására, mivel ha a fájlt nem szerkesztik, a csomag nem frissül. Itt van egy ideiglenes megoldás erre is. Éppen akkor, amikor bármilyen frissítésre vágyik, használja a -x kapcsolót a yum parancsban, hogy kizárja azokat a csomagokat, amelyeket nem szeretne frissíteni, például:

yum -x python-3 update

A fenti parancs frissíti az összes olyan csomagot, amelynek frissítései elérhetők, kivéve a python-3-t a rendszeren.

Itt több csomag kizárásához használja többször a -x billentyűt, vagy válassza el a csomagneveket a ',' karakterlánccal egyetlen kapcsolóban.

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

3. A --exclude kapcsoló ugyanúgy működik, mint a -x, csak a -x kapcsolót ra kell cserélni. >–exclude és adja át neki a ',' elválasztott csomagnevek listáját.

yum --exclude httpd,php

3. Tiltsa le a csomagfrissítéseket a Repository használatával

4. Bármely külső forrásból lerakat hozzáadásával telepített csomag esetén van egy másik mód a frissítési fokozatok jövőbeni leállítására. Ezt a .repo fájl szerkesztésével teheti meg, amely az /etc/yum/repos.d/ vagy az /etc/yum.repos.d< fájlban jön létre. könyvtárba.

Adja hozzá a kizárási lehetőséget a csomagnévvel a repo-ban. Tetszik: a wine csomag kizárásához az epel repoból, adja hozzá a következő sort az epel.repo fájlhoz:

[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

Most próbálja meg frissíteni a bor csomagot, az alábbi hibaüzenetet kapja:

# 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

4. Tiltsa le a csomagfrissítést a verziózár opcióval

5. A yum egy másik módja annak, hogy elfedje a csomagok verzióját, így nem elérhető a frissítéshez, a yum versionlock opciójának használata, de ehhez telepíteni kell a rendszerre a yum-plugin-versionlock csomagot.

yum -y install yum-versionlock

Például a csomag verziójának zárolásához, mondjuk csak a httpd-t 2.4.6-ra, csak írja ki a következő parancsot rootként.

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

A zárolt csomagok megtekintéséhez használja a következő parancsot, amely felsorolja azokat a csomagokat, amelyek verziója zárolt.

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

Következtetés

Íme néhány tipp, amelyek segítenek letiltani/zárolni a csomagfrissítéseket a yum csomagkezelő használatával. Ha van más trükkje is, amivel ugyanezt megteheti, kommentálhatja velünk.