Comment gérer / etc. avec le contrôle de la version en utilisant etckeeper sur Linux
- 903
- 248
- Maxence Arnaud
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:
- 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. - 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 - 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 initInitialiser 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 statutAfficher 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 VCSVoir 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, etcAfficher 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.minuteurStart 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.
- « Comment répertorier tous les services en cours d'exécution sous Systemd en Linux
- Comment installer zabbix sur rhel 8 »