Utilisation dEtckeeper pour le contrôle de version de / etc

introduction

Le /etc/répertoire joue un rôle essentiel dans le fonctionnement d'un système Linux. La raison en est que presque tous les fichiers de configuration système se trouvent à l'intérieur /etc/. Les données stockées dans /etc/sont liées non seulement aux bibliothèques système intégrées, mais également aux logiciels nouvellement installés et à sa configuration. Les installations, mises à niveau et modifications de configuration du système et des logiciels sont toutes stockées dans /etc/. Ainsi, est-ce une bonne pratique d'utiliser le contrôle de version lors de la gestion /etc/pour éviter les erreurs potentielles causées par des dysfonctionnements imprévus ou accidentels.

Avec Etckeeper, vous pouvez facilement gérer /etc/avec votre mécanisme de contrôle de version en utilisant un référentiel Git, Mercurial, Bazaar ou Darcs. Par défaut, Etckeeper utilise git pour maintenir /etc/le répertoire du référentiel de versions à une granularité quotidienne afin de minimiser la perte de données potentielle. De plus, il vous permet de valider vos modifications manuellement à tout moment.

Dans cet article, regardons comment installer Etckeeper sur une instance de serveur CentOS 6, ainsi que comment effectuer manuellement une validation et annuler des modifications.

Conditions préalables

Les instructions de cet article ont été validées sur une instance Vultr CentOS 6 avec une pile LEMP. Les instructions pour d'autres distributions peuvent être différentes.

Remarque: il est recommandé d'accéder à votre système en tant qu'utilisateur non root avec les privilèges sudo.

Étape 1: installer Etckeeper

Etckeeper est inclus dans le repo EPEL Yum. Vous devez configurer le dépôt EPEL Yum avant de pouvoir installer Etckeeper:

sudo yum install epel-release
sudo yum update
sudo yum install etckeeper

Une installation réussie d'Etckeeper installera automatiquement git et d'autres dépendances.

Vous pouvez personnaliser la configuration d'Etckeeper en éditant le fichier de configuration situé à /etc/etckeeper/etckeeper.conf. Cependant, la configuration par défaut est adéquate et nous l'utiliserons dans le cadre de ce tutoriel.

Étape 2: Configurer / etc comme répertoire de travail git d'Etckeeper

Vous pouvez faire traiter Etckeeper /etc/comme le répertoire de travail git en exécutant les commandes suivantes:

cd /etc
sudo etckeeper init

La sous-commande "init" ci-dessus créera un fichier nommé .gitignoreet un répertoire nommé .gitdans /etc/.

Le .gitignorecontient une liste prédéfinie de fichiers et ne nécessite pas de gestion avec contrôle de version. Si nécessaire, vous pouvez ajouter ou supprimer des noms de fichiers comme vous le souhaitez, n'oubliez pas de mettre un nom de fichier par ligne entre la ligne # begin section managed by etckeeper...et la ligne # end section managed by etckeeper.

Le .gitrépertoire est l'endroit où stocker le référentiel de versions du /etc/répertoire.

Étape 3: effectuer la validation initiale

Avant la validation initiale, vous pouvez voir ce qui sera validé:

sudo etckeeper vcs status | more

La vcssous-commande d'Etckeeper invoquera le logiciel de contrôle de version (qui est git) pour exécuter la sous-commande suivante dans le /etc/répertoire. Ainsi, la commande ci-dessus est égale à:

sudo git -C /etc status | more

Appuyez sur space barpour tourner une page. Si vous trouvez des fichiers dont la version ne doit pas être contrôlée, ajoutez-les au .gitignorefichier.

