S'identifier / Créer un compte
  • Actualités
  • Dossiers
  • Tests
  • Commentaires
  • INpactiens
Publicité

Les vieilles machines virtuelles Java supprimées automatiquement d'Ubuntu

Pas de kill switch, mais une mise à jour fantôme

Même si la popularité de la distribution Linux Ubuntu semble décroitre, elle est aujourd’hui l’une des plus connues et utilisées. Canonical, qui se tient derrière Ubuntu, a pourtant pris une décision qui pourrait écorner cette popularité : supprimer un paquet logiciel sur un grand nombre de machines. La raison invoquée ? La sécurité.

ubuntu

Le rachat de Sun par Oracle a provoqué de nombreux changements, dont l’un particulièrement important intervenu en aout dernier : la fin de la Distributor License for Java pour les systèmes d’exploitation. En clair, les fournisseurs de systèmes d’exploitation n’avaient plus la possibilité de distribuer eux-mêmes les paquets Java Development Kit (JDK). Oracle souhaite maitriser en effet la distribution de la machine virtuelle Java.

Sur Ubuntu, comme sur d’autres distributions Linux, on trouve la version libre OpenJDK de cette machine virtuelle, mais ses capacités ne sont pas tout à fait les mêmes que celle du JDK classique. De fait, des utilisateurs installent cette dernière depuis plusieurs mois, sans se rendre compte que la dernière révision date du mois d’août et qu’elle n’est plus mise à jour suite au retrait de la Distributor License.

Canonical a donc pris une décision radicale : plutôt que de laisser en place un JDK criblé de failles de sécurité déjà exploitées, les machines vont en être débarrassées. Il ne s’agit pas à proprement parler d’un kill switch, car Ubuntu ne dispose pas d’une commande de destruction à distance. En revanche, les systèmes qui se connecteront au serveur de mise à jour se verront attribuer un paquet vide en remplacement de l’ancien. Cet échange se fera donc sous la forme d’une mise à jour fantôme, mais la date exacte reste encore à déterminer. Une décision équivalente à celle déjà prise par les  développeurs de Debian.

Ubuntu 11.10 ne contient déjà plus le JDK car cette version est sortie après la décision d’Oracle. Pour les autres cependant, la situation les concerne, et trois moutures du système sont impactées :
  • Ubuntu 10.04 LTS (Lucid Lynx)
  • Ubuntu 10.10 (Maverick Meerkat)
  • Ubuntu 11.04 (Natty Narwhal)
Mais pourquoi un tel nettoyage par le vide ? Marc Deslauriers de chez Canonical explique que la décision n’était pas facile mais qu’elle avait le mérite de répondre à un problème réel. Les failles du JDK étaient déjà exploitées et il n’existait pas de mise à jour. Plutôt que de laisser les failles en place, Canonical a choisi de supprimer un composant jugé désormais comme dangereux. Désormais, il existe deux solutions pour disposer de Java : installer l’OpenJDK depuis le dépôt principal d’Ubuntu, ou installer manuellement le logiciel depuis le site d’Oracle.

Évidemment, la problématique soulevée n’est pas tant celle de la sécurité que de la décision unilatérale de Canonical au sujet du retrait d’un paquet. Les raisons qui ont poussé l’éditeur à procéder ainsi sont compréhensibles, mais certains utilisateurs risquent de ne pas apprécier une décision qui a été prise pour eux. Un comportement plus proche des plateformes mobiles que du PC classique. Mais comme on a pu le voir récemment avec le Windows Store de Windows 8, cette possibilité est inhérente au fonctionnement des dépôts centralisés : le contrôle du dépôt entraîne celui des composants qui s’y trouvent.
Vincent Hermann

Rédacteur/journaliste spécialisé dans le logiciel et en particulier les systèmes d'exploitation. Ne se déplace jamais sans son épée.

Publiée le 19/12/2011 à 09:29

Soutenez l'indépendance de Next INpact en devenant Premium

  • Tout le contenu de Next INpact sans pub
  • Et bien plus encore...

Il y a 214 commentaires

Avatar de joss17 INpactien
joss17 Le lundi 19 décembre 2011 à 14:52:57
Inscrit le mardi 24 juin 08 - 1057 commentaires

En même temps, c'est aussi ce qui as fait le succès d'Ubuntu.

Non je pense que le succès d'ubuntu avant tout c'est leur installeur (ubiquity), le live cd et leurs versions tout les six mois.

a+


