Forum Linux.debian/ubuntu Diff de /etc

Posté par  (site web personnel) .
Étiquettes :
8
19
oct.
2012

Bonjours à tous,

Comme beaucoup, j'ai une distribution Gnu/Debian d'installée et des fichiers du dossier /etc personnalisés.

J'ai déjà pensé utiliser un gestionnaire de version (comme git ou hg) pour versionner toutes modifications du dossier /etc mais ce n'est pas super efficace : après chaque upgrade (en testing ou unstable, c'est assez régulier), je dois commiter une nouvelle version.

La seule chose qui m'intéresse au final, c'est qu'elles sont les modifications que j'ai apporté à /etc par rapport au fichier d'origine. Pour qu'en cas de réinstallation, je puisse reproduire toutes les modifications assez facilement, après une réinstalle des paquets avec dpkg --set-selections.

J'ai trouvé le script suivant sur internet (script que je n'ai pas encore testé) : https://gist.github.com/1254787 qui permet d'obtenir un diff entre les fichiers de /etc et leurs fichiers d'origines. Mais le script se dit non exhaustif.

Et vous qu'utilisez vous pour connaitre les modifications de /etc ? Gestionnaire de version ? Script ? Votre mémoire ?

Merci et à bientôt

  • # Etckeeper

    Posté par  (site web personnel) . Évalué à 8.

    Il faudrait voir si etckeeper ne répondrait pas à tes besoins : à chaque install, il commite tout seul dans un repo git local les modifs apportées par l'upgrade. Du coup il ne te resterait plus qu'à committer tes propres modifs, éventuellement en flaguant tes commits persos "[MOI]"

    Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.

    • [^] # Re: Etckeeper

      Posté par  (site web personnel) . Évalué à 2.

      Je confirme.

      J'utilise etckeeper sur mes serveurs pour suivre les modifications de configuration. Il est intégré au gestionnaire de paquet, qui peut au choix:
      - commiter automatiquement les changements non validés.
      - ou interrompre l'installation pour te permettre de commiter manuellement.

      De par l'examen des journaux de commit, il est facile de faire la distinction entre les commits causés par une action du gestionnaire de paquet ou une réelle modification de configuration.

      Cela demande un peu de discipline (vérifier l'absence de changements non commités avant une intervention, et commiter après l'intervention), mais c'est un outil très pratique, surtout quand on travaille à plusieurs (ça permet de démasquer le responsable du denier plantage d'apache et donc de celui qui paiera le restao).

      On peut faire en sorte que les commit fassent un "git push" sur un serveur, ce qui permet de centraliser (et du coup de sauvegarder) la configuration d'un ensemble de serveur. Pratique pour jeter rapidement un oeil sur un fichier de conf via un gitweb.

      Mes 2 ¢

  • # diff

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    Si tu a une copie de /etc qq part :

    diff -aqr /etc /path/to/another/etc
    
    

    On ne peut pas mettre d'array dans le string...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.