按照build议在源代码pipe理下放置/ etc,我已经安装了ETCKEEPER。
这看起来不错,但我有一些问题。
是否有办法把你所做的命令放入改变信息中。 所以,如果我运行apt-get安装小部件,我希望提交消息的第一行是安装小部件,而不是在apt运行之后在/ etc中提交更改的更改
我希望能够从一个普通的用户上查询bzr仓库。 但是我被.bzr目录下的保护所阻止。 是否有任何改变这个+ r的陷阱
drwx —— 6 root root 4096 Aug 30 13:00 .bzr
在删除文件(比如/ etc / shadow / from etckeeper控件)方面有任何问题
如果您查看完整的bzr日志而不是短日志,您会看到在apt运行之后在/ etc中提交更改后是一个已更改的软件包列表。 至less,这是我的Ubuntu笔记本电脑和服务器上的行为。 对于绝大多数情况,我怀疑这比“sudo apt-get upgrade”提交消息更有用。
阻止您以普通用户的身份访问bzr日志的原因是bzr repo可以完全访问影子存储库。 可能最大的障碍就是如果你从bzr仓库中删除一个文件,它仍然可以在旧版本中使用。 在svndumpfilter | svnadmin --import行中可能会有一些巫毒可以使用 svndumpfilter | svnadmin --import但为bzr,但我没有尝试过。
你可能会尝试的另一种select是sudo su 。 或者,也许你可以创build一个新的用户和组,把用户放到那个组中,给组访问.bzr,然后su给那个用户进行bzr感兴趣的操作。
是否有办法把你所做的命令放入更改信息中。
了解etckeeper的工作方式意味着你必须了解版本控制系统是如何工作的。 使用VCS系统,您可以获得存储库的概念,基本上是所有更改的数据库,即当前正在更改的工作目录。
Etckeeper实际上可以使用几个DVCS后端之一,它可以支持bzr,git和hg。 无论你使用什么后端,所有的工作都是一样的。 我使用git作为后端,因为我更熟悉git。
用Etckeeper,你的工作目录几乎总是/etc ,尽pipe你可以用它来做其他的目录。 当你的工作目录的当前状态的一切已经被提交时,你的工作目录被认为是干净的 。 如果您对某个文件进行更改,并希望将更改提交到存储库,请运行命令etckeeper commit "Your log message here" 。 你可以通过运行一个像etckeeper unclean && echo $这样的命令来检查你的存储库是否处于干净的状态。
在背景背景下,我可以进入etckeeper钩入,以帮助你跟踪什么是做的。 安装etckeeper时,会在/etc/apt/apt.conf.d/05etckeeper的aptconfiguration文件中添加configuration/etc/apt/apt.conf.d/05etckeeper 。 这会设置一些钩子,所以当apt被要求安装一个软件包时,它会在安装开始之前运行命令,并且在安装完成后它会运行一个命令。 要准确查看pre和post install命令,请查看/etc/etckeeper/pre-install.d和/etc/etckeeper/post-install.d目录中的脚本。
基本上,如果您的工作目录不干净,预安装命令将执行提交。 如果你不喜欢这样,你可以简单地记得在你改变任何东西后手动运行一个提交。 如果您强烈反对自动提交,您可以调整您的/etc/etckeeper/etckeeper.conf文件,并取消注释AVOID_COMMIT_BEFORE_INSTALL=1行。 做这个改变将意味着你将被迫手动提交,然后你可以运行apt。 如果你真的不喜欢自动提交,你可能还想禁用每日自动提交,目前在新版本。
我希望能够从一个普通的用户上查询bzr仓库。
在我看来,这是一个非常糟糕的主意。 / etc中有很多文件不应该被最终用户读取。 如果你想使你的生活更轻松,你可以设置sudo在你使用bzr或者etckeeper的时候不要提示你的帐号input密码。
在删除文件(比如/ etc / shadow / from etckeeper控件)方面有任何问题
正确的做法是使用您select的DVCS后端的忽略function。 如果你在哪里使用git,你可以将文件添加到你的/etc/.gitignore ,我相信有一个/etc/.bzrignore应该做同样的事情,但是你可能需要bzr高手来为你确认。 就我个人而言,我认为我喜欢跟踪/etc/shadow文件,因为它让我知道是否有人邪恶已经设法修改应该有一个禁用密码的服务帐户,有一个密码,这将允许它被使用login。