Edité par joss17 le lundi 19 décembre 2011 à 14:53
Avatar de sr17 INpactien
sr17 Le lundi 19 décembre 2011 à 14:57:50
Inscrit le lundi 26 décembre 05 - 12018 commentaires


Sauf qu'on ne sait pas encore dans les détails ce qu'ils vont faire.

Je réitère ma question : comment ça se passerait si on supprime un paquet dont dépendent d'autres paquets. Si je suis pas complètement bouché, la ligne de dépendance est supprimée.

C'est pas vraiment une solution non plus.

Et je réitère mon autre question :
Est-ce qu'on peut pas jouer avec les dépendances de paquets et autres "incompatible avec" pour faire ça intelligemment et proposer une OpenJDK (seule solution disponible désormais) en remplacement ?


Ce n'est pas une bonne solution parce qu'il y a des incompatibilités. Il faudrait donc que les logiciels soient revalidés avec OpenJDK. Le choix doit incomber aux administrateurs. Mais le plus simple en maintenance, ce sera d'installer manuellement la version d'Oracle.

Avatar de ragoutoutou INpactien
ragoutoutou Le lundi 19 décembre 2011 à 14:57:59
Inscrit le mercredi 25 juillet 07 - 4609 commentaires
Bon, alors on va essayer de faire simple :

Ubuntu me dit "mise à jour de Java disponible, voulez-vous appliquer la mise à jour ?", j'accepte. Java est supprimé. C'est mensonger, anormal, et inadmissible.


Inadmissible, je ne dirais pas, puisqu'il y a une description dans le gestionnaire de mise à jour, des release notes, ... par contre, c'est un peu découplé du contexte et c'est moins bien que la solution adoptée par Red Hat.



Si, en revanche, Ubuntu me disait "suppression de Java recommandée pour des raisons de sécurité", il n'y aurait aucun problème, même si c'était coché par défaut.


C'est un fait, ce serait plus visible.


