Upgrade ou réinstallation ?

Je migre actuellement les serveurs du boulot vers Debian Buster et je vais maj mes pc sous Mint. Je n’ai jamais abordé la question : Upgrade ou réinstallation ?

Quand je parle de réinstallation, je veux dire installer la version N+1 (ou plus) de la distribution en conservant les données. Pour ma part j’ai une nette préférence pour la réinstallation :

  • Repartir d’un système neuf, propre et minimal => Je fous souvent le bordel dans ma distrib. Cela ne signifie pas qu’elle fonctionne mal mais que je vais avoir tendance à installer/tester des logiciels, bidouiller des fichiers de config, rejouer certains trucs vus au boulot
  • Vérifier la sauvegarde => Je copie sur HDD interne et externe home et /etc. Cette opération s’effectue en dehors des routines de sauvegarde (avec BorgBackup), je la fais manuellement. Une fois la réinstallation effectuée, je copie juste mes documents, les dossiers Firefox et Thunderbird mais pas les fichiers de configuration
  • Remettre à jour ma procédure d’installation et la liste de mes outils => Avec le temps je n’utilise plus certains outils, j’en ajoute d’autres, je tiens une liste des paquets que j’installe. Dans le même fichier je note tous les paramétrages que je fais lors d’une install (partitionnement, suppression/lancement de services, apparence, raccourcis clavier…). De nombreux utilisateurs avancés scriptent tout, les dotfiles (fichiers de config) sont versionnés sur git, ils les récupèrent et les poussent avec des symlinks ou des outils dédiés (stow). Perso je préfère souvent conserver la procédure/réglage que je fais ET avoir un dotfile, simplement car les options dans les dotfiles peuvent être abscons (on ne sait pas/plus ce que l’option fait, il faut aller chercher dans la doc). En général sur l’interface graphique du logiciel on comprend mieux à quoi correspond une option, ça me permet aussi d’avoir l’info pour 2 types d’utilisateurs (débutant je lui dis où aller cliquer, avancé je lui donne l’option à mettre dans le fichier de config)
  • Mettre à jour mes fichiers de configuration => Je compare mes fichiers de configuration avec ceux proposés par défaut, je teste ceux par défaut quelques temps. Parfois je me rends compte qu’un bug ou un truc gênant est en fait produit par mes réglages. Je modifie quelques fichiers dans /etc, l’essentiel des modifications que j’effectue sont dans mon home (dotfiles et dossiers à la racine : .bash*, ~/.config, ~/.ssh, etc.)
  • Passer à la version N+2 de la distribution => Je ne connais aucun upgrade permettant de sauter 1 version de la distribution, par exemple passer de Debian Jessie (8) à Buster (10). Il faut upgrader deux fois, Jessie à Stretch puis Stretch à Buster. La réinstallation le permet évidemment, il « suffit » de bien préparer les fichiers de configuration et procéder à des tests. Au boulot justement je réinstalle de Jessie à Buster.
    EDIT : Fedora le permet mais « les mises à niveau effectuant un saut de numéro de version supérieur à 2 ne sont pas prises en charge »

Je réinstalle mes pc (fixe et portable) une fois par an. J’apprécie me retrouver devant l’installeur pour voir comment le processus a évolué, je repars d’un système neuf/propre/minimal, je vérifie que ma sauvegarde est bonne et contient tous les fichiers nécessaires, j’en apprends davantage sur mon système, je me penche sur les nouveautés des logiciels et j’adapte mes fichiers de configuration.

L’upgrade apporte simplicité et temps gagné mais reste une procédure particulière liée à la distrib utilisée. Parfois on n’a pas le niveau, le temps, l’énergie ou l’envie de réinstaller son système, il fonctionne correctement, on veut passer à la dernière version en changeant le moins de choses possible. La procédure chez Debian est simple et éprouvée, elle offre cette possibilité à l’utilisateur.

Il n’y a pas une réponse figée et catégorique entre upgrade et réinstall, le choix se fera toujours en fonction du contexte et de l’utilisateur. Par exemple CentOS ne permet pas d’upgrader (passer de CentOS 7 à 8), une réinstall est obligatoire. Cependant j’espère vous avoir amené à réfléchir à votre manière de mettre à jour votre distrib, je vois beaucoup d’utilisateurs de Debian/Ubuntu (et dérivés) effectuer des upgrades, je lui préfère la réinstall.

