use*_*ser 5 debian dpkg apt integrity
假设我有一个已安装、可运行且最新的系统,并且想验证其上的所有软件包安装文件是否与相应软件包维护者打包的文件相同。
实际上,我想要一个文件列表,这些文件在我“现在”安装的文件和我在空白系统上使用相同的软件包重新安装时会得到的文件之间存在某种差异。如果没有实际重新安装和比较结果,我将如何生成这样的文件列表?
我意识到有些差异(例如配置文件)是可以预料的,但这没关系。
我主要对 Debian Wheezy 感兴趣,但一个好的答案是探索一个解决方案,该解决方案适用于任何基于相同包管理基础设施(apt、dpkg 和朋友)的现代 Linux 发行版。
完成此操作的一种方法是使用命令debsums。
$ debsums <package>
Run Code Online (Sandbox Code Playgroud)
$ debsums xz-utils
/usr/bin/lzmainfo OK
/usr/bin/xz OK
/usr/bin/xzdiff OK
/usr/bin/xzgrep OK
/usr/bin/xzless OK
/usr/bin/xzmore OK
/usr/share/doc/xz-utils/NEWS.Debian.gz OK
/usr/share/doc/xz-utils/README.Debian OK
/usr/share/doc/xz-utils/README.gz OK
/usr/share/doc/xz-utils/copyright OK
/usr/share/doc/xz-utils/extra/7z2lzma/7z2lzma.bash OK
/usr/share/doc/xz-utils/extra/scanlzma/scanlzma.c OK
/usr/share/doc/xz-utils/faq.txt.gz OK
/usr/share/doc/xz-utils/history.txt.gz OK
/usr/share/man/man1/lzmainfo.1.gz OK
/usr/share/man/man1/xz.1.gz OK
/usr/share/man/man1/xzdiff.1.gz OK
/usr/share/man/man1/xzgrep.1.gz OK
/usr/share/man/man1/xzless.1.gz OK
/usr/share/man/man1/xzmore.1.gz OK
Run Code Online (Sandbox Code Playgroud)
您可以使用
dpkg -V <package>
Run Code Online (Sandbox Code Playgroud)
我测试了它,它也适用于配置文件。
修改/etc/iceweasel/profile/bookmarks.html并运行后dpkg -V iceweasel,得到以下输出
??5?????? c /etc/iceweasel/profile/bookmarks.html
Run Code Online (Sandbox Code Playgroud)
请注意,仅显示修改过的文件,并且根据dpkg 手册页,输出格式类似于rpm.
| 归档时间: |
|
| 查看次数: |
7236 次 |
| 最近记录: |