Sans compter les effets de bord : les gestionnaires de paquets vont rapporter que Java est installé et à jour (puisqu'il s'agit d'un paquet vide). Bonjour le bordel...

Tout à fait d'accord...

Certains devraient enlever leurs oeillères et admettre que c'est une connerie de tromper l'utilisateur. Le fait que ce soit Canonical ne change rien à la situation.


Canonical ne trompe pas volontairement l'utilisateur, il a juste un peu merdé au niveau communication (fallait des grosses lettres et des formes colorées qui clignotent)

Avatar de Zergy INpactien
Zergy Le lundi 19 décembre 2011 à 14:59:45
Inscrit le jeudi 30 juin 05 - 7817 commentaires
Question : est-ce que Canonical fait des mises à jour fantôme pour tous les softs du dépôt qui ont une faille connue ?

Oui :
[quote]
# apt-get update && apt-get upgrade
[…]
Il est nécessaire de télécharger 2 Mo, après mise à jour, 4,2 Go d'espace disque sera libéré.
[/quote]


Edité par Zergy le lundi 19 décembre 2011 à 15:01
Avatar de gouessej INpactien
gouessej Le lundi 19 décembre 2011 à 15:00:40
Inscrit le dimanche 8 août 10 - 361 commentaires


Ca, on ne sais pas. La logique voudrait effectivement qu'on prévienne au moins l'utilisateur. Mais c'est peut être ce qui est prévu.



En même temps, il y a un problème de failles de sécurité qui présente un danger important. C'est pourquoi il est urgent d'agir.

Après tout, Ubuntu aurait pu laisser pisser et laisser les failles. Il faut apprécier le fait qu'ils ont eu le courage de faire le nécessaire pour la sécurité de la distro.



C'est exagéré, j'ai déjà eu cette discussion avec les mainteneurs de Mozilla Firefox quand ils ont voulu bloquer Java par défaut. Certaines des failles en question ont traîné dans des implémentations des web sockets, une des failles concerne même aussi Moonlight mais là, personne n'envisage des solutions aussi radicales que pour Java. Je rejoins Hoper, certaines personnes (ab)usent de l'argument de la sécurité pour vous faire avaler n'importe quoi, un communiqué de presse aurait été plus opportun. Oracle n'aurait pas dû serrer la vis au niveau de la distributor license.

Ce n'est pas une bonne solution parce qu'il y a des incompatibilités. Il faudrait donc que les logiciels soient revalidés avec OpenJDK. Le choix doit incomber aux administrateurs. Mais le plus simple en maintenance, ce sera d'installer manuellement la version d'Oracle.

Je suis assez d'accord. Il peut y avoir quelques incompatibilités, il est préférable que les logiciels soient (re)validés avec l'OpenJDK pour s'assurer qu'il n'y ait pas de régression.

Edité par gouessej le lundi 19 décembre 2011 à 15:03
Avatar de ragoutoutou INpactien
ragoutoutou Le lundi 19 décembre 2011 à 15:01:31
Inscrit le mercredi 25 juillet 07 - 4609 commentaires

Ce n'est pas si simple, même Minecraft est connu pour mal fonctionner avec OpenJDK et ça c'est de la faute du développeur (qui fréquentait javagaming.org comme moi). Cela peut très bien se passer sans souci pour de nombreuses applications mais je maintiens que la décision de Canonical est précipitée. Il aurait fallu laisser le temps aux développeurs de préparer cette transition.


Ce n'est pas comme si Canonical interdisait d'utiliser la JVM d'Oracle , il suffit de la télécharger et de l'installer à la main après avoir accepté l'EULA...

D'ailleurs c'est comme ça qu'on fait sous windows, non?


Edité par ragoutoutou le lundi 19 décembre 2011 à 15:01
Avatar de sr17 INpactien
sr17 Le lundi 19 décembre 2011 à 15:01:53
Inscrit le lundi 26 décembre 05 - 12018 commentaires

Non je pense que le succès d'ubuntu avant tout c'est leur installeur (ubiquity), le live cd et leurs versions tout les six mois.

a+


Moi je pense que c'est la facilité générale d'installation. Et le fait que l'installation de tous les plugins et drivers propriétaires mais indispensables soient pris en compte contribue grandement à cette facilité. Tout est dispo en quelques clics sans devoir se taper téléchargements et installations en ligne de commande.

Le reproche qui est souvent fait à Linux, c'est d'obliger les utilisateurs à des manipulations complexes pour installer ce dont ils ont besoin. Ubuntu a fait disparaitre les motifs de ce grief et donc beaucoup contribué à l'adoption de Linux.

On peut voir cela comme une compromission (et c'en est une). Mais il faut quand même reconnaitre que cela a été extrêmement positif pour le développement de Linux et des logiciels libres.


Edité par Sr17 le lundi 19 décembre 2011 à 15:02
Avatar de lorinc INpactien
lorinc Le lundi 19 décembre 2011 à 15:07:08
Inscrit le lundi 19 avril 04 - 11222 commentaires


Oui enfin c'est un peu la raison d'être d'Ubuntu, de packager du soft closed source pour abaisser un peu la barrière technique...


Mouarf, 5 pages pour en arriver là. Moi qui croyais qu'ubuntu était là pour faire des interfaces bling-bling pour les boutonneux qui ne savent pas configurer Debian...
Avatar de lorinc INpactien
lorinc Le lundi 19 décembre 2011 à 15:09:09
Inscrit le lundi 19 avril 04 - 11222 commentaires

Je fais du Java depuis 2002. J'ai réussi à exécuter Frag Island écrit en 1997 avec une JVM 1.6 update 30 qui a quelques semaines. Désolé mais quelques développeurs Java rodent dans le coin, vous ne pouvez pas balancer des énormités sans être repris par celles et ceux qui savent de quoi ils parlent.


En plus, le vrai slogan, c'était "Java: write once, wait everywhere!"

Je dis ça, mais je fais du Java tous les jours, hein. Je donne même des cours de Java...
Avatar de gouessej INpactien
gouessej Le lundi 19 décembre 2011 à 15:11:08
Inscrit le dimanche 8 août 10 - 361 commentaires
Ce n'est pas comme si Canonical interdisait d'utiliser la JVM d'Oracle , il suffit de la télécharger et de l'installer à la main après avoir accepté l'EULA...

D'ailleurs c'est comme ça qu'on fait sous windows, non?

Ubuntu est une distribution grand public, Java est très utilisé (n'en déplaisent à certains), je conseille ce genre de distribution à des gens qui ne savent pas ce qu'est un terminal et qui comprennent à peine ce qu'est un paquetage donc une installation à la main n'est pas satisfaisante car elle n'est pas nécessairement à leur portée et ils ont fait le choix de la simplicité en prenant Ubuntu, non? Pour moi, ce changement n'est pas grave car je peux faire ça sans souci, je me mets simplement à la place des gens dans mon entourage que j'ai convaincus de passer à Linux.
;