Comparons simplement des fichiers /etc/hosts

Spécialité(s)


Résumé

Quel administrateur système n'a jamais cherché à comparer des fichiers /etc/hosts ? Si cela vous est déjà arrivé, vous n'avez probablement pas trouvé l'outil adéquat, capable de reconnaître la syntaxe de ces fichiers. Mais désormais cet outil existe, développé pour ce besoin spécifique, en C/lex/yacc sous forme de module RPN, et nous allons vous en expliquer le principe de fonctionnement et le mode d'emploi.


Ce code a été testé sur Devuan et CentOS.

Si vous avez déjà eu besoin de comparer deux fichiers /etc/hosts, vous avez dû constater que les commandes habituelles de comparaison de fichiers, telles que diff, cmp ou comm, ne sont pas appropriées du fait de la syntaxe des fichiers hosts qui est moins triviale que celle d'un fichier de configuration constitué, par exemple, de lignes au format :

variable=valeur

Et même pour ce dernier cas, ces commandes peuvent signaler des différences alors que les configurations sont identiques, pour peu que des lignes soient interverties ou que des quotes soient utilisés ou non, ou encore qu'elles soient différentes : simples quotes dans l'un et doubles quotes dans l'autre. En fait, si l'on veut comparer deux fichiers ayant une syntaxe acceptant de multiples formes pour désigner des objets identiques, la simple comparaison de texte ne suffit pas, il faut être capable de reconnaître cette syntaxe. Et s'il n'existe pas de...

Cet article est réservé aux abonnés. Il vous reste 98% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous