Est-il possible de s'éloigner dans le message de changement.
Pour comprendre le fonctionnement d'etckeeper, il faut comprendre le fonctionnement des systèmes de contrôle de version. Avec les systèmes VCS, vous avez le concept de dépôt, qui est en fait une base de données de toutes les modifications, le répertoire de travail dans lequel vous êtes en train de modifier les choses.
Etckeeper peut en fait utiliser l'un des nombreux back-ends DVCS, il peut supporter bzr, git et hg. Quel que soit le back-end utilisé, le fonctionnement est à peu près le même. J'utilise git comme back-end car je suis beaucoup plus familier avec git.
Avec Etckeeper, votre répertoire de travail est presque toujours /etc
bien que vous puissiez l'utiliser pour d'autres répertoires. Lorsque tout ce qui concerne l'état actuel de votre répertoire de travail a été transmis, votre répertoire de travail est considéré comme étant propre . Si vous apportez une modification à un fichier et que vous souhaitez que cette modification soit intégrée dans le référentiel, vous devez exécuter la commande suivante etckeeper commit "Your log message here"
. Vous pouvez vérifier si votre référentiel est dans un état propre en lançant une commande telle que etckeeper unclean && echo $
.
Ceci étant dit, je vais maintenant vous expliquer comment etckeeper s'accroche pour vous aider à suivre ce qu'apt fait. Lorsque etckeeper est installé, un fichier de configuration est ajouté à la configuration d'apt à l'endroit suivant /etc/apt/apt.conf.d/05etckeeper
. Cela permet de mettre en place des crochets de sorte que lorsqu'il est demandé à apt d'installer un ou plusieurs paquets, il exécute une commande avant le début de l'installation et une autre après la fin de l'installation. Pour voir exactement ce que font les commandes avant et après l'installation, regardez les scripts dans le fichier /etc/etckeeper/pre-install.d
y /etc/etckeeper/post-install.d
les répertoires.
En fait, la commande de pré-installation effectuera un commit si votre répertoire de travail n'est pas propre. Si vous n'aimez pas cela, vous pouvez simplement vous rappeler de lancer manuellement un commit après avoir modifié quoi que ce soit. Si vous êtes fortement opposé à l'auto-commit vous pouvez ajuster votre /etc/etckeeper/etckeeper.conf
et décommenter le fichier AVOID_COMMIT_BEFORE_INSTALL=1
ligne. Cette modification vous obligera à commit manuellement avant de pouvoir lancer apt. Si vous n'aimez vraiment pas l'auto-commit, vous pouvez également désactiver l'auto-commit quotidien, présent dans les versions plus récentes.
Je veux pouvoir faire des recherches sur le dépôt bzr à partir d'un simple fichier ordinaire.
C'est une très mauvaise idée à mon avis. Il y a de nombreux fichiers dans /etc qui ne devraient pas être lisibles pour un utilisateur final. Si vous voulez vous faciliter la vie, vous pouvez configurer sudo pour qu'il ne demande pas de mot de passe à votre compte lorsque vous utilisez bzr ou etckeeper.
Y a-t-il des gotch (tels que /etc/shadow/ de etckeeper
La bonne façon de procéder est d'utiliser la fonction "ignorer" pour le backend DVCS que vous avez choisi. Si vous utilisez git, vous devez ajouter le fichier à votre fichier /etc/.gitignore
Je crois qu'il existe un /etc/.bzrignore
Cela devrait faire la même chose, mais vous aurez peut-être besoin d'un expert en bzr pour le confirmer. Personnellement, je pense que j'aime bien suivre l'évolution de l'option /etc/shadow
car il me permet de savoir si un malfaiteur a réussi à modifier un compte de service qui est censé avoir un mot de passe désactivé, pour lui donner un mot de passe qui lui permettrait d'être utilisé pour des connexions.