Là je suis pas d’accord. Dans l’absolu, çà serait bien mais dans la pratique çà ne fonctionne pas comme çà. C’est le principe même des dépendances.
Car oui, à un instant T, çà fonctionne et si un seul logiciel traine à se mettre à jour et c’est toute ta distribution Linux qui ne peux plus se mettre à jour.
Non, car il y a deux choses différentes qu’il ne faut pas confondre. La première, c’est l’évolution fonctionnelle des logiciels vers des versions plus récentes. La seconde, c’est la correction des failles de sécurité (ce dont nous parlons ici).
Si vous mettez à jour une dépendance vers une version plus récente, vous avez effectivement de chances de rencontrer les problèmes que vous mentionnez.
Mais si vous gardez le code de la dépendance dans sa version actuelle en lui appliquant juste un patch de sécurité colmatant la faille, vous n’en rencontrerez pas.
Sur les distributions de type « rolling release », on préfère la première option, en essayant de tenir à jour le maximum de logiciel dans leur dernière version. Dans les distributions stables, on préfère appliquer la seconde.
Ma petite expérience de 24 ans de Linux me fait dire que si çà marchait si bien et que tous les acteurs mettaient à jour leur logiciel, on n’aurait pas inventé les SNAP, FLATPAK pour intégrer les dépendances.
Alors il faut comprendre qu’au départ, tout viens d’une très grande force du logiciel libre : les distributions Linux possède tous les codes sources des logiciels, ce qui rends possible une chose que seul le monde libre peut faire : de compiler un maximum de logiciels avec une version unique des dépendances.
A la clé, une optimisation magistrale : l’occupation disque est réduite, ainsi que l’occupation en mémoire vive puisqu’on évite d’avoir plusieurs versions d’une même bibliothèque simultanément en mémoire. C’est l’une des choses qui rendent les distributions linux si légères.
Mais cet avantage amène aussi quelques inconvénients. Ajouté au grand nombre de distributions (et de versions des distributions), cela complique l’installation de logiciels récents, parce qu’une version récente d’un logiciel peut parfois demander une dépendance plus récente.
Bien sûr, il y a des backports et autres dépots gérés par les développeurs. Mais c’est lourd, cela demande du travail et multiplié par le nombre de distributions et de versions existantes, c’est difficile à gérer.
Alors il est vrai que pour 95% des logiciels d’un système, ça ne pose pas problème, car les utilisateurs se moquent totalement d’avoir la dernière version en date. Et que ça fait parfois même parti des requis pour la stabilité.
Mais pour une petite partie des logiciels, c’est un problème. Il existe des logiciels dont il est important d’utiliser la dernière version, par exemple parce qu’elle offre des évolutions fonctionnelles intéressantes.
C’est aussi un problème pour les logiciels propriétaires, parce que c’est le développeur qui doit se taper le boulot pour tourner sur toutes les versions de toutes les distributions.
D’ou l’invention des logiciels encapsulés pour apporter plus de souplesse, de liberté et une possibilité supplémentaire à l’utilisateur.
Mais il faut bien comprendre ce que cela apporte et pourquoi cela n’a pas vocation à remplacer les formats de paquets classiques pour tous les logiciels.