如何在 Debian 系统上检查修改的配置文件?

mal*_*cke 68 debian configuration packages

如何查找所有已更改为默认值的 Debian 托管配置文件?

mal*_*cke 87

要查找所有已更改为默认值的 Debian 管理配置文件,您可以使用这样的命令。

dpkg-query -W -f='${Conffiles}\n' '*' | awk 'OFS="  "{print $2,$1}' | md5sum -c 2>/dev/null | awk -F': ' '$2 !~ /OK/{print $1}'
Run Code Online (Sandbox Code Playgroud)

编辑(适用于本地化系统):

dpkg-query -W -f='${Conffiles}\n' '*' | awk 'OFS="  "{print $2,$1}' | LANG=C md5sum -c 2>/dev/null | awk -F': ' '$2 !~ /OK/{print $1}' | sort | less
Run Code Online (Sandbox Code Playgroud)

编辑(适用于文件名中带有 OK 的包):

dpkg-query -W -f='${Conffiles}\n' '*' | awk 'OFS="  "{print $2,$1}' | LANG=C md5sum -c 2>/dev/null | awk -F': ' '$2 !~ /OK$/{print $1}' | sort | less
Run Code Online (Sandbox Code Playgroud)


nau*_*101 51

来自man debsums

  debsums -ce
          List changed configuration files.
Run Code Online (Sandbox Code Playgroud)

  • 这是迄今为止最简单和最好的答案。 (2认同)
  • 只有 debsums 默认情况下没有安装,您可能不想安装它。 (2认同)
  • @AlexisWilke:它是 218kb 并且具有最小的依赖性...... (2认同)

小智 12

对不起,虽然@naught101 的答案对于修改后的文件是正确的,但它对添加的文件没有帮助。@Graeme 的解决方案很好,但取决于 etckeeper;我不想修改文件系统。

find /etc -type f | grep -vFf <(debsums -e -r /etc | sed 's/[[:space:]]*OK$//')
Run Code Online (Sandbox Code Playgroud)

查找的/ etc文件/文件debsums没有报告为有效。这意味着未跟踪的文件或不“正常”的文件(哈希不匹配)。


Zor*_*che 8

我通常喜欢立即在系统上设置 etckeeper。使用 etckeeper 之类的东西,我不仅可以在文件不同时找到,而且我实际上可以准确了解它的不同之处。

看:


小智 6

或 debsums -e | grep FAILED 这也将显示所有丢失的配置文件

(来自 debsums 包)