63 votes

À quelle fréquence dois-je mettre à jour notre serveur Linux ?

Je suis responsable de la gestion de notre serveur de production (mail, web, base de données sont tous sur un seul serveur) et de notre serveur de test. Les deux sont construits sous Debian. Cependant, comme je suis très novice en matière d'administration système, je n'ai fait qu'installer des mises à jour au fur et à mesure que je rencontrais des choses qui devaient être mises à jour pour que je puisse avoir de nouvelles fonctionnalités et obtenir des corrections de bogues. C'est un processus plutôt ad hoc pour le moment, et j'aimerais qu'il le soit moins.

Je me demande donc comment les personnes qui savent ce qu'elles font gèrent ce problème ? À quelle fréquence effectuez-vous des mises à niveau sur vos serveurs ? Le processus de mise à niveau est-il différent entre le test et la production ? Mettez-vous toujours à niveau les serveurs de test en premier ? Et faites-vous une mise à jour complète de tous les logiciels, ou installez-vous seulement certaines mises à jour ?

37voto

Kristof Provost Points 12359

Je cours apt-get update -qq ; apt-get upgrade -duyq quotidien. Cela permet de vérifier les mises à jour, mais pas de les effectuer automatiquement.

Je peux alors exécuter les mises à jour manuellement pendant que je regarde, et corriger ce qui pourrait ne pas fonctionner.

Outre les problèmes de sécurité liés au maintien d'un système patché, je constate que si je laisse trop de temps entre les patches, Je me retrouve avec tout un tas de paquets. qui veulent être mis à niveau, et cela m'effraie beaucoup plus que d'en mettre un ou deux à niveau chaque semaine ou presque. C'est pourquoi j'ai tendance à effectuer mes mises à jour chaque semaine ou, si elles sont hautement prioritaires, chaque jour. Cela a l'avantage supplémentaire de savoir quel paquet a cassé votre système (c'est-à-dire si vous ne mettez à jour que deux à la fois).

Je mets toujours à jour les systèmes les moins critiques en premier. J'ai également mis en place un "plan de retour en arrière" au cas où je ne pourrais pas réparer le système. (Comme la plupart de nos serveurs sont virtuels, ce plan de retour en arrière consiste généralement à prendre une carte d'accès au réseau. instantané avant la mise à niveau, sur laquelle je peux revenir si nécessaire)

Ceci étant dit, je pense qu'une mise à jour n'a cassé quelque chose qu'une ou deux fois au cours des 4 dernières années, et c'était sur un système hautement personnalisé - donc vous ne devez pas être TROP paranoïaque :)

12voto

Alotor Points 3438

En plus des réponses précédentes, deux choses plus spécifiques à Debian : vous devriez vous abonner à debian-security-announce y debian-announce et / ou consultez le Page de sécurité de Debian .

6voto

Scott Gottreu Points 1253

En supposant que vous utilisez la version stable de Debian, la plupart des correctifs seront liés à la sécurité ou aux bogues, ce qui signifie qu'il n'y aura pas trop de changements majeurs entre les versions d'un paquet donné. Selon la politique des correctifs de Debian, les correctifs doivent également avoir été testés pendant un certain temps avant d'être déplacés vers la branche stable par le responsable. Évidemment, cela n'empêchera pas les ruptures lorsque Parcheando mais devrait les prévenir dans la plupart des cas.

Il serait prudent de s'assurer que votre serveur de test est maintenu à jour et que tous les paquets qui présentent des bogues vous affectant, vous et vos serveurs, soient mis à jour. Tous les paquets qui font l'objet d'avis de sécurité doivent être mis à jour dès que vous savez que le correctif est stable.

Debian est généralement un système d'exploitation très stable et vous ne devriez pas être trop préoccupé par les pannes, mais lisez toujours ce qui va être mis à jour avant de le faire et gardez un œil sur tout ce qui semble étrange. J'utilise également VCS sur mon répertoire /etc/ pour m'assurer que tout changement de fichier de configuration peut être vu avec une commande 'git diff'.

4voto

Erick Robertson Points 576

