Gestion des mises à jour

Début juillet je vous relatais Plus de barre des tâches et autres joyeusetés sur Mint Xfce après mises à jour, deux fails dans cette histoire : 1/ Mint publiant une MAJ foireuse 2/ Ma gestion des mises à jour à revoir.

Concernant le point 1/ malgré les moyens humains, financiers et techniques, les équipes derrière les systèmes d’exploitation n’arrivent pas à empêcher de gros bugs/fails. Je parle bien de tous les systèmes d’exploitation, ces deux dernières années les exemples sont nombreux, je pense notamment à Windows 10, on peut aussi citer iOS 13 en ce moment (13.1 le 24 septembre, 13.1.1 le 27/09 et 13.1.2 le 30/09). Cela revient à se demander si un jour il n’y aura plus de bugs et si on sera capable de les détecter systématiquement. Je pars du principe que ça n’arrivera jamais dit autrement ce problème continuera de se produire et nous n’avons aucun moyen de l’empêcher.

Reste le second point où on peut agir avec de l’organisation, une gestion des mises à jour.

À la maison

J’ai actuellement un pc fixe et un pc portable. J’attire votre attention sur le fait que le pc portable est le plus « essentiel », ils n’ont donc pas la même importance. En effet le pc portable me permet de travailler en déplacement (cowork/datacenter) quand le pc fixe ne me permet de travailler qu’à mon domicile.

Le 3 juillet j’ai mis à jour mon pc fixe dans la journée, Mint propose un gestionnaire de mises à jour nommé mintUpdate prévenant lorsqu’une MAJ est disponible dans la barre des tâches. Souvent dans le canapé le soir je mets à jour le pc portable en repensant que des mises à jour sont dispos. Le 4 juillet au matin alors que je devais effectuer une grosse opération pour le boulot, mes deux postes étaient pas loin d’être inutilisables (plus de barre des tâches, plus accès aux boutons Réduire/Maximiser des fenêtres, difficultés à ouvrir des applications en maximisé comme Firefox, etc.). L’erreur principale a été de mettre à jour les 2 postes en même temps (même jour), la seconde erreur vient de mon utilisation trop systématique d’un alias mis en place depuis une éternité alias uu='sudo apt update && sudo apt upgrade'.

Voici comment je procède maintenant :

  • Jour 1 : uu sur le pc fixe, apt update sur le pc portable
  • J+2 (ou davantage) : apt upgrade sur le pc portable

Il faut découpler le update du upgrade ainsi on a le même référentiel de paquets à mettre à jour sur les 2 postes, le pc fixe va essuyer les plâtres, si/quand tout se passe bien alors on upgrade le pc portable.

En environnement professionnel

Au boulot :

  • Jour 1 (lundi) : update sur tous les serveurs puis upgrade des serveurs sandbox (tests) puis des serveurs mutualisés « hors BDD/http » (mail, ssh…)
  • J+1 : upgrade des serveurs mutualisés BDD (mysql, postgresql…)
  • J+2 : upgrade des serveurs internes (dns, dhcp, backup…)
  • J+3 : upgrade des serveurs mutualisés http
  • J+7 : upgrade des VPS/dédiés

Je ne rentre pas dans les détails de l’automatisation (Ansible ou autres), ce n’est pas le sujet du jour. Évidemment si il y a des mises à jour de sécurité importantes, on les fait sans attendre (mais pas sans quelques tests).

Si on veut installer/maj des outils maison en évitant un update de toutes les sources, on peut apt-get -o Dir::Etc::SourceList=/etc/apt/sources.list.d/00_jolirepoboulot.list -o Dir::Etc::sourceparts="-" update (voir FICHIERS ici) qui va update le référentiel de paquets uniquement avec les sources présentes dans 00_jolirepoboulot.list (et pas avec les sources Debian typiquement).

Je vous rappelle l’existence des paquets unattended-upgrades et apt-listchanges en vous invitant à de saines lectures (1, 2). Lorsque j’avais juste quelques serveurs j’utilisais ces outils, dans mon contexte actuel (hébergeur) avec plus de 250 serveurs/VM, on checke le déroulement de la MAJ pour chaque serveur (en sortie de l’outil d’automatisation) et on intervient au moindre problème. Tout dépend du contexte.

Première mineure après la majeure

Dans un registre un peu différent, avec l’expérience je n’installe plus les versions majeures des systèmes d’exploitation de suite, j’attends la première mineure. Concrètement je n’installe pas Debian Buster (10) avant que la 10.1 ne soit sortie corrigeant tous les petits problèmes/bugs et laissant aux autres le soin d’essuyer les plâtres.

