In questo articolo, approfondiremo e vedremo come possiamo aggiornare pacchetti specifici su distribuzioni CentOS. Di tanto in tanto, potrebbe essere necessario aggiornare alcuni pacchetti e lasciare altri nelle loro versioni predefinite. Uno dei motivi è il mantenimento della stabilità dei pacchetti utilizzati per l'esecuzione di servizi cruciali come database e server Web. A volte un aggiornamento può comportare modifiche al pacchetto che possono influire sulla normale esecuzione dei servizi.
Utilizzo di yum per aggiornare pacchetti specifici in CentOS
Prima di ogni altra cosa, potrebbe essere necessario prima controllare i pacchetti con aggiornamenti in sospeso. Per fare ciò, esegui il seguente comando
yum list updates
Potrebbe essere necessario visualizzare più versioni di un pacchetto esistente nel sistema. Per fare ciò, esegui il comando qui sotto
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 sopra, notiamo che il pacchetto httpd attualmente installato è la versione 2.4.6-67.el7_4.6 che è l'ultima. E se volessi installare una versione specifica del pacchetto, come lo faresti? La sintassi sarà quella mostrata 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 httpd preferita come mostrato.
yum install httpd 2.4.6-67.el7_4.5
Per bloccare la versione del pacchetto che abbiamo installato, per evitare eventuali aggiornamenti futuri, utilizziamo il plug-in versionlock. Per installare il plugin, esegui
yum install yum-versionlock
Risultato campione
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
Risultato
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 pacchetti specifici
yum upgrade package-name
Per escludere temporaneamente un pacchetto da un aggiornamento, esegui il comando seguente
yum --exclude update package-name
In alternativa, puoi usare -x
flag invece di --exclude
yum -x exclude httpd,php
Il comando precedente escluderà i pacchetti httpd e php dall'aggiornamento mentre 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 i pacchetti samba , httpd, php e mariadb dall'aggiornamento come mostrato di seguito.
Se provi ad aggiornare uno di questi pacchetti, otterrai un No packages marked for update
errore.
Lettura correlata:
- Come escludere pacchetti specifici dall'aggiornamento Yum
- Come escludere un pacchetto specifico dall'aggiornamento apt-get
Siete invitati a provare i comandi. Il tuo feedback è molto gradito. Grazie.