GNU/Linux >> Znalost Linux >  >> Linux

10 Yum Exclude Příklady pro přeskočení balíčků pro Linux Yum Update (Jak Yum vyloučit aktualizace jádra)

Když provedete aktualizaci yum, stáhne se nejnovější verze všech balíčků nainstalovaných ve vašem systému, a upgradujte je na nejnovější verzi.

Můžete být v situaci, kdy možná nebudete chtít, aby yum automaticky aktualizoval jeden (nebo více) konkrétních balíčků.

V těchto situacích použijte možnost vyloučení yum, jak je uvedeno v příkladech níže.

1. Vyloučit jeden balíček pomocí volby -x

Například v tomto systému používáme PHP 5.1 a vlastní php aplikace běžící na tomto systému zatím není testována s žádnou jinou novou verzí PHP.

# rpm -q php
php-5.1.0-27.el6_5.x86_64

Takže v tomto případě, když provádíme aktualizaci, chceme vyloučit pouze jeden konkrétní balíček, kterým je php. Jak vidíme níže, následující znamená, že balíček php bude aktualizován na verzi 5.3.3, když provedeme příkaz ‚yum update‘.

# yum check-update php
php.x86_64    5.3.3-40.el6_6      updates

Následující vyloučí pouze jeden balíček (php) během aktualizace yum.

# yum -x php update

2. Vyloučit více balíčků pomocí volby -x

Můžete vyloučit více balíčků zadáním více voleb -x, jak je uvedeno níže:

yum -x php -x httpd update

Můžete také vyloučit více než jeden balíček zadáním seznamu balíčků oddělených čárkou. Následující se bude chovat přesně stejně jako výše.

yum -x php,httpd update

3. Vyloučit více balíčků (např. balíčky jádra) pomocí zástupného znaku

Ve většině situací možná nebudete chtít, aby aktualizace yum automaticky aktualizovala jádro.

Než provedete skutečnou aktualizaci yum, můžete provést kontrolu yum, která zobrazí všechny balíčky, které upgraduje během aktualizace yum.

Jak vidíte níže, v tomto příkladu existují tři balíčky související s jádrem, které budou upgradovány aktualizací yum.

# yum check-update | grep -i kernel
kernel.x86_64            2.6.32-504.1.3.el6  updates
kernel-firmware.noarch   2.6.32-504.1.3.el6  updates
kernel-headers.x86_64    2.6.32-504.1.3.el6  updates

Místo zadávání všech jednotlivých názvů balíčků v seznamu vyloučení -x můžeme jednoduše použít zástupné znaky shell glob, jak je uvedeno níže. Následující vyloučí všechny balíčky související s jádrem, které se začnou upgradovat během aktualizace yum.

yum -x kernel* update

4. Více seznamů zástupných znaků ve volbě -x

Můžete také zadat více seznamů zástupných znaků ve volbě -x.

Jak vidíte níže, následující indikace znamená, že existuje několik php balíčků, které budou upgradovány během příští aktualizace yum.

# yum check-update | grep -i php
php.x86_64         5.3.3-40.el6_6   updates
php-cli.x86_64     5.3.3-40.el6_6   updates
php-common.x86_64  5.3.3-40.el6_6   updates
php-xml.x86_64     5.3.3-40.el6_6   updates

Pokud chcete během příští aktualizace yum vyloučit všechny balíčky související s php a jádrem, můžete použít následující. Upozorňujeme, že v tomto příkladu byste měli použít „ “.

yum -x 'php*' -x 'kernel*' update

5. Použití –exclude místo -x

Můžete také použít –exclude místo -x, jak je uvedeno níže:

yum --exclude php update
yum --exclude httpd update
yum --exclude kernel update

yum -exclude php*,httpd*,kernel* update

6. Vyloučit balíčky pomocí souboru yum.conf

Místo určení balíčků, které mají být vyloučeny v příkazovém řádku, můžete je zadat v souboru /etc/yum.conf.

Chcete-li například vyloučit všechny balíčky php, httpd a kernel, které mají být vyloučeny z aktualizace yum, přidejte následující řádek:

exclude=php* httpd* kernel*

Nebo spusťte následující příkaz:

echo "exclude=php* httpd* kernel*" >> /etc/yum.conf

7. Použijte seznam oddělený čárkami

Můžete také vyloučit více než jeden balíček zadáním seznamu balíčků se zástupnými znaky oddělených čárkou. Následující se bude chovat přesně stejně jako výše.

