Comment gérer / etc. avec le contrôle de la version en utilisant etckeeper sur Linux

Comment gérer / etc. avec le contrôle de la version en utilisant etckeeper sur Linux

Dans la structure du répertoire Unix / Linux, le /etc Le répertoire est l'endroit où se trouvent les fichiers de configuration et les répertoires spécifiques au système spécifiques à l'hôte; C'est un emplacement central pour tous les fichiers de configuration à l'échelle du système. Un fichier de configuration est un fichier local utilisé pour contrôler le fonctionnement d'un programme - il doit être statique et ne peut pas être un binaire exécutable.

Pour suivre les modifications des fichiers de configuration du système, les administrateurs système font normalement des copies (ou des sauvegardes) des fichiers de configuration avant de les modifier. De cette façon, s'ils modifiaient directement le fichier d'origine et faisaient une erreur, ils peuvent revenir à la copie enregistrée.

Etckeeper est une collection simple, facile à utiliser, modulaire et configurable d'outils pour laisser /etc être géré à l'aide du contrôle de version. Il vous permet de stocker des changements dans le /etc Répertoire dans un système de contrôle de version (VCS) comme Git (qui est le VCS préféré), le référentiel mercurial, bazar ou darcs. Vous permettant ainsi d'utiliser Git pour examiner ou retourner des modifications qui ont été apportées à /etc, en cas d'erreur.

Ses autres fonctionnalités sont:

  1. Il prend en charge l'intégration avec les gestionnaires de packages frontaux, notamment APT, YUM, DNF, ZYPPER et pacman-g2 pour valider automatiquement les modifications apportées à /etc Pendant les mises à niveau du package.
  2. Il suit les métadonnées du fichier (comme les autorisations de fichier) que Git ne prend généralement pas en charge, mais c'est important pour /etc, et
  3. il comprend à la fois un travail cron et un systemd temporisateur, à qui chacun peut commettre des modifications /etc automatiquement une fois par jour.

Comment installer etckeeper dans Linux

Etckeeper est disponible en Debian, Ubuntu, Feutre, et autres distributions Linux. Pour l'installer, utilisez votre gestionnaire de packages par défaut comme indiqué. Notez que cette commande sera également installée git et quelques autres packages comme dépendances.

$ sudo apt-get install, etc 

Sur Enterprise Linux distributions telles que Redhat Enterprise Linux (Rhel), Centos Et d'autres, vous devez ajouter le Référentiel EPEL Avant de l'installer comme indiqué.

# yum Installer EPEL-Release # Yum Installer etckeeper 

Configuration etckeeper dans Linux

Une fois que vous avez installé etckeeper Comme indiqué ci-dessus, vous devez configurer son fonctionnement et son fichier de configuration principal est / etc / etckeeper / etckeeper.confli. Pour l'ouvrir à l'édition, utilisez l'un de vos éditeurs de texte préférés comme indiqué.

# vim / etc / etckeeper / etckeeper.conf ou $ sudo nano / etc / etckeeper / etckeeper.confli 

