有没有办法知道 /etc 中的哪些文件被修改了?

deb*_*ian 5 debian etc mirror package-management

我想创建我现有 Debian 服务器的镜像。我在/etc中修改了很多文件,不想手工重做,也不想下载巨大的镜像。我想做的是

  1. 下载 /etc 中所有文件的列表
  2. 下载已安装的所有 .deb 包的列表

然后,在原始服务器上,

  1. 将所有 .deb 展开到 /tmp/etc1 并查看它们安装了哪些 /etc 文件
  2. ls /tmp/etc1 > /tmp/listOfOrigEtc
  3. ls /tmp/etc > /tmp/listOfEtc
  4. diff /tmp/listOfEtc /tmp/listOfOrigEtc > /tmp/listOfFilesToDownload
  5. 下载所有新的 etc 文件
  6. 使用 find,查看哪些 /etc/ 文件被修改并下载它们

有没有办法使用单个命令来做到这一点?

lor*_*nix 6

安装debsums包。

执行 debsum 为:

debsums --config
Run Code Online (Sandbox Code Playgroud)

它将列出那些已从默认值更改的配置文件。或者:

debsums --all
Run Code Online (Sandbox Code Playgroud)

将显示每个更改的文件,包括配置文件。

比较好用!

不过要记住一些事情……这个实用程序不能用于发现单独创建的文件……只能发现那些从最初安装的版本中修改过的文件。

创造性地使用 ctime 和 mtime 文件/目录统计信息在这里很有用。

(我最近一直在做这个特定主题的工作,克隆系统)