Come aggiornare pacchetti specifici usando Yum
In questa guida, ci immergeremo e vedremo come possiamo aggiornare pacchetti specifici su CentOS Stream. Di tanto in tanto, ti potrebbe essere chiesto di aggiornare alcuni pacchetti e lasciare altri nelle loro versioni predefinite. Uno dei motivi è mantenere la stabilità dei pacchetti utilizzati nell’esecuzione di servizi cruciali come database e server web. A volte un aggiornamento può comportare modifiche al pacchetto che possono influire sul normale funzionamento dei servizi.
Utilizzo di yum per aggiornare pacchetti specifici
Prima di ogni altra cosa, potrebbe essere necessario verificare la presenza di pacchetti con aggiornamenti in sospeso. Per fare ciò, eseguire il seguente comando
yum list updates
Potrebbe essere necessario elencare più versioni di un pacchetto che esistono sul proprio sistema. Per fare ciò, eseguire il comando seguente
yum --showduplicates list httpd | expand
Nell’esempio sopra, visualizzerai più versioni del pacchetto 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-releases
Dai risultati precedenti, notiamo che il pacchetto httpd attualmente installato è version 2.4.6-67.el7_4.6 che è il più recente. Se desideri installare una versione specifica del pacchetto, come procederesti? La sintassi per questo sarà come mostrato di seguito
yum install packagename version
Ad esempio, se desideri eseguire il downgrade alla versione 2.4.6-67.el7_4.5, dovrai prima rimuovere l’ultima versione, come mostrato.
yum remove httpd
Successivamente, installa la tua versione preferita di httpd come mostrato.
yum install httpd 2.4.6-67.el7_4.5
Per bloccare la versione del pacchetto che abbiamo installato, per evitare possibili futuri aggiornamenti, utilizziamo il plugin versionlock. Per installare il plugin, esegui
yum install yum-versionlock
Esempio di output
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!
Per bloccare la versione del nostro pacchetto httpd, eseguiremo il comando seguente
yum versionlock httpd
Uscita
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos, versionlock
Adding versionlock on: 0:httpd-2.4.6-67.el7_4.5
versionlock added: 1
Per aggiornare determinati pacchetti
yum upgrade package-name
Per escludere temporaneamente un pacchetto da un aggiornamento, eseguire il seguente comando
yum --exclude update package-name
In alternativa, puoi usare -x
bandiera invece di --exclude
yum -x exclude httpd,php
Il comando precedente escluderà i pacchetti httpd e php dall’aggiornamento perché il resto dei pacchetti viene aggiornato.
Se vuoi disabilitare permanentemente un pacchetto dagli aggiornamenti, individua yum.conf
in /etc/yum/yum.conf
Ecco un’istantanea di come appare

Per escludere un pacchetto, aggiungi exclude=package-name
alla fine del file di configurazione. In questo esempio, escluderemo dall’aggiornamento i pacchetti samba , httpd , php e mariadb come mostrato di seguito.

Ora, se provi ad aggiornare uno di questi pacchetti, otterrai un file No packages marked for update
errore.

Grazie per la lettura, si prega di lasciare feedback e suggerimenti nella sezione commenti qui sotto.