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.

Le 19 décembre 2011 à 09:29 (24 556 lectures)

Il y a 214 commentaires

Avatar de joss17 INpactien
joss17 Le lundi 19 décembre 2011 à 10:33:53
Inscrit le mardi 24 juin 08 - 1057 commentaires
Sur le principe je trouve ça étonnant et confondant.
Je croyais qu'utiliser linux garantissait une totale liberté de ce qui est installé ou pas sur la machine.
Je me trompais.

Bah si t'as toujours la liberté totale sur ta machine, tu peux tout simplement refuser la mise à jour de ce paquet.

C'est une histoire de confiance : tout en ayant le contrôle total de ma machine, en installant ubuntu tu fais confiance à canonical pour distribuer correctement les logiciels que tu utilises. Mais si canonical merdoit ça veut pas dire que tu perd le contrôle de ta machine. À la limite tu pourrais dire que canonical t'a trompé, mais pas que tu as perdu le controle de ta machine.

C'est comme des feux de circulation à un carrefour, tu fais confiance à la signalisation, mais si la signalisation est merdique ça veut pas dire que tu n'es plus libre d'utiliser ton véhicule.

Concernant le jdk de sun de toute manière la licence n'est pas libre, donc c'était tout à fait prévisible que ça allait poser problème. Les avertis ne l'utilisent plus depuis longtemps.

a+
Avatar de ano_634942787518594033 INpactien
ano_634942787518594033 Le lundi 19 décembre 2011 à 10:34:11
Inscrit le samedi 15 août 09 - 1084 commentaires

Tu veux bien laisser les gens sérieux discuter entre eux sérieusement stp ? Si tu avait lu l'article, tu aurai appris que justement, les openjdk et la jvm de sun sont loin de faire la même chose.


C'est clair que c'est super précis :
ses capacités ne sont pas tout à fait les mêmes que celle du JDK classique.

Source ?

Les perfs sont un peu moins bonnes en graphique, mais au moins ça continue à faire fonctionner les programmes ! Tu arriveras au moins à faire tourner ton logiciel Java favori. Si c'était si mauvais que ça, Oracle n'aurait pas fait d'OpenJDK l'implémentation de référence pour Java 7 et supérieur.

Edité par Math73 le lundi 19 décembre 2011 à 10:37
Avatar de MdMax INpactien
MdMax Le lundi 19 décembre 2011 à 10:38:52
Inscrit le lundi 14 mai 07 - 2932 commentaires
Je vais devoir vérifier un truc ce soir, mais il me semble que j'utilise déjà l'OpenJDK sur ma 10.04. S'il me manquait un truc important, JOSM aurait déjà râlé.

Le "paquet vide" a été placé quand dans les dépots officiels ?
Avatar de joss17 INpactien
joss17 Le lundi 19 décembre 2011 à 10:39:47
Inscrit le mardi 24 juin 08 - 1057 commentaires
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.

Sauf que canonical contrôle uniquement ses dépôts, et pas les machines qui s'y connectent (par exemple il est tout à fait possible de désactiver la mise à jour sur le paquet sun-java), alors que windows 8 contrôle les machines clientes (le kill switch ça n'est pas pareil qu'une mise à jour désactivable).

a+

Edité par joss17 le lundi 19 décembre 2011 à 10:40
Avatar de brokensoul INpactien
brokensoul Le lundi 19 décembre 2011 à 10:42:11
Inscrit le mardi 16 mai 06 - 4166 commentaires
Sur le principe je trouve ça étonnant et confondant.
Je croyais qu'utiliser linux garantissait une totale liberté de ce qui est installé ou pas sur la machine.
Je me trompais.
On n'est finalement pas très loin du comportement d'un androphone ou de windows,.
Et ça ne date pas d'hier cette tendance dans le monde du "libre" :
Après tout mozilla met à jour firefox quand ça lui chante.

pas grand chose à voir avec les comportements que tu décris, tu es libre d'installer les mises à jour que tu veux.. Comme déjà signalé par pas mal de monde, pour moi Oracle est plus à critiquer là dedans qu'ubuntu : le jdk officiel était fourni sur les dépots d'ubuntu, donc supporté par ubuntu (mises à jour suivies), qui se portait garant de sa qualité. A partir du moment où ils ne peuvent plus le fournir, et ou des problèmes de sécurité connus sont présents dans les dernières versions supportées, pas vraiment d'autre choix que celui fait. Il ne faut pas oublier qu'ubuntu serveur est très populaire, et que la laisser par défaut avec plein de portes ouvertes était irresponsable. Ensuite les gestionnaires de serveurs savent ce qu'ils font, ils installeront le jdk qu'ils veulent, mais ubuntu ne pouvait pas laisser sciemment de grosses failles de sécurité en place..
Pour moi c'est une décision responsable, et ça contribue à crédibiliser ubuntu pour les professionnels.

@Vincent : un peu surprenant ce rappel de la supposée baisse de popularité d'ubuntu, surtout que les sources ne sont toujours pas très convaincantes (où est l'INpactitude ? Distrowatch + google trends ?). Des sources wikimedia ou PCI pourraient peut être appuyer le propos, entre temps AMHA ça ne fait pas très sérieux.
Avatar de joss17 INpactien
joss17 Le lundi 19 décembre 2011 à 10:46:09
Inscrit le mardi 24 juin 08 - 1057 commentaires

Canonical à été TRES CON sur ce con la, et prétendre le contraire c'est se mettre une sacrée pair d’œillères.