yum -x php*,kernel* update

Chcete-li být konzistentní se způsobem, jakým jsme ukázali ostatní příklady pomocí volby -x výše, můžete také použít čárku (místo pouhé mezery) k oddělení několika balíčků, jak je uvedeno níže:

# vi /etc/yum.conf
exclude=php*,httpd*,kernel*

8. Vyloučit parametr uvnitř vlastního souboru úložiště

Místo zadávání parametru vylučování v hlavním souboru yum.conf jej můžete zadat také v samostatném souboru úložiště.

Pokud jste například nainstalovali mongodb, budete mít mongodb.repo v adresáři /etc/yum.repos.d. V tomto souboru mongodb.repo můžete zadat seznam vyloučených balíčků pro úložiště mongodb.

# vi /etc/yum.repos.d/mongodb.repo
exclude=mongo*

9. Simulovat Yum Exclude Check pomocí check-update (Dry-run -x)

Můžete také zadat volbu -x spolu s check-update. To vám pomůže zkontrolovat, zda volba -x, kterou jste zadali v příkazovém řádku nebo v souboru yum.conf, funguje podle očekávání.

Následující příklad například znamená, že jádro bude upgradováno během aktualizace yum.

# yum check-update | grep -i kernel
kernel.x86_64                        2.6.32-504.1.3.el6                  updates
kernel-firmware.noarch               2.6.32-504.1.3.el6                  updates
kernel-headers.x86_64                2.6.32-504.1.3.el6                  updates

Následující ukazuje, že parametr -x bude fungovat podle očekávání, protože ve výsledku nic nevrátil.

# yum -x kernel* check-update | grep -i kernel

Řekněme například, že v souboru yum.conf je přítomen následující řádek vyloučení.

# grep exclude /etc/yum.conf
exclude=php*,httpd*,kernel*

Následující text pak naznačuje, že seznam výjimek uvedený ve výše uvedeném souboru /etc/yum.conf bude fungovat podle očekávání, protože kontrolní aktualizace tyto balíčky (včetně jádra) v následujícím výstupu nezobrazila.

# yum check-update | egrep 'php|httpd|kernel'

10. Ignorujte soubor Exclude from yum.conf

Pokud chcete zakázat výjimky uvedené v souboru yum.conf. tj. Pokud nechcete, aby aktualizace yum zohledňovala seznam výjimek, který je uveden v souboru yum.conf, můžete použít volbu –disableexcludes z příkazového řádku.

V našem předchozím příkladu jsme vyloučili balíčky php, httpd a kernel, které mají být aktualizovány aktualizací yum.

Pokud však chcete, aby yum ignoroval tento seznam vyloučení (tj. deaktivoval vyloučení) a pokračoval v upgradu php, httpd a jádra jako součást běžného příkazu yum update, proveďte následující:

yum --disableexcludes=all update

Níže jsou uvedeny tři možné hodnoty, které můžete zadat do parametru disableexcludes

  • vše Zakázat všechna vyloučení
  • hlavní Zakázat výjimky uvedené v hlavní části souboru yum.conf
  • repoid Zakázat vyloučení zadaná pro dané ID úložiště

Pokud chcete zakázat výjimky pouze pro konkrétní vlastní úložiště, můžete zadat id úložiště (což je 1. sloupec v příkazu yum repolist, jak je znázorněno níže).

# yum repolist
repo id   repo name           status
mongodb   MongoDB Repository    240
base      CentOS-6 - Base     6,518
extras    CentOS-6 - Extras      35
updates   CentOS-6 - Updates    315

Následující příkaz zakáže (ignoruje) seznam vyloučení uvedený v souboru mongodb.repo v adresáři /etc/yum.repos.d.

yum --disableexcludes=mongodb update

Linux
  1. Linux – Jak povolit prostory uživatelských jmen v jádře? (pro nepřivilegované `unshare`.)?

  2. 15+ příkladů příkazu yum update

  3. Jak používat příklady zámku C Mutex pro synchronizaci vláken v Linuxu

  1. Jak používat kdump pro analýzu pádů jádra Linuxu

  2. 15 Příklady příkazů aptitude pro správu balíčků v Linuxu

  3. Jak zakázat vytváření soketu pro proces Linux pro sandboxing?

  1. Jak vyloučit konkrétní úložiště pro aktualizaci Yum v CentOS / Red Hat

  2. CentOS / RHEL:Vyloučení s Yum pro aktualizace jádra

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