#howto - Installare una versione specifica di un pacchetto su CentOS, Fedora, Debian, Ubuntu e derivate

Scritto da il
Redatto da
ubuntu - centos - bash

Questa guida è stata inizialmente scritta in data 9 marzo 2018 da Mirko Brombin e revisionata e aggiornata quasi tre anni dopo da Alessandro Zangrandi.

Solitamente, quando si installa un pacchetto o un software su una distribuzione Linux, il programma di gestione dei pacchetti seleziona l’ultima versione del pacchetto dalla repository, per impostazione predefinita.

A volte, tuttavia, per problemi di compatibilitá e/o attività particolari, si potrebbe aver bisogno di una versione diversa e ben specifica di quel pacchetto o quel software.

In questa nuova guida spiegheró come installare una versione specifica di un software/pacchetto tramite yum (per CentOS e Fedora) ed apt (per Ubuntu e derivate).

Procedimento per CentOS/Fedora

Grazie all’istruzione --showduplicates è possibile conoscere quante versioni del pacchetto a cui siamo interessati sono disponibili nelle repository. Nel mio caso specifico, è installata la versione 2.4.6.67.el7.centos.6 del software httpd (Apache) del repository updates. Ricapitolando dunque la lettura dell’output avremo:

  • A sinistra: nome del pacchetto
  • Al centro: versione del pacchetto
  • A destra: repository in cui il pacchetto si trova

Qualora volessimo installare una versione precedente del pacchetto httpd, è cosa buona e giusta disinstallare la versione attuale del software:

yum remove httpd

o, genericamente:

yum remove "software/pacchetto"

Per installare la versione del pacchetto che ci interessa, (come esempio useremo la versione 2.4.6.67.el7.centos.2 di Apache) dovremo digitare:

yum install httpd-2.4.6.67.el7.centos.2

Procedura per Debian, Ubuntu e derivate

Per questa famiglia di distribuzioni, invece, che basano la gestione dei pacchetti su APT, possiamo fare la stessa cosa grazie all’istruzione:

apt-cache policy "nome pacchetto"

Con questo comando sarà possibile scoprire quante versioni del software/pacchetto sono presenti nei repository ed eventualmente installare una versione precedente. Come esempio useremo Firefox:

apt-cache policy firefox

con il comando che ci darà un output simile al seguente:

firefox:  Installato: 58.0.2+build1-0ubuntu0.16.04.1  Candidato:  58.0.2+build1-0ubuntu0.16.04.1  Tabella versione: *** 58.0.2+build1-0ubuntu0.16.04.1 500        500 http://de.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages        500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages        100 /var/lib/dpkg/status     45.0.2+build1-0ubuntu1 500        500 http://de.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

La versione installata sul sistema è la 58.0.2+build1-0ubuntu0.16.04.1. Qualora volessimo installare la versione 45.0.2+build1-0ubuntu1, possiamo digitare:

apt remove firefox
apt install firefox=45.0.2+build1-0ubuntu1
history_edu Revisioni