Linux

dpkg 可以驗證已安裝軟體包中的文件嗎?

  • January 29, 2018

rpm -qV openssh-server我將獲得與預設值相比已更改的文件列表。

~$ rpm -qV openssh-server
S.?....T.  c /etc/ssh/sshd_config
~$ 

可以dpkg在 Ubuntu 上做同樣的事情嗎?

我不這麼認為,在 Ubuntu 中,md5 校驗和僅儲存在某些文件中。對於任何給定的包,具有校驗和的文件列表可以在

/var/lib/dpkg/info/<package>.md5sums

例如

/var/lib/dpkg/info/openssh-server.md5sums

這些通常不包含已由軟體包安裝的文件的完整列表,例如 openssh-server.md5sums

bb5096cf79a43b479a179c770eae86d8  usr/lib/openssh/sftp-server
42da5b1c2de18ec8ef4f20079a601f28  usr/sbin/sshd
8c5592e0d522fa0f8f55f3c104479ef5  usr/share/lintian/overrides/openssh-server
cfcb67f58bcd1edcaa5a770863e49304  usr/share/man/man5/sshd_config.5.gz
71a51cbb514da3044b277e05a3ceaf0b  usr/share/man/man8/sshd.8.gz
222d4da61fcb3c65b4e6e83944752f20  usr/share/man/man8/sftp-server.8.gz

您可以使用 debsums 命令 (sudo apt-get install debsums) 檢查具有 md5 簽名的文件

debsums openssh-server
/usr/lib/openssh/sftp-server                                                  OK
/usr/sbin/sshd                                                                OK
/usr/share/lintian/overrides/openssh-server                                   OK
/usr/share/man/man5/sshd_config.5.gz                                          OK
/usr/share/man/man8/sshd.8.gz                                                 OK
/usr/share/man/man8/sftp-server.8.gz                                          OK

引用自:https://serverfault.com/questions/322518