GNU/Linux >> Znalost Linux >  >> Linux

4 způsoby, jak zakázat/uzamknout určité aktualizace balíčků pomocí příkazu Yum

Správce balíčků je software, který umožňuje uživateli v případě instalace nového softwaru, up-gradace systému nebo aktualizace jakéhokoli specifického softwaru a podobných věcí. V případě systémů založených na Linuxu, kde jeden software má mnoho závislostí, které musí být přítomny v systému pro úplnou instalaci tohoto softwaru, se takový software jako správce balíčků stává velmi potřebným nástrojem na každém systému.

Každá distribuce Linuxu se dodává se svým výchozím správcem balíčků pro výše uvedené funkce, ale ze všech těchto nejčastěji nalezených jsou:yum na RHEL a Fedora systémů (kde je v současné době nahrazován DNF z Fedory 22+ dále) a apt z Debianu.

Pokud hledáte APT nástroj k blokování nebo zakázání určitých aktualizací konkrétních balíčků, pak byste si měli přečíst tento článek.

Zakázat/uzamknout nebo zakázat aktualizaci balíčku Certian pomocí APT

Dnf nebo Danified yum nahrazuje výraz yum na Fedoře systémů, což je další z našeho seznamu. Pokud jsou správně prozkoumáni, lze tyto správce balíčků použít pro následující funkce:

  1. Instalace nového softwaru z úložiště.
  2. Vyřešte závislosti softwaru instalací těchto závislostí před instalací softwaru.
  3. Udržování databáze závislostí každého softwaru.
  4. Přejděte na nižší verzi jakéhokoli stávajícího softwaru.
  5. Upgrade verze jádra.
  6. Výpis balíčků dostupných k instalaci.

Již jsme probrali podrobné články samostatně o jednotlivých správcích balíčků s praktickými příklady, měli byste si je přečíst, abyste mohli ovládat a spravovat správu balíčků ve svých příslušných distribucích Linuxu.

Přečtěte si také:

  1. Ovládnutí příkazu Yum pomocí těchto 20 praktických příkladů
  2. 27 DNF příkazů pro správu balíčků ve verzích Fedory 22+
  3. Naučte se 25 příkazů APT pro správu balíčků Ubuntu

V článku uvidíme, jak zamknout/zakázat určité aktualizace balíčků pomocí správce balíčků Yum v systémech RHEL/CentOS a Fedora (platí do Fedory 21 , později novější verze Fedory se dodává s dnf jako výchozím správcem balíčků).

Zakázat/zamknout aktualizace balíčků pomocí Yum

Aktualizátor žlutého psa, upraveno (mňam ) je nástroj pro správu balíčků v distribucích založených na RedHat, jako je CentOS a Fedora. Níže jsou popsány různé strategie používané k uzamčení/deaktivaci aktualizací balíčků pomocí Yum:

1. Trvale zakázat balíček pro instalaci nebo aktualizaci

1. Otevřete a upravte soubor yum.conf soubor, který se nachází v /etc/yum.conf nebo v /etc/yum/yum.conf .

Vypadá to níže:

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

Zde pro vyloučení určitého balíčku z instalace nebo up-gradace stačí přidat proměnnou vyloučit spolu s názvem balíčku, který chcete vyloučit. Například, pokud chci vyloučit všechny python-3 balíčky z aktualizace, pak pouze připojím následující řádek do yum.conf :

exclude=python-3*

Chcete-li vyloučit více než jeden balíček, oddělte jejich názvy mezerou.

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

Poznámka :zahrnout tyto balíčky, ignorovat položky v yum.conf , použijte „-disableexcludes ” a nastavte jej na all|main|repoid , kde ‘hlavní‘ jsou zadané v yum.conf a ‚repoid‘ jsou ty, jejichž vyloučení je uvedeno v repos.d adresář, jak bude vysvětleno dále.

