如何在 Linux 上使用 Etckeeper 通过版本控制来管理 /etc

在, 这/etc目录是特定于主机的系统范围配置文件和目录所在的位置;它是所有系统范围配置文件的中心位置。配置文件是用于控制程序如何工作的本地文件 - 它必须是静态的并且不能是可执行的二进制文件。

到,系统管理员通常在修改配置文件之前对其进行复制(或备份)。这样,如果他们直接修改原始文件并犯了错误,他们可以恢复到保存的副本。

等管理员是一个简单、易于使用、模块化和可配置的工具集合,让/etc使用版本控制进行管理。它使您能够将更改存储在/etc版本控制系统中的目录(VCS),例如 git(这是首选的 VCS)、mercurial、bazaar 或 darcs 存储库。因此允许您使用 git 来查看或恢复所做的更改/etc,以防出现错误。

它的其他特点是:

  1. 它支持与前端包管理器的集成,包括,,,和吃豆人-G2自动提交所做的更改/etc在包升级期间。
  2. 它跟踪 git 通常不支持的文件元数据(例如文件权限),但这对于/etc, 和
  3. 它包括一个和一个系统计时器,每个计时器都可以向其提交现有更改/etc每天自动一次。

如何在 Linux 中安装 Etckeeper

等管理员可用于德班,乌班图,软呢帽、以及其他 Linux 发行版。要安装它,请使用默认的包管理器,如图所示。请注意,此命令还将安装git以及其他一些包作为依赖项。

$ sudo apt-get install etckeeper	#Ubuntu and Debian
# apt-get install etckeeper		#Debian as root user
# dnf install etckeeper			#Fedora 22+
$ sudo zypper install etckeeper	        #OpenSUSE 15

在企业Linux分布如红帽企业Linux(RHEL),中央操作系统和其他,您需要添加EPEL 存储库如图所示安装之前。

# yum install epel-release
# yum install etckeeper

在 Linux 中配置 Etckeeper

安装完成后等等管理员如上所示,你需要配置它的运行方式,它的主要配置文件是/etc/etckeeper/etckeeper.conf。要打开它进行编辑,请使用您的任何如图所示。

# vim /etc/etckeeper/etckeeper.conf
OR
$ sudo nano /etc/etckeeper/etckeeper.conf

该文件包含多个配置选项(每个选项都有一个小而清晰的使用说明),允许您设置版本控制系统(VCS) 使用时,将选项传递给VSC;启用或禁用计时器、启用或禁用特殊文件警告、启用或禁用 etckeeper 提交现有更改/etc安装前。

另外,您还可以设置前端或更高级的包管理器(例如,,等)和底层或低级包管理器(,等)一起工作等等管理员。

如果您对文件进行了任何更改,请保存并关闭文件。

初始化 Git 存储库并执行初始提交

现在您已经配置了etckeeper,您需要初始化git存储库以开始跟踪您的任何更改/etc目录如下。你只能跑等等管理员具有root权限,否则使用须藤。

$ cd 
$ sudo etckeeper init
在 /etc 上初始化 Git 存储库

接下来,步骤为等等管理员为了能够自动工作,您需要运行第一次提交来开始跟踪更改/etc,如下。

$ sudo etckeeper commit "first commit"
运行 Git Commit 来跟踪 /etc 文件系统中的更改

做出改变并做出承诺

运行第一次提交后,等等管理员通过git现在正在跟踪任何变化/etc目录。现在尝试对任何配置文件进行更改。

然后运行以下命令来显示自上次提交以来已更改的文件;该命令本质上显示了以下变化/etc未上演提交,其中VCS意思是 git 和“地位” 是一个 git 子命令。

$ sudo etckeeper vcs status
查看 /etc 文件系统的更改

然后按如下方式提交最近的更改。

$ sudo etckeeper commit "changed hosts and phpmyadmin config files"
做出新的改变

查看提交日志

要查看所有提交的日志(每个提交的 ID 和评论),您可以运行以下命令。

$ sudo etckeeper vcs log
查看 Git 提交历史记录

您还可以显示提交的详细信息,只需指定提交ID(前几个字符可以工作)如图:

$ sudo etckeeper vcs show a153b68479d0c440cc42c228cbbb6984095f322d
OR
$ sudo etckeeper vcs show a153b6847
查看提交详细信息

此外,您还可以查看两次提交之间的差异,如图所示。如果您想要撤销更改(如下一节所示),这尤其有用。您可以使用方向键上下或左右滚动,按退出q。

$ sudo etckeeper vcs show 704cc56 a153b6847

如何撤销更改

本质是等等管理员是为了帮助您跟踪您的更改/etc目录并在必要时撤消更改。假设您意识到自己在操作中犯了一些错误/etc/nginx/nginx.conf当您上次编辑它时,由于配置结构中的错误,Nginx 服务无法重新启动,您可以恢复到特定提交中保存的副本(例如704cc56)您认为配置正确的地方如下。

$ sudo etckeeper vcs checkout 704cc56 /etc/nginx/nginx.conf

或者,您可以取消所有更改并恢复到以下所有文件的版本/etc(及其子目录)存储在特定的提交中。

$ sudo etckeeper vcs checkout 704cc56 

如何自动提交更改

等管理员还附带一个服务和定时器单元系统,包含在包装中。推出“自动提交”的变化/etc目录,直接启动etckeeper.timer现在检查它是否已启动并正在运行,如下所示。

$ sudo systemctl start etckeeper.timer
$ sudo systemctl status etckeeper.timer
启动 Etckeeper 定时器单元

并使其在系统启动时自动启动,如图所示。

$ sudo systemctl enable etckeeper.timer

有关更多信息,请参阅 Etckeeper 项目页面:https://etckeeper.branchable.com/。

结论

在本指南中,我们展示了如何安装和使用等等管理员对于商店的更改/etc版本控制系统中的目录(VCS) 例如git并查看或恢复所做的更改/etc,必要时。通过下面的反馈表分享您的想法或询问有关 etckeeper 的问题。