为什么以及如何使用版本控制跟踪 /var/log/dmesg

为什么以及如何使用版本控制跟踪 /var/log/dmesg

这个维基他们建议/var/log/dmesg使用 Mercurial 进行跟踪。我想在 CentOS 6.4 上设置一个 cron 作业,就像这一页提醒自己为这样的存储库提交消息。然而, hg diffon的输出/var/log/dmesg相当长,我不太明白我要寻找的是什么。

如果您自己跟踪该文件,为什么?使用它要注意哪些问题?你的改变频率如何?

答案1

在您发布的有关跟踪的链接中/var/log/dmesg,仅在第一个链接上进行了讨论,但我认为这甚至不是这些文章的主要焦点。他们主要讨论如何跟踪对/etc目录所做的更改,这是您肯定想要做的事情,而且很容易做到。

但是,如果您有兴趣跟踪 的更改/etc,我会使用包装工具,例如等等管理员,而不是使用普通的 git/mercurial 来完成此操作(这样做有几个原因,主要是 git 和 Mercurial 不跟踪在 中变得重要的权限/etc)。显然,对于/etc,所有配置信息都保存在那里,因此随着时间的推移跟踪这些文件的更改很有价值。

至于是否应该跟踪所做的更改/var/log/dmesg?我认为这样做没有任何价值,并且认为这样做会浪费时间和资源。

答案2

跟踪配置文件(例如其中的大多数内容)/etc是一个好主意。与其只提交几个文件,不如简单地提交所有内容。管理/etc可能有点棘手(您必须能够恢复文件的权限和所有权,而版本控制软件通常不会这样做),并且让包管理器自动执行提交非常方便,因此我不建议使用直接使用版本控制软件。相反,使用等等管理员,它负责管理权限和所有权,并且有 yum 的挂钩。与 Debian 和 Ubuntu 不同,CentOS 并不提供开箱即用的 etckeeper,但是可以安装

跟踪/usr/local/bin/usr/local/sbin可能是一个好主意,尽管这取决于您放在那里的内容。如果您为系统编写脚本并将它们放在那里,那么这些目录应该处于版本控制之下。如果您安装第三方软件,这些目录可能不应该受到版本控制。我所做的就是在/etc/local/bin和中编写本地脚本/etc/local/sbin(位于 etckeeper 管理的区域中),并将这些目录添加到系统范围的默认路径中,或者在/usr/local.

将诸如/var/log/dmesg和 之类的日志文件/var/log/rpmpkgs置于版本控制之下是没有意义的。日志文件仅在正常操作下才会增长。它们可能会被轮换,这会缩小日志文件,但不会删除任何日志数据:它只是移动到新的文件名。由于日志只会增长,因此恢复到早期版本没有意义。日志不会分支。日志只会自动修改,不会手动修改。因此,版本控制的任何好处都没有发挥出来。

更糟糕的是,法律可能要求清除旧日志以保护隐私。将日志置于版本控制之下使得清除旧版本变得非常困难。日志应单独归档。

相关内容