Nyní se pokusíme nainstalovat nebo aktualizovat zadané balíčky a uvidíme, že příkaz yum zakáže jejich instalaci nebo aktualizaci.

# 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. Dočasně zakázat balíček pro instalaci nebo aktualizaci

2. Výše bylo trvalé řešení pro vyloučení balíčku, protože pokud soubor neupravíte, nebude tento balíček aktualizován. Zde je také dočasné řešení. Právě v době, kdy se chystáte na jakoukoli aktualizaci, použijte -x přepněte v příkazu yum, abyste vyloučili balíček, který nechcete aktualizovat, například:

# yum -x python-3 update

Výše uvedený příkaz aktualizuje všechny balíčky, jejichž aktualizace jsou k dispozici, kromě python-3 ve vašem systému.

Zde pro vyloučení více balíčků použijte -x vícekrát nebo oddělte názvy balíků pomocí ',' v jediném přepínači.

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

3. Pomocí --exclude přepínač funguje stejně jako -x , stačí nahradit -x s –vyloučit a předejte ',' oddělený seznam názvů balíčků.

# yum --exclude httpd,php

3. Zakázat aktualizace balíčků pomocí úložiště

4. Pro jakýkoli balíček nainstalovaný z jakéhokoli externího zdroje přidáním úložiště existuje další způsob, jak v budoucnu zastavit jeho upgradování. To lze provést úpravou jeho .repo soubor, který je vytvořen v /etc/yum/repos.d/ nebo /etc/yum.repos.d adresář.

Přidejte možnost vyloučit s názvem balíčku v úložišti . Líbí se:Chcete-li vyloučit jakýkoli balíček, řekněte víno z epel repo , přidejte následující řádek do epel.repo soubor:

[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

Nyní zkuste aktualizovat víno balíček, zobrazí se chyba, jak je uvedeno níže:

# 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. Zakázat aktualizaci balíčku pomocí možnosti versionlock

5. Dalším způsobem v yum, jak zamaskovat verzi libovolného balíčku, a učinit jej tak nedostupným pro aktualizaci, je použít versionlock možnost yum, ale k tomu musíte yum-plugin-versionlock balíček nainstalovaný v systému.

# yum -y install yum-versionlock

Chcete-li například uzamknout verzi balíčku, řekněte httpd do 2.4.6 stačí napsat následující příkaz jako root.

# yum versionlock add httpd
Ukázkový výstup
Loaded plugins: fastestmirror, langpacks, versionlock
Adding versionlock on: 0:httpd-2.4.6-40.el7.centos
versionlock added: 1

Chcete-li zobrazit zamčené balíčky, použijte následující příkaz, který zobrazí seznam balíčků, jejichž verze byla uzamčena.

# yum versionlock list httpd
Ukázkový výstup
Loaded plugins: fastestmirror, langpacks, versionlock
0:httpd-2.4.6-40.el7.centos.*
versionlock list done

Závěr

Toto je několik tipů, které vám pomohou zakázat/zamknout aktualizace balíčků pomocí správce balíčků yum. Pokud máte nějaké další triky, jak udělat stejné věci, můžete je s námi okomentovat.


Linux
  1. Jak zakázat/uzamknout nebo zakázat aktualizace balíčků pomocí nástroje Apt

  2. Náhrada příkazů pomocí „?

  3. Downgrade balíčku rpm na nižší verzi (pomocí příkazu „rpm“)

  1. Jak zakázat úložiště balíčků YUM na CentOS

  2. Použití příkazů Yum k deaktivaci a odstranění úložišť balíčků v systému CentOS

  3. Zakázat kontrolu transakce yum pro konflikt souborů

  1. Příklady příkazů YUM pro instalaci, odstranění a upgrade balíčků

  2. Jak zakázat Ctrl+c nebo Ctrl+z pomocí příkazu „trap“ v Linuxu

  3. Příklady příkazů yum v Linuxu