Le fichier contient plusieurs options de configuration (chacune avec une petite description d'utilisation claire) qui vous permet de définir le système de contrôle de version (VCS) Pour utiliser, passez des options pour VSC; Pour activer ou désactiver la minuterie, activer ou désactiver l'avertissement de fichiers spécial, activer ou désactiver, etc /etc Avant l'installation.

Vous pouvez également définir le gestionnaire de packages frontal ou de niveau supérieur (comme APT, YUM, DNF, etc.) et gestionnaire de packages sous-jacent ou de bas niveau (DPKG, RPM, etc.) travailler avec etckeeper.

Si vous avez apporté des modifications dans le fichier, enregistrez-le et fermez le fichier.

Initialiser le référentiel GIT et effectuer un engagement initial

Maintenant que vous avez configuré, etc., vous devez initialiser le Git Référentiel pour commencer à suivre les modifications de votre /etc Répertoire comme suit. Vous ne pouvez courir que etckeeper avec les autorisations racinaires, autrement utiliser Sudo.

$ cd $ sudo etckeeper init 
Initialiser le référentiel Git sur / etc

Ensuite, étape pour etckeeper Pour pouvoir travailler automatiquement, vous devez exécuter le premier engagement à commencer à suivre les modifications /etc, comme suit.

$ sudo etckeeper commet "First Commit" 
Exécuter Git Engagez à suivre les modifications du système de fichiers / etc

Faire des changements et engager

Après avoir exécuté votre premier engagement, etckeeper via git est désormais suivi tout changement dans le /etc annuaire. Essayez maintenant de modifier l'un des fichiers de configuration.

Exécutez ensuite la commande suivante pour afficher des fichiers qui ont changé depuis le dernier engagement; Cette commande montre essentiellement les changements dans /etc non mis en scène pour commit, où VCS signifie git et "statut"Est un sous-commande git.

$ sudo etckeeper statut 
Afficher les modifications au système de fichiers / etc

Ensuite, commettez les changements récents comme suit.

$ sudo etckeeper engage "des hôtes modifiés et des fichiers de configuration phpmyadmin" 
Commettre de nouveaux changements

Afficher les journaux de validation

Pour afficher un journal de tous les commits (l'identifiant et le commentaire de chaque engagement), vous pouvez exécuter la commande suivante.

$ sudo etckeeper VCS 
Voir Git Commit History

Vous pouvez également afficher les détails d'un engagement, spécifiez simplement le commettre une pièce d'identité (les premiers caractères peuvent fonctionner) comme indiqué.:

$ sudo, etc 
Afficher les détails de la validation

De plus, vous pouvez voir la différence entre deux commits comme indiqué. Ceci est particulièrement utile si vous souhaitez révoquer les modifications comme indiqué dans la section suivante. Vous pouvez utiliser les touches fléchées pour faire défiler de haut en bas ou à gauche et à droite, et quitter en appuyant sur q.

$ sudo etckeeper VCS Show 704cc56 A153B6847 

Comment révoquer les changements

L'essence de etckeeper est pour vous aider à suivre les modifications de votre /etc répertoire et inverser les modifications si nécessaire. En supposant que vous réalisez que vous avez fait des erreurs dans le / etc / nginx / nginx.confli Lorsque vous l'avez édité pour la dernière fois et que le service Nginx ne peut pas être redémarré en raison d'erreurs dans la structure de configuration, vous pouvez revenir à la copie enregistrée dans un engagement spécifique (E.g 704cc56) où vous pensez que la configuration était correcte comme suit.

$ sudo, etc.confli 

Alternativement, vous pouvez annuler toutes les modifications et revenir aux versions de tous les fichiers sous /etc (et ses sous-répertoires) stockés dans un engagement spécifique.

$ sudo etckeeper VCS Checkout 704cc56 

Comment permettre à des modifications d'être engagées automatiquement

Etckeeper expédient également avec un service et des unités de minuterie pour Systemd, inclus dans le package. Lancer "Autocommit«Des changements dans le /etc Répertoire, commencez simplement etckeeper.minuteur unité pour l'instant et vérifiez si elle est opérationnelle, comme suit.

$ sudo systemctl start etckeeper.Timer $ Sudo SystemCTl Statut, etc.minuteur 
Start ETCKkeeper Timer Unit

Et l'activer pour démarrer automatiquement au démarrage du système comme indiqué.

$ sudo systemctl activer etckeeper.minuteur 

Pour plus d'informations, consultez la page du projet etckeeper: https: // etckeeper.branchable.com /.

Conclusion

Dans ce guide, nous avons montré comment installer et utiliser etckeeper pour les changements de magasin dans le /etc Répertoire dans un système de contrôle de version (VCS) tel que git et examiner ou retourner les modifications qui ont été apportées à /etc, Où il faut. Partagez vos pensées ou posez des questions sur ETCKkeeper via le formulaire de rétroaction ci-dessous.