La connerie elle est de distribuer du logiciel non libre. Bah oui si canonical n'a pas la main dessus (comme sun-java, flash, skype et compagnie), le jour ou il y a une merde le distributeur et les clients n'ont plus que leurs yeux pour pleurer (et pcinpact pour troller).

a+
Avatar de ragoutoutou INpactien
ragoutoutou Le lundi 19 décembre 2011 à 10:46:31
Inscrit le mercredi 25 juillet 07 - 4128 commentaires

- Un jour tout fonctionne
- Une mise à jour (automatique ?) à lieu et le lendemain (ou la semaine suivante parce que peut etre que l'appli il l'a lance pas tous les jours) son application fonctionne plus. Et la oui, il va pouvoir se pointer sur un forum en expliquant que "ca marchait avant, il a touché à rien, et ça marche plus". Sympa pour lui, sympa pour les types dérières qui vont essayer de comprendre ce qui à pu se passer entre le moment ou ça fonctionnait et le mpement ou ça marche plus.

Canonical à été TRES CON sur ce con la, et prétendre le contraire c'est se mettre une sacrée pair d’œillères.


Déjà, avoir les mises à jour automatiques, c'est très con, car même entre deux versions d'un même soft il peut y avoir des problèmes énormes (comme par exemple le fait qu'oracle ait changé le version string dans sa jvm, cassant un bon nombre d'applications qui se basaient sur cette info)

Ensuite, dans le gestionnaire de mise à jour, il y a normalement un texte explicatif du contenu de la mise à jour... suffit de lire.

Si la solution technique utilisée est la bonne. Il est par contre vrai que Canonical aurait du prévoir cette transition depuis longtemps et fait une petite présentation pédagogique aux utilisateurs, car il faut bien le constater, si une release note est suffisante pour les utilisateurs redhat, les plaintes vue ci-dessus indiquent un besoin d'une présentation powerpoint où d'une animation en flash...

Avatar de brokensoul INpactien
brokensoul Le lundi 19 décembre 2011 à 10:46:42
Inscrit le mardi 16 mai 06 - 4166 commentaires

- Un jour tout fonctionne
- Une mise à jour (automatique ?) à lieu et le lendemain (ou la semaine suivante parce que peut etre que l'appli il l'a lance pas tous les jours) son application fonctionne plus. Et la oui, il va pouvoir se pointer sur un forum en expliquant que "ca marchait avant, il a touché à rien, et ça marche plus". Sympa pour lui, sympa pour les types dérières qui vont essayer de comprendre ce qui à pu se passer entre le moment ou ça fonctionnait et le mpement ou ça marche plus.

- pas du tout une mise à jour "automatique", ou alors on a pas la même définition de ce mot. Tu es toujours libre de refuser la mise à jour
- tu proposais une autre décision ? Laisser des failles connues et exploitées avec la bénédiction de cannonical ? C'est dommage qu'openJDK n'ait pas les mêmes capacités (partiellement de la faute d'Oracle d'ailleurs...), ou qu'Oracle (encore eux) change les termes de sa licence (sous-titre : ceux qui sont encore en Java, cassez vous..), ou encore qu'une autre infrastructure de gestion des paquets n'ait pas été présente pour gérer le problème autrement, mais en l'état ubuntu n'avait pas vraiment le choix.

Exemple bête : ubuntu est sur les machines de la gendarmerie nationale. Ces machines se font pirater parce qu'ubuntu n'a pas pris cette décision. Tu as une idée du retour professionnel sur la qualité de cette distribution ?
Avatar de Hoper INpactien
Hoper Le lundi 19 décembre 2011 à 10:55:52
Inscrit le lundi 3 juillet 06 - 892 commentaires

- pas du tout une mise à jour "automatique", ou alors on a pas la même définition de ce mot. Tu es toujours libre de refuser la mise à jour


Sauf que pour le commun des mortel, laisser les mises à jour ne mode manuel ça veut simplement dire que tous les deux jours ils vont devoir cliquer sur "mise à jour". Alors oui, ils le font parce que tu leur à expliqué qu'il fallait le faire. Mais, parfois, parce qu'ils ont la flemme et/ou que de toute façon ça ne change rien vu qu'ils n'ont pas les compétences pour comprendre les releases notes des paquets, tu paramètre ubuntu pour qu'il fasse les mises à jour AUTOMATIQUEMENT. Et j'en connais pas mal des machines qui sont paramétrées comme ça, ce qui est loin d’être idiot vu que globalement les mises à jour il faut toujours les faire.

Bref, les mises à jour automatique, ça existe, c'est pas le paramètre par défaut, mais ça existe et c'est TRES bien. Sauf quand une bonne d'idiot décide de casser un truc qui fonctionne et de le faire en toute connaissance de cause.

Encore une chose, grâce à PCI, on sait maintenant qu'il ne faut pas faire cette mise à jour. Mais sans cet article, je me serai fait avoir comme tout le monde et mes applis java ne fonctionnerai plus sans que j'ai la plus petite idée du pourquoi de la chose.

Avatar de nikon56 INpactien
nikon56 Le lundi 19 décembre 2011 à 10:59:54
Inscrit le lundi 2 juillet 07 - 5491 commentaires


Bof, suffit qu'lis mettent l'openJDK en dépendances au nouveau paquet vide pour que ça passe sans soucis !

pas forcement, il n'est pas sur que les fonctionnalités soient les meme (meme si en theorie, si)

et puis ce n'est pas propre de le faire comme ca, mais ca, c'est un autre debat
Il n'est plus possible de commenter cette actualité
Vous devez être connecté ou vous inscrire en haut pour pouvoir participer aux commentaires.