通过连接APT系统来维护一个很好的信息文档?

理想情况下,我想要一些东西:

  • 允许我写一个包或一组包的安装的原因
  • 保留所有已安装软件包对我的系统的更改跟踪。 我希望看到/ etc文件修改,用户和组更改和整体文件更改。 而任何重要的,我忘了。 🙂
  • 允许我写一个删除一个包或一组包的原因。
  • 允许我修改我以后给的原因。 我可能已经安装了一个包,只是因为我想检查出来。 那么我可能会发现它非常有用,并有一个很好的理由来保持它。 由于原因是文件,而不是日记,我想改变原来的原因“只是testing”,“安装,因为它提供了服务x,y,z使用最小和快速的实现”。
  • 允许我(手动)包括我需要执行的手动步骤。 像改变文件的内容,那些权限,删除该文件并创build该文件。 基本上我会和一些文档注释一起执行日志命令。 把它们绑在我安装/拆除的包装上,这些手工步骤是必要的。
  • 我可以从中得到输出,基本上是如何在新安装的机器上复制我的系统的描述。 这意味着只有安装/移除的软件包与新安装不同,并显示其描述(仍然按照软件包的顺序可能相互依赖)。

问题

  • 这听起来像一个很好的文件系统? 为什么? 为什么不? 有什么可以改进的?
  • 有没有这样的东西呢?
  • 是否有可能挂钩到APT系统获得必要的控制水平来创build类似的东西? 任何提示如何?
  • 你有什么build议如何实现这样的事情?

如果这样的事情还没有出现,我可能会尝试自己创造一些东西。

你正在做的一些似乎将通过使用configurationpipe理系统(如木偶 )和变更控制系统(如颠覆)的组合来涵盖。

当你添加,删除,修改包,你通过木偶系统做到这一点; 然后检查您的configuration更改,并logging更改的内容和原因。

这使您不仅可以复制系统,而且可以让您在任何时间重现它。 你也可以控制不仅仅是包文件。 您可以控制系统中的所有configuration文件。

虽然我自己是木偶的粉丝(呃,从技术上说,我喜欢木偶的想法,不喜欢实现,但这是一个完整的故事),并且会推荐一般来说,你可以产生或多或less的东西想用一些脚本 – apt已经足够强大了。 另外, etckeeper软件包会为您执行“configuration更改跟踪”位,并提供一个如何挂接到apt来执行所需操作的示例。

我在我的工作站上使用etckeeper只是为了了解什么时候改变了什么,但是我不会认为它是生产系统上真正的configurationpipe理系统的替代品。 它只是没有(不能!)跟踪足够的系统状态,使其成为一个可行的select。