Pourquoi la plupart des distributions (autres que Debian) recommandent / nécessitent une réinstallation complète lors de la mise à niveau vers une nouvelle version?

10

Ayant passé la majeure partie de ma vie Linux à utiliser Debian, j'ai jeté un œil à d'autres distributions et je suis vraiment surpris de voir à quel point elles ne fournissent pas une mise à niveau fluide entre les versions. Debian est extensible à l'infini, et j'ai maintenant mis à niveau quelques versions stables majeures.

Je parle de distributions bien supportées comme Fedora (et dérivés), même Ubuntu et dérivés. Même des distributions stables orientées serveur comme CentOS.

Est-ce parce que le système de gestion de paquets et les scripts de mise à niveau de paquets de Debian sont bien plus avancés que tout ce que les autres distributions ont à offrir?

Ou la réinstallation à partir de zéro sur une mise à niveau de version majeure n'est-elle qu'une meilleure idée dans l'ensemble, quelle que soit la distribution?

trr
la source

Réponses:

6

C'est une combinaison d'un certain nombre de facteurs.

La plupart des distributions utilisent des versions majeures comme temps pour implémenter des changements importants, parfois cassants. Par exemple, Fedora 15 a ajouté systemd et Ubuntu a ajouté upstart dans 6.10. Debian est une distribution très conservatrice à bien des égards. Les changements importants et de rupture sont mal vus.

C'est une conséquence de cela, par exemple, que les cycles de publication de Debian sont si éloignés, car ils nécessitent que chaque paquet important soit modifié pour répondre aux normes de la nouvelle version.

La technologie de gestion des paquets de Debian n'est pas supérieure à Fedora ou à Ubuntu (évidemment, parce qu'elle est la même que celle d'Ubuntu), mais Debian a décidé, culturellement, qu'il est important d'avoir un système de mise à niveau fluide.

Andrew Schleifer
la source
5
Plus précisément, ils ont décidé que ce que vous ne voulez pas d'un serveur de production, c'est de devoir le réinstaller à partir de zéro pour mettre à niveau le logiciel dessus.
Shadur
Même avec Fedora, effectuer une mise à niveau (version unique) via le programme d'installation tentera de DTRT en ce qui concerne les changements d'infrastructure sous-jacents si possible.
Ignacio Vazquez-Abrams
1

Pour être plus précis, j'ai rencontré des problèmes sur de nombreuses distributions lors des mises à niveau. Ubuntu Par exemple, change radicalement sa base de packages installés entre les versions. Si vous effectuez la «dist-upgrade» traditionnelle, les packages installés seront mis à jour vers leurs nouvelles versions, mais le résultat final manque de nouveaux changements de programmation. Si un package de l'installation par défaut est rétrogradé, juste «pris en charge» ou pire «non pris en charge», vous conservez toujours ce package. Si un nouveau package est maintenant dans l'installation par défaut, vous ne l'aurez pas installé. Même si votre version est «techniquement» la version mise à niveau, elle ne reflète pas l'expérience de la nouvelle version. Le même cas est également très précis, en comparant CentOS5 à CentOS6, ils ont complètement réorganisé leurs noms d'emballage.

Debian priorise les mises à niveau en douceur, au prix de ces changements drastiques. C'est pourquoi Debian est plus lente sur les nouvelles fonctionnalités, pour leur communauté, le compromis est acceptable. Pour faire écho à la réponse précédente, cela n'a rien à voir avec la technologie de gestion des packages en soi. Je dirai que les réinstallations constantes d'Ubuntu me portent.

JM Becker
la source
Ubuntu comprend un outil spécial pour les mises à niveau qui prend censément en charge plus qu'une simple mise à niveau dist. En savez-vous plus à ce sujet et est-ce bon?
trr
1

Ce que vous dites n'est pas vrai pour toute la famille des distributions de versions glissantes .

Pour un logiciel de maintenance du système, il est beaucoup plus difficile de résoudre les problèmes de compatibilité entre les packages lors de la mise à niveau de certaines parties du système ou de la cohérence de la configuration tout au long des mises à niveau. Divers progiciels doivent être adaptés pour fonctionner correctement les uns avec les autres.

C'est pourquoi la solution la plus simple (c'est-à-dire la plus fiable au même temps de développement ) pour fournir une mise à jour du système consiste à préparer périodiquement une version complète de l'installation complète et testée. Les solutions d'entreprise telles que Red Hat partent du principe que le client doit disposer d'un système fiable et être gêné par des interruptions de mise à niveau aussi longtemps que possible. (Bien sûr, des mises à jour mineures et des corrections de bugs doivent être disponibles ou même retirées automatiquement). C'est également la philosophie générale derrière les distributions de serveurs gratuites telles que CentOS.

Fournir à l'utilisateur final une route de mise à niveau transparente entre les versions est un grand défi pour les développeurs de systèmes. De nombreuses distributions choisissent de ne pas sacrifier leur peu de temps à cela. De nombreux packages populaires (comme QT par exemple) sont difficiles à mettre à niveau, nécessitant souvent une réinstallation complète. Ce qui est encore plus important, de nombreux projets montrent une diminution de l'effort de développement ou sont autrement déplacés par les nouvelles technologies. Dans le cas de packages système, cela nécessite souvent une refonte importante du système. Les procédures de migration peuvent être particulièrement difficiles à mettre en œuvre si elles doivent prendre en compte le fait que certaines personnes voudront passer de la version C à D, mais d'autres passeront de la forme B ou de A ou d'un état personnalisé au milieu.

Ainsi, comme vous l'avez peut-être déjà deviné, l'approche la plus difficile est la diffusion continue. Je ne connais pas les détails de l'approche de Debian, mais d'après votre description, je peux voir qu'ils sont quelque part au milieu.

rozcietrzewiacz
la source
Debian prend entièrement en charge les mises à niveau de l'écurie précédente vers l'écurie actuelle. Puisqu'ils sont séparés de 2 ou 3 ans, ils impliquent des transitions majeures telles que glibc, KDE 3 à 4, le prochain Gnome 2 à 3, etc. Vous mentionnez que certains packages sont difficiles à mettre à niveau et doivent être réinstallés - c'est ce qui est connu au sein de Debian en tant que "transition majeure" et pourtant leur gestionnaire de paquets est parfaitement capable de les gérer et ils les testent et les supportent entièrement pour les utilisateurs finaux. Je pense que cela a beaucoup plus à voir avec l'état d'esprit que vous ne le prétendez - Debian pense que c'est la bonne façon de procéder, alors ils y arrivent.
trr