Déjà 15 avis pertinents dans Upgrade ou réinstallation ?

  • Hello
    Pour ma part c’est upgrade pour version mineure, reinstallation pour version majeure. Peut-être a cause d’expériences windows passées où les upgrades finissent toujours mal par rapport à une installation propre. Et puis surtout c’est l’occasion de revoir les packages et logiciels installés.
  • anatolem
    Ce qui arrive chez moi, c’est que je teste jusqu’à mettre le boxon et un fois dans la mouise je me vois souvent dans l’obligation de réinstaller ce qui est parfois plus rapide que de trouver le truc qui marche plus, je suis sous Sid bien souvent et cela m’amuse… pour le moment :)
    A pluche.
  • «Je ne connais aucun upgrade permettant de sauter 1 version de la distribution, »
    Moi, je connais, ça s’appelle Fedora. D’ailleurs le saut n-1 vers n et n-2 vers n sont testés

    « Cependant j’espère vous avoir amené à réfléchir à votre manière de mettre à jour votre distrib, je vois beaucoup d’utilisateurs de Debian/Ubuntu (et dérivés) effectuer des upgrades, je lui préfère la réinstall.»
    Sur les serveurs du boulot, je réinstalle. Ainsi, ça me laisse le temps de qualifier les applicatifs avant de les mettre en prod.
    Sur mon serveur perso + mon PC perso, je mets à jour. Oui oui, pas « d’upgrade » car c’est Calculate Linux, et c’est une Rolling Release (suffisamment stable puisque utilisée dans des universités russes et dans des entreprises russes)

  • Will_tam
    Bonjour, bonjour.

    J’avoue me poser la question en ce moment.
    J’ai une tendance à toujours « sauter » 2 version pour ma Debian. Et la dernière fois, il y a loooongtemps, j’ai fait une ré-installation, la mise à jour n’étant la meilleur idée que j’avais eu à cette époque.
    Bon, là peut-être que ce sera différent, de passer de 8 à 10.

    Le a phrase clé dans tous les cas : « Où est mon disque de sauvegarde ? » ^^

    A bientôt

  • antanof
    Oui ok mais tu fais comment pour « reinstaller » un proxmox avec 15 vms et une configuration réseau un poil teuchy ? Là perso je préfère faire confiance au script d’upgrade de l’éditeur …
  • Avec FreeBSD, j’upgrade toujours (laptop et serveurs). je n’attends jamais le n+2 pour mettre à jour mes système, logique de sécurité système et optimisation des performances
  • Marmotte
    Question intéressante, et j’entends de temps en temps des amis et collègues argumenter autour de ça :)

    De mon coté, j’ai toujours fait des upgrades sur toutes les machines que je gère (pro er perso), et je n’ai jamais eu de problème. Mais je n’improvise pas, et je travaille beaucoup autour :
    – Mon périmètre est restreint à Debian/Ubuntu (ça réduit déjà la masse d’informations à connaître).
    – Je lis les release notes avant d’upgrader, pour savoir ce qui a changé dans le standard de la distrib, ce qui risque de poser problème, etc.
    – J’utilise très peu de dépôts tiers (aucun si possible, ça dépend des machines).
    – Je fais régulièrement évoluer la configuration de mes machines, donc je n’ai pas la question de « revoir les packages installés » au moment de l’upgrade, c’est une question permanente chez moi. Si un package a été remplacé par un autre, je m’informe dessus, et je fais le remplacment si je le juge nécessaire/intéressant.
    – Je n’ai pas non plus la question du saut de version, puisque je mes machines sont toujours dans la dernière version disponible lors de la sortie de la suivante.
    – Après l’upgrade, je vérifie les modifications dans la configuration, et j’adapte si je vois des choses importantes/intéressantes (confs système et utilisateur). Ça veut dire faire un diff sur les fichiers .{dpkg,ucf}-{new,old,dist} pour ceux que j’ai modifiés, et regarder le fichier de base pour ceux qui permettent les drop-ins.

    Au final, je pense que l’upgrade est un gros travail, et je comprends que beaucoup de monde préfère réinstaller. De mon coté, je préfère passer du temps là dessus, ça me permet de conserver mon système tel qu’il est (flemme de remettre en place les services, configurations, backups, etc.) et j’en profite pour mieux m’informer sur les différences d’une version à l’autre (je sais quels comportements changent, et pourquoi).

    Pour les problèmes non maîtrisés suite à une upgrade, ça dépend de l’environnement :
    – Sur mes serveurs perso (Debian), je fais quelques tests avec des containers, et si je ne trouve pas de gros problèmes, je migre la machine qui fait le moins de choses, puis les autres quelques mois plus tard.
    – Pour mon PC fixe (XUbuntu), c’est un peu plus arbitraire : Je lance l’upgrade en début de week-end en espérant que tout se passe bien ^^
    – Sur les serveurs de mon ancien job (une cinquantaine de Debian), je commençais par mettre à jour quelques serveurs de préprod (au moins 2 versions différentes du logiciel) pour tester, puis je migrais les autres serveurs ensuite, quand l’opportunité d’une coupure de service se présentait.

    Bien évidemment, j’ai toujours un backup prêt à être restauré, c’est la base de n’importe quelle manipulation, critique ou non :)

    Parmi les différences les plus importantes entre la version d’origine et la version actuelle, je peux citer mon serveur « home » (Debian 6 -> Debian 10) et mon PC fixe (XUbuntu 12.04 -> XUbuntu 18.04).

  • Julien
    Bonjour, j’ai aussi pris l’habitude de réinstaller quand ce n’est pas une rolling, en ce qui concerne le backup de firefox et thunderbird, est-ce qu’il est possible de se servir d’une base, puis récupérer les dossiers pour les transférer sur les pcs après installation ? Ca pose peut-être problème si le backup du dossier est un peu vieux ?
  • Bonjour,

    Après une longue période dans la team « reinstall », j’ai fini par changer mon fusil d’épaule pour ce qui concerne mon poste de travail. Je l’upgrade systématiquement quelques semaines après la sortie de chaque version majeure. Par contre, je me réserve toujours un jour ou deux pour faire un tour de la bécane, en mode « nettoyage de printemps » : je désinstalle les softs que je n’utilise plus, je remets ma politique de backups au carré, etc.

    Sur les serveurs du boulot, par contre, c’est upgrade pour les versions mineures et réinstall pour les changements plus lourds. Ansible m’a bien aidé à aller dans ce sens.

Les commentaires sont fermés.