{"id":7682,"date":"2019-02-10T12:53:12","date_gmt":"2019-02-10T10:53:12","guid":{"rendered":"https:\/\/www.domorizon.eu\/blog\/?p=7682"},"modified":"2019-08-06T18:14:24","modified_gmt":"2019-08-06T16:14:24","slug":"debian-switch-de-version-de-certains-composants","status":"publish","type":"post","link":"https:\/\/www.domorizon.eu\/blog\/debian-switch-de-version-de-certains-composants\/","title":{"rendered":"Debian : switch de version de certains composants"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">Sur Debian comme sur la majorit\u00e9 des distributions Linux, il est possible d&rsquo;avoir plusieurs versions d&rsquo;un composant, comme par exemple Python ou Java&#8230;<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Sauf que si on n&rsquo;appelle pas la version exacte, on se retrouve bien souvent confront\u00e9 \u00e0 des erreurs.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Il est possible via une simple commande, de changer de version du programme pour l&rsquo;ensemble du syst\u00e8me : <strong><em>update-alternatives<\/em><\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">&nbsp;<\/p>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\">Python :<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Pour modifier facilement la version par d\u00e9faut de python dans votre syst\u00e8me, il faut avant tout conna\u00eetre les versions install\u00e9es sur votre machine. Pour cela, nous lan\u00e7ons un simple \u00ab\u00a0ls\u00a0\u00bb dans le bon chemin :<\/p>\r\n\r\n\r\n\r\n<pre class=\"lang:sh decode:true \">thierry@thierry-Athlon:~$ ls \/usr\/bin\/python*\r\n\/usr\/bin\/python \r\n\/usr\/bin\/python2.7 \r\n\/usr\/bin\/python3 \r\n\/usr\/bin\/python3.6m\r\n\/usr\/bin\/python2 \r\n\/usr\/bin\/python2-pbr \r\n\/usr\/bin\/python3.6 \r\n\/usr\/bin\/python3m\r\n<\/pre>\r\n<p class=\"wp-block-paragraph\">&nbsp;<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Une fois que l&rsquo;on conna\u00eet les versions disponible, on peut regarder ce que le syst\u00e8me conna\u00eet r\u00e9ellement :<\/p>\r\n\r\n\r\n\r\n<pre class=\"lang:sh decode:true\">thierry@thierry-Athlon:~$ update-alternatives - -list python\r\nupdate-alternatives: erreur: pas d'alternatives pour python\r\n<\/pre>\r\n<p class=\"wp-block-paragraph\">&nbsp;<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Visiblement&#8230; pas grand chose ! Il faut donc lui d\u00e9crire les versions disponible en lan\u00e7ant les commandes suivantes :<\/p>\r\n\r\n\r\n\r\n<pre class=\"lang:sh decode:true\">thierry@thierry-Athlon:~$ sudo update-alternatives - -install \/usr\/bin\/python python \/usr\/bin\/python3 1\r\nupdate-alternatives: utilisation de \u00ab \/usr\/bin\/python3 \u00bb pour fournir \u00ab \/usr\/bin\/python \u00bb (python) en mode automatique\r\n<\/pre>\r\n<p class=\"wp-block-paragraph\">&nbsp;<\/p>\r\n\r\n\r\n\r\n<pre class=\"lang:sh decode:true\">thierry@thierry-Athlon:~$ sudo update-alternatives - -install \/usr\/bin\/python python \/usr\/bin\/python2 2\r\nupdate-alternatives: utilisation de \u00ab \/usr\/bin\/python2 \u00bb pour fournir \u00ab \/usr\/bin\/python \u00bb (python) en mode automatique\r\n<\/pre>\r\n<p class=\"wp-block-paragraph\">&nbsp;<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Maintenant, si on liste les versions de python disponible dans le syst\u00e8me, nous avons :<\/p>\r\n\r\n\r\n\r\n<pre class=\"lang:sh decode:true \">thierry@thierry-Athlon:~$ update-alternatives - -list python\r\n\/usr\/bin\/python2\r\n\/usr\/bin\/python3\r\n<\/pre>\r\n<p class=\"wp-block-paragraph\">&nbsp;<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">En lan\u00e7ant la commande \u00ab\u00a0<strong><em>update-alternatives<\/em><\/strong>\u00ab\u00a0, on va pouvoir changer de version comme on le souhaite :<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Il existe 2 choix pour l&rsquo;alternative python (qui fournit <em>\/usr\/bin\/python<\/em>).<\/p>\r\n<pre class=\"lang:c++ decode:true \">thierry@thierry-Athlon:~$ sudo update-alternatives --config python \r\n\r\nS\u00e9lection Chemin Priorit\u00e9 \u00c9tat\r\n0 \/usr\/bin\/python2 2 mode automatique\r\n1 \/usr\/bin\/python2 2 mode manuel\r\n2 \/usr\/bin\/python3 1 mode manuel\r\n\r\nAppuyez sur pour conserver la valeur par d\u00e9faut[*] ou choisissez le num\u00e9ro s\u00e9lectionn\u00e9\u00a0:2\r\n\r\nupdate-alternatives: utilisation de \u00ab\u00a0\/usr\/bin\/python3\u00a0\u00bb pour fournir \u00ab\u00a0\/usr\/bin\/python\u00a0\u00bb (python) en mode manuel\r\n<\/pre>\r\n\r\n\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">En lan\u00e7ant la commande \u00ab\u00a0<strong><em>python &#8211;version<\/em><\/strong>\u00ab\u00a0, vous retrouverez alors la version de python choisi pr\u00e9c\u00e9demment.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">&nbsp;<\/p>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\">Java :<\/h4>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>sudo update-alternatives - -config java<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Si vous installez une version de java que vous n&rsquo;avez pas sur votre machine avec la commande \u00ab\u00a0<strong><em>sudo apt-get install openjdk-8-jdk openjdk-8-jre<\/em><\/strong>\u00a0\u00bb par exemple, cette version va s&rsquo;installer, mais ne sera peut \u00eatre pas celle qui sera utilis\u00e9e lorsque vous appellerez la commande \u00ab\u00a0java\u00a0\u00bb; faites l&rsquo;essai avec la commande \u00ab\u00a0<strong><em>java -version<\/em><\/strong>\u00ab\u00a0&#8230;<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">En utilisant la commande \u00ab\u00a0<strong><em>update-alteratives &#8211; -config java<\/em><\/strong>\u00ab\u00a0, elle vous retournera la liste des versions de Java install\u00e9es et vous permettra de s\u00e9lectionner celle que vous souhaitez :<\/p>\r\n<pre class=\"lang:c++ decode:true \">thierry@thierry-Athlon:~$ sudo update-alternatives - -config java\r\nIl existe 2 choix pour l'alternative java (qui fournit \/usr\/bin\/java).\r\nAppuyez sur pour conserver la valeur par d\u00e9faut[*] ou choisissez le num\u00e9ro s\u00e9lectionn\u00e9\r\n0 \/usr\/lib\/jvm\/java-11-openjdk-amd64\/bin\/java 1101 mode automatique\r\n1 \/usr\/lib\/jvm\/java-11-openjdk-amd64\/bin\/java 1101 mode manuel\r\n2 \/usr\/lib\/jvm\/java-8-openjdk-amd64\/jre\/bin\/java 1081 mode manuel\r\n\r\nAppuyez sur pour conserver la valeur par d\u00e9faut[*] ou choisissez le num\u00e9ro s\u00e9lectionn\u00e9\r\n<\/pre>\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">[tds_note]La commande \u00ab\u00a0update-alternatives\u00a0\u00bb n&rsquo;existe pas sous Linux Mint, il faut alors utiliser la commande \u00ab\u00a0update-java-alternatives -s &#8230;\u00a0\u00bb (tabuller pour trouver la suite).[\/tds_note]<\/p>\r\n<p>[tds_note]Sous RedHat\/CentOS, la commande \u00ab\u00a0sudo alternatives &#8211;config java\u00a0\u00bb sera celle que l&rsquo;on utilisera pour ce genre de distribution[\/tds_note]<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\">Autres programmes&#8230;<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">La page de \u00ab\u00a0man\u00a0\u00bb de \u00ab\u00a0update-alternatives\u00a0\u00bb indique qu&rsquo;il est possible d&rsquo;utiliser ce syst\u00e8me pour diff\u00e9rents composant, comme par exemple changer d&rsquo;\u00e9diteur de texte (vi, nano, joe, etc&#8230;), de version de PHP, etc&#8230;<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">&nbsp;<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>[&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":1857,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[10],"tags":[298,300,85,299,297],"class_list":["post-7682","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-alternative","tag-java","tag-linux","tag-python","tag-switch"],"_links":{"self":[{"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/posts\/7682","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/comments?post=7682"}],"version-history":[{"count":10,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/posts\/7682\/revisions"}],"predecessor-version":[{"id":9759,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/posts\/7682\/revisions\/9759"}],"wp:attachment":[{"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/media?parent=7682"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/categories?post=7682"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/tags?post=7682"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}