Maintenant, vous pouvez valider tout le contenu du répertoire / etc (à l'exception des fichiers définis dans .gitignore) dans votre référentiel git. N'oubliez pas d'écrire des commentaires significatifs entre deux guillemets pour examen.

sudo etckeeper commit "Initial config in /etc"

Ici, vous pouvez compresser le répertoire git pour économiser de l'espace disque:

sudo etckeeper vcs gc

Étape 4: effectuez un autre commit après avoir apporté des modifications dans / etc

Couplé à git, Etckeeper peut enregistrer toutes les modifications qui se produisent dans le /etc/répertoire, telles que l'ajout, la modification ou la suppression de fichiers, ainsi que les changements de propriété et / ou d'autorisation pour les fichiers et les répertoires. Tout sous /etc/tombe sous sa politique de contrôle de version.

Veuillez noter que le fait d'avoir un /etc/contrôle de version ne signifie pas que vous pouvez effectuer n'importe quelle opération dessus. De graves dysfonctionnements peuvent rendre le système inutilisable avant qu'Etckeeper ne puisse restaurer la configuration dans un état de fonctionnement.

À des fins de test, vous devez uniquement apporter des modifications sécurisées /etc/, telles que l'ajout d'un nouveau fichier, la modification du nom d'hôte /etc/hostsou l'installation d'un nouveau logiciel à l'aide de Yum.

Par exemple, ajoutez le fichier abcdedans /etc/:

sudo touch /etc/abcde

Ensuite, ajoutez la ligne 192.168.0.2 desktopdans le /etc/hostsfichier:

echo '192.168.0.2 desktop' | sudo tee -a /etc/hosts

Enfin, vous pouvez à nouveau exécuter la sous-commande "commit":

sudo etckeeper commit "add a file /etc/abcde and add a line to /etc/hosts"

Étape 5: révoquer vos modifications

Tout d'abord, vous pouvez vérifier l'historique de git pour obtenir l'identifiant et le commentaire de chaque commit:

sudo etckeeper vcs log

Deuxièmement, vous pouvez vérifier les détails de tout commit avec les premiers bits de son identifiant de commit. Ici, nous supposons que le premier ID de validation est 7f5bff, le deuxième ID de validation est 1aa658.

sudo etckeeper vcs show 1aa658

Vous pouvez appuyer sur jpour descendre, appuyer sur kpour monter, saisir /keyword<Enter>pour rechercher, appuyer sur qpour quitter.

Troisièmement, vous pouvez également comparer les différences entre deux validations avec la commande suivante. Soyez conscient de la séquence de deux commits, une séquence naturelle place le premier avant le dernier.

sudo etckeeper vcs diff 7f5bff..1aa658

Maintenant, vous constatez que vous avez mal configuré le nom d'hôte /etc/hostspendant le premier commit et le deuxième commit, mais l'ajout du fichier /etc/abcdeest une opération correcte, vous pouvez révoquer votre modification uniquement dans le /etc/hostsfichier avec la commande suivante:

sudo etckeeper vcs checkout 7f5bff /etc/hosts

Si vous souhaitez révoquer toutes les modifications entre le premier commit et le second commit, vous pouvez utiliser la commande suivante:

sudo etckeeper vcs checkout 7f5bff

Bien sûr, vous pouvez toujours revenir au deuxième commit:

sudo etckeeper vcs checkout 1aa658

Conclusion

Une fois Etckeeper configuré correctement, vous pouvez régler et entretenir votre système avec plus de confiance. Néanmoins, sachez que le contrôle de version est différent de la sauvegarde et que le /etc/répertoire n'est pas le seul endroit à s'inquiéter. Afin de garder votre système en forme, vous devez également sauvegarder régulièrement votre système en plus du mécanisme de contrôle de version.



Leave a Comment

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i

Configurez votre propre réseau privé avec OpenVPN

Configurez votre propre réseau privé avec OpenVPN

Vultr vous offre une connectivité réseau privée impressionnante pour les serveurs fonctionnant au même endroit. Mais parfois, vous voulez deux serveurs dans des pays différents

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que

Installer eSpeak sur CentOS 7

Installer eSpeak sur CentOS 7

Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin

Comment installer Thelia 2.3 sur CentOS 7

Comment installer Thelia 2.3 sur CentOS 7

Vous utilisez un système différent? Thelia est un outil open source pour la création de sites Web de commerce électronique et la gestion de contenu en ligne, écrit en PHP. Code source Thelia i

Comment déployer Google BBR sur CentOS 7

Comment déployer Google BBR sur CentOS 7

BBR (Bottleneck Bandwidth and RTT) est un nouvel algorithme de contrôle de congestion qui est contribué à la pile TCP du noyau Linux par Google. Avec BBR en place,

Comment installer YOURLS sur CentOS 7

Comment installer YOURLS sur CentOS 7

YOURLS (Your Own URL Shortener) est une application open source de raccourcissement dURL et danalyse de données. Dans cet article, nous couvrirons le processus dinstallation

Configurer Nginx-RTMP sur CentOS 7

Configurer Nginx-RTMP sur CentOS 7

Vous utilisez un système différent? RTMP est idéal pour diffuser du contenu en direct. Lorsque RTMP est associé à FFmpeg, les flux peuvent être convertis en différentes qualités. Vultr i

Comment installer LimeSurvey sur CentOS 7

Comment installer LimeSurvey sur CentOS 7

LimeSurvey est un outil de sondage en ligne gratuit et open source qui est largement utilisé pour publier des sondages en ligne et recueillir des commentaires sur les sondages. Dans cet article, je vais

Installer Java SE sur CentOS

Installer Java SE sur CentOS

Introduction Java est une plate-forme logicielle populaire qui vous permet de développer et dexécuter des applications et des applets Java dans divers environnements matériels. Il y a

Comment installer Vanilla Forum sur CentOS 7

Comment installer Vanilla Forum sur CentOS 7

Vous utilisez un système différent? Le forum Vanilla est une application de forum open source écrite en PHP. Il est entièrement personnalisable, facile à utiliser et prend en charge externa

Installation de Netdata sur CentOS 7

Installation de Netdata sur CentOS 7

Vous utilisez un système différent? Netdata est une étoile montante dans le domaine de la surveillance des métriques système en temps réel. Par rapport à dautres outils du même type, Netdata:

Comment installer le serveur Just Cause 2 (JC2-MP) sur CentOS 7

Comment installer le serveur Just Cause 2 (JC2-MP) sur CentOS 7

Dans ce didacticiel, découvrez comment configurer un serveur multijoueur Just Cause 2. Prérequis Veuillez vous assurer que le système est entièrement mis à jour avant de commencer

Comment installer Starbound Server sur CentOS 7

Comment installer Starbound Server sur CentOS 7

Vous utilisez un système différent? Dans ce tutoriel, je vais vous expliquer comment configurer un serveur Starbound sur CentOS 7. Prérequis Vous devez posséder ce jeu sur vous

Installation et configuration de ZNC sur CentOS 7

Installation et configuration de ZNC sur CentOS 7

ZNC est un videur IRC gratuit et open-source qui reste connecté en permanence à un réseau afin que les clients puissent recevoir des messages envoyés lorsquils sont hors ligne. Thi

Comment installer Django sur CentOS 7

Comment installer Django sur CentOS 7

Django est un framework Python populaire pour lécriture dapplications Web. Avec Django, vous pouvez créer des applications plus rapidement, sans réinventer la roue. Si tu veux

Comment configurer ionCube Loader sur CentOS 7

Comment configurer ionCube Loader sur CentOS 7

ionCube Loader est une extension PHP qui permet à un serveur Web dexécuter des fichiers PHP qui ont été encodés à laide dionCube Encoder et qui est requis pour exécuter e

Comment installer Reader Self 3.5 RSS Reader sur un VPS CentOS 7 LAMP

Comment installer Reader Self 3.5 RSS Reader sur un VPS CentOS 7 LAMP

Vous utilisez un système différent? Reader Self 3.5 est un lecteur RSS auto-hébergé simple et flexible, gratuit et open source et une alternative à Google Reader. Reader Sel

Comment installer PufferPanel (Panneau de configuration Minecraft gratuit) sur CentOS 7

Comment installer PufferPanel (Panneau de configuration Minecraft gratuit) sur CentOS 7

Introduction Dans ce tutoriel, installez bien PufferPanel sur notre Vultr VPS. PufferPanel est un panneau de contrôle open source et gratuit pour vous gérer

Comment installer BoltWire CMS sur CentOS 7

Comment installer BoltWire CMS sur CentOS 7

Vous utilisez un système différent? Introduction BoltWire est un système de gestion de contenu gratuit et léger écrit en PHP. Comparé à la plupart des autres gestionnaires de contenu

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.