V tomto článku se ponoříme do hloubky a uvidíme, jak můžeme upgradovat konkrétní balíčky v distribucích CentOS. Jednou za čas budete možná muset upgradovat některé balíčky a ostatní ponechat ve výchozích verzích. Jedním z důvodů je zachování stability balíčků, které se používají při spouštění klíčových služeb, jako jsou databáze a webové servery. Někdy může mít upgrade za následek změny v balíčku, které mohou ovlivnit normální běh služeb.
Použití yum k upgradu konkrétních balíčků v CentOS
Než cokoli jiného, možná budeme muset nejprve zkontrolovat balíčky s čekajícími aktualizacemi. Chcete-li to provést, spusťte následující příkaz
yum list updatesMožná budete muset zobrazit více verzí balíčku, který existuje ve vašem systému. Chcete-li to provést, spusťte níže uvedený příkaz
yum --showduplicates list httpd | expandVe výše uvedeném příkladu budete zobrazovat několik verzí balíčku httpd.
 Installed Packages
httpd.x86_64         2.4.6-67.el7_4.6          @rhui-REGION-rhel-server-releases
Available Packages
httpd.x86_64         2.4.6-17.el7              rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-18.el7_0            rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-19.el7_0            rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-31.el7              rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-31.el7_1.1          rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-40.el7              rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-40.el7_2.1          rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-40.el7_2.4          rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-45.el7              rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-45.el7_3.4          rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-67.el7              rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-67.el7_4.2          rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-67.el7_4.5          rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-67.el7_4.6          rhui-REGION-rhel-server-releasesZ výsledků výše jsme si všimli, že aktuálně nainstalovaný balíček httpd je verze 2.4.6-67.el7_4.6, což je nejnovější. Co kdybyste chtěli nainstalovat konkrétní verzi balíčku, jak byste to udělali? Syntaxe pro to bude taková, jak je uvedeno níže
yum install packagename versionPokud si například přejete přejít na nižší verzi na verzi 2.4.6-67.el7_4.5, budete muset nejprve odstranit nejnovější verzi, jak je znázorněno.
yum remove httpdPoté nainstalujte preferovanou verzi httpd, jak je znázorněno.
yum install httpd 2.4.6-67.el7_4.5K uzamčení verze balíčku, kterou jsme nainstalovali, a odvrácení jakýchkoli budoucích aktualizací používáme plugin versionlock. Chcete-li nainstalovat plugin, spusťte
yum install yum-versionlockUkázkový výstup
yum-plugin-versionlock-1.1.31-42.el7.noarch.rpm                                                                                                  |  32 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : yum-plugin-versionlock-1.1.31-42.el7.noarch                                                                                                          1/1
  Verifying  : yum-plugin-versionlock-1.1.31-42.el7.noarch                                                                                                          1/1
Installed:
  yum-plugin-versionlock.noarch 0:1.1.31-42.el7
Complete!Chcete-li uzamknout naši verzi balíčku httpd, spustíme příkaz níže
yum versionlock httpdVýstup
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos, versionlock
Adding versionlock on: 0:httpd-2.4.6-67.el7_4.5  
versionlock added: 1Upgrade konkrétních balíčků
yum upgrade package-nameChcete-li dočasně vyloučit balíček z upgradu, spusťte následující příkaz
yum --exclude update package-name
 Případně můžete použít -x příznak namísto --exclude 
yum -x exclude httpd,phpVýše uvedený příkaz vyřadí z upgradu balíčky httpd a php, protože jsou upgradovány zbývající balíčky.
 Pokud chcete natrvalo zakázat aktualizace balíčku, vyhledejte yum.conf v /etc/yum/yum.conf
Zde je ukázka toho, jak to vypadá
 
 
 Chcete-li balíček vyloučit, přidejte exclude=package-name na konci konfiguračního souboru. V tomto příkladu vyjmeme z upgradu balíčky samba , httpd, php a mariadb, jak je uvedeno níže.
 
 
 
 Pokud se pokusíte upgradovat některý z těchto balíčků, zobrazí se No packages marked for update chyba.
 
 Související čtení:
- Jak vyloučit konkrétní balíčky z aktualizace Yum
- Jak vyloučit konkrétní balíček z upgradu apt-get
Příkazy si můžete vyzkoušet. Vaše zpětná vazba je velmi vítána. Děkuji.