De votre côté, comment vous gérez vos mises à jour ?

Déjà 12 avis pertinents dans Gestion des mises à jour

  • Au taf, unattended-upgrades (on a que des Debian quasiment) pour la sécurité, et un apt update / apt upgrade quand on passe sur un serveur pour une quelconque raison (en surveillant, donc).
    En perso (Arch partout), sur PC, j’ai un notifier, et je màj direct quand il y a une màj, après avoir vérifié le changelog si c’est une màj majeure et/ou un paquet important. Sur serveur, une fois par semaine environ, en fonction des màjs faites sur le PC : si y’a une faille critique ou autre, je màj aussitôt, sinon quand j’y pense (et je les fais tous à la suite, en cas de pépin (rare), je peux toujours downgrade).
  • anatolem
    Moi je suis joueur, mon PC fixe n’est pas mon outil de travail, et j’ai toujours mon vieux portable qui me sauve la mise, en cas de coup dur :)
  • phreg
    Bonjour,
    j’ai un portable et un fixe, usage perso uniquement. Le fixe me sert peu, surtout quand j’ai besoin d’un grand écran.
    Après avoir eu quelques problèmes de plantage (mises à jour ?) bien pénibles, j’ai décidé d’y avoir en permanence 2 distributions différentes installées sur le portable, chacune avec leur petit Home mais une grosse zone data partagée.
    Depuis, je ne me pose plus de questions, j’installe les maj sur le portable dès que j’en vois et sans trop réfléchir.
    Au pire j’ai toujours ma distribution secondaire du portable en état de marche et le fixe (qui a ma distribution principale du portable). Comme le fixe est rarement allumé, j’ai déjà testé les maj sur le portable quand je le mets à jour.
    Ça doit bien faire 10 ans que je ne me suis pas retrouvé dans la mouise sur les 2 PC en même temps.
  • Sur mes laptops sous Manjaro, y’a du notifier et j’attends généralement encore une semaine pour faire les maj, en surveillant les retours sur le forum. J’attends aussi le weekend parce que les grosses vagues de mises à jour c’est 1Go parfois, en ADSL faut être patient. L’avantage d’avoir maintenant Manjaro au boulot sur une configuration matérielle très proche, c’est que je beta test avant comme ça :) Sur le PC de jeu sous Windows, ben le contrôle est très limité comme ça c’est réglé, je sais jute qu’il me redémarre pas à la gueule mais par contre pas le choix de quand il télécharge. Si jamais il a décidé de faire chier faut pas être pressé.

    Pour les serveurs perso, à la maison les VMs sont toutes en unattented-upgrade. Par contre, une fois le cluster refait en K3S faut que je m’occupe de gérer les reboot auto avec Kured (je les fais manuellement actuellement), histoire de plus rien avoir à foutre. Sur les serveurs « publics », c’est apticron qui prévient par mail et je passe régulièrement sur les machines faire les mises à jour. A la maison j’ai moins de nécessité à conserver un truc qui fonctionne donc pas grave si via une maj auto y’a un truc qui tombe.

    Pour les serveurs au boulot, les Windows sont paramétrés sur un WSUS en fonction de leur localisation, et du raccord en termes de réseau. Pour les linux, on a un outil maison, LSUS, qui couple un agent sur les serveurs avec un serveur central qui permet de lister toutes les machines installées et de définir un calendrier de patching, ainsi que quelques options comme les notifications. Par contre, c’est une horreur écrite en perl et le schéma de la base de données est une tannée sans nom, je suis bien content de pas en être le mainteneur.

  • sébastien
    Bonjour, un peu hors sujet, je vois que vous êtes au moins deux à utiliser un portable et un fixe, avec une préférence pour le portable. Ma question est : comment vous gérez vos données? Elles sont toutes juste sur le portable et vous les copiez sur une clé quand vous voulez les travailler sur le fixe? Synchro automatique entre les deux postes? Elles sont sur un NAS et vous les attaquez directement dessus (vous avez rien sur les DD internes du portable et du fixe?) Cela m’intéresse car je suis dans le même cas et je me pose ce genre de question, de comment gérez les données, les sauvegardes, les accès.
    Merci!
  • sébastien
    Un truc que je comprends pas c’est le le « nœud » principal Syncthing qui est le Raspberry Pi. Tu as un DD branché sur le rasp et tout est synchronisé sur ce DD qui fait office de noeud central? Un peu comme le DD d’un NAS qu’on synchroniserait avec les DD internes de chaque PC?

Les commentaires sont fermés.