Je fais un essai (d'abord) pour voir ce qui va être mis à jour. Parfois, les bibliothèques (appelons-la libfoo pour cet exemple) changent leur API, ce qui casse les programmes que nous avons écrits / installés nous-mêmes. Si une bibliothèque critique est mise à jour, je récupère la source et j'essaie de reconstruire nos programmes avec elle avant la mise à jour.

Je vérifie également que nous ne sommes pas en train de passer à une version intermédiaire d'un service public, par exemple Apache, etc. Je préfère avoir un an de retard et ne pas rencontrer de pannes aléatoires, à moins que la mise à jour ne soit critique.

Si vous êtes un administrateur système, vous devriez tirer des flux RSS de sites tels que les suivants Secunia qui devrait vous permettre de savoir à l'avance si votre distribution est sur le point d'apporter des correctifs.

Ne vous contentez jamais, jamais, d'une mise à niveau/mise à jour aveugle. Malheureusement, la tâche de savoir ce qui est cassé vous incombe à vous, et non au gestionnaire de paquets de votre distro, surtout si vos programmeurs de support système.

3voto

bukko Points 985

Les mises à jour manuelles sont les meilleures, comme indiqué ici, dans la mesure où vous pouvez voir ce qui se passe. Cependant, pour un très grand nombre de serveurs, cela peut devenir peu pratique. L'essai à sec est une pratique standard, en fait, la plupart des gestionnaires de paquets vous le demanderont avant de procéder.

Il est préférable de procéder à des mises à jour régulières, même si cela peut s'avérer difficile. Des mises à jour fréquentes signifient moins de choses en une seule fois et moins de risques d'erreur. Si les choses tournent mal, il y a moins de candidats à inspecter. Les paquets sont également légèrement plus efficaces pour les mises à jour par petites étapes, car généralement, lorsque le programmeur met à jour, il cherche à passer de la dernière version à la suivante, mais le fait qu'il accorde ou non de l'attention à la dernière version peut varier, bien que cela ait tendance à être important surtout pour les logiciels qui évoluent rapidement.

Les mises à jour ne sont pas toutes non perturbatrices. Vous devez y faire attention. Certaines redémarrent les services, ce qui entraîne des temps d'arrêt.

Dans une configuration idéale, vous pourriez avoir les éléments suivants :

  • Un moyen de changer apparemment de serveur (A/B ou tick tock). Cela signifie que vous mettez à jour l'un d'entre eux pendant qu'il est sur le banc, puis que vous transférez simplement le trafic du serveur actuel vers le nouveau. Cela peut être plus compliqué pour des services tels que les bases de données.
  • La possibilité de tester les mises à jour. Vous devriez avoir des serveurs de test qui sont pratiquement des clones de la production (mais sans se connecter à aucun service de production). Ils vous permettront de tester d'abord les mises à jour.
  • Une bonne stratégie de sauvegarde, incrémentale est idéale. On ne sait jamais. Il vaut toujours mieux être sûr que désolé.
  • Sachez quels sont les moments les plus actifs et quel niveau de temps d'arrêt est tolérable.
  • Savoir comment annuler une mise à jour ou un paquet spécifique.
  • Disposez de vos propres miroirs de paquets afin que les mises à jour soient cohérentes et prévisibles sur tous les serveurs. C'est la première étape vers un système décent non surveillé auquel vous pouvez faire confiance. Cela signifie que vous pouvez mettre à jour le miroir, exécuter la mise à jour sur une ou plusieurs machines de test, puis, si tout est bon, laisser la mise à jour se faire automatiquement. J'ai passé un excellent moment à gérer de manière appropriée environ 800 machines EPOS.
  • Un bon niveau de cohérence pour que vous puissiez savoir que si quelque chose fonctionne ici, cela fonctionnera là.

Certains de ces éléments peuvent être plus ou moins excessifs pour les petites installations, mais il faut les garder à l'esprit.

D'une manière générale, les mises à jour sont relativement faciles pour les distributions de serveurs. En effet, elles s'en tiennent presque toujours aux corrections de bogues et aux mises à jour de sécurité. Vous pouvez toutefois rencontrer des problèmes si des personnes ont fait des choses bizarres sur le système ou si vous ajoutez des sources de paquets supplémentaires.

Bien que cela soit assez rare, ils font parfois des erreurs et rompent la compatibilité entre les versions mineures des paquets.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X