Debian : switch de version de certains composants

Debian : switch de version de certains composants

Sur Debian comme sur la majorité des distributions Linux, il est possible d’avoir plusieurs versions d’un composant, comme par exemple Python ou Java…

Sauf que si on n’appelle pas la version exacte, on se retrouve bien souvent confronté à des erreurs.

Il est possible via une simple commande, de changer de version du programme pour l’ensemble du système : update-alternatives

 

Python :

Pour modifier facilement la version par défaut de python dans votre système, il faut avant tout connaître les versions installées sur votre machine. Pour cela, nous lançons un simple « ls » dans le bon chemin :

thierry@thierry-Athlon:~$ ls /usr/bin/python*
/usr/bin/python 
/usr/bin/python2.7 
/usr/bin/python3 
/usr/bin/python3.6m
/usr/bin/python2 
/usr/bin/python2-pbr 
/usr/bin/python3.6 
/usr/bin/python3m

 

Une fois que l’on connaît les versions disponible, on peut regarder ce que le système connaît réellement :

thierry@thierry-Athlon:~$ update-alternatives - -list python
update-alternatives: erreur: pas d'alternatives pour python

 

Visiblement… pas grand chose ! Il faut donc lui décrire les versions disponible en lançant les commandes suivantes :

thierry@thierry-Athlon:~$ sudo update-alternatives - -install /usr/bin/python python /usr/bin/python3 1
update-alternatives: utilisation de « /usr/bin/python3 » pour fournir « /usr/bin/python » (python) en mode automatique

 

thierry@thierry-Athlon:~$ sudo update-alternatives - -install /usr/bin/python python /usr/bin/python2 2
update-alternatives: utilisation de « /usr/bin/python2 » pour fournir « /usr/bin/python » (python) en mode automatique

 

Maintenant, si on liste les versions de python disponible dans le système, nous avons :

thierry@thierry-Athlon:~$ update-alternatives - -list python
/usr/bin/python2
/usr/bin/python3

 

En lançant la commande « update-alternatives« , on va pouvoir changer de version comme on le souhaite :

Il existe 2 choix pour l’alternative python (qui fournit /usr/bin/python).

thierry@thierry-Athlon:~$ sudo update-alternatives --config python 

Sélection Chemin Priorité État
0 /usr/bin/python2 2 mode automatique
1 /usr/bin/python2 2 mode manuel
2 /usr/bin/python3 1 mode manuel

Appuyez sur pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :2

update-alternatives: utilisation de « /usr/bin/python3 » pour fournir « /usr/bin/python » (python) en mode manuel

En lançant la commande « python –version« , vous retrouverez alors la version de python choisi précédemment.

 

Java :

sudo update-alternatives - -config java

Si vous installez une version de java que vous n’avez pas sur votre machine avec la commande « sudo apt-get install openjdk-8-jdk openjdk-8-jre » par exemple, cette version va s’installer, mais ne sera peut être pas celle qui sera utilisée lorsque vous appellerez la commande « java »; faites l’essai avec la commande « java -version« …

En utilisant la commande « update-alteratives – -config java« , elle vous retournera la liste des versions de Java installées et vous permettra de sélectionner celle que vous souhaitez :

thierry@thierry-Athlon:~$ sudo update-alternatives - -config java
Il existe 2 choix pour l'alternative java (qui fournit /usr/bin/java).
Appuyez sur pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 mode automatique
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 mode manuel
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 mode manuel

Appuyez sur pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné

 

La commande « update-alternatives » n’existe pas sous Linux Mint, il faut alors utiliser la commande « update-java-alternatives -s … » (tabuller pour trouver la suite).
Sous RedHat/CentOS, la commande « sudo alternatives –config java » sera celle que l’on utilisera pour ce genre de distribution

 

 

 

Autres programmes…

La page de « man » de « update-alternatives » indique qu’il est possible d’utiliser ce système pour différents composant, comme par exemple changer d’éditeur de texte (vi, nano, joe, etc…), de version de PHP, etc…

 

Comments

No comments yet. Why don’t you start the discussion?

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.