Première rédaction de cet article le 12 janvier 2009
Souvent, je regarde les fichiers de configuration d'une machine qui a plusieurs administrateurs système et je vois un commentaire du genre :
# Modification temporaire, tant qu'on n'a pas davantage d'espace disque do_something=false
et, là, je suis perplexe. Depuis combien de temps est-ce « temporaire » ? Des années, peut-être. La date du fichier ne me renseigne pas car il a pu être modifié à d'autres endroits. Pourquoi tout le monde ne met-il pas la date de la modification lorsqu'il ajoute un tel commentaire ?
C'est un des mes conseils favoris aux administrateurs système. Lorsqu'on modifie la configuration du système et que cette modification est de nature temporaire, il faudrait toujours mettre une date. Par exemple :
# Modification temporaire (2004-05-23), tant qu'on n'a pas d'avantage # d'espace disque do_something=false
Cette fois, plus aucun doute, on sait ce qu'il en est et on peut apprécier si le problème est encore d'actualité.
Un cas où les modifications sont fréquemment temporaires est celui
des pare-feux. On doit souvent les modifier en
urgence, pour répondre à une menace spécifique, et il est important de
ne pas laisser trainer de telles règles éternellement. Un exemple dans
un fichier de configuration Shorewall, blacklist
, est le blocage
complet d'une machine qui attaque notre système :
# Accès SSH répétés 2009-01-12 192.0.2.6
Les adresses IP étant
réaffectés relativement souvent, il ne faut pas laisser trainer une
telle configuration, sous peine de bloquer le malheureux qui a
récupéré 192.0.2.6
. D'où l'importance de la
date.
Sous quel format mettre la date ? Sur les machines ayant des
administrateurs système de diverses nationalités, il vaut mieux
utiliser la norme internationale, ISO 8601 (ou plutôt
son sous-ensemble plus simple défini dans le RFC 3339). On
écrira donc 2008-04-09
et pas
09-04-2008
(ou, bien pire, la notation
états-unienne 04-09-2008
qui est ambigüe : parle
t-on du 4 septembre ou du 9 avril ?).
Regarder sa montre et taper la date est un peu pénible et surtout
sujet aux erreurs. Pour faciliter sa tâche, l'administrateur système peut compter sur
des outils comme Emacs. J'ai par exemple ce
code dans mon ~/.emacs
:
(defun today () "Insert the current date" (interactive "*") (insert (format-time-string "%Y-%m-%d" ; ISO format (current-time)))) (global-set-key [f7] 'today)
et il suffit alors, en éditant un fichier de configuration, de taper F7 pour avoir la date exacte et correctement formatée.
Et si on gère ses fichiers de configuration dans un VCS ? Ceux-ci gardent trace de la date, après tout. En effet, on n'a alors pas besoin de l'indiquer, à condition que le VCS fournisse des outils de voyage dans le temps simples et puissants.
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)