看了 pacman 的 man 页,貌似没有类似于 rpm -V 的功能。那么,当 ArchLinux 安装好之后的日常使用过程中,如果怀疑系统被篡改,有没有手段去检验所有系统文件的完整性呢?
1
pmpio OP pacman -Qkk
貌似是通过文件大小和修改时间来判断的,也太简单了,几乎没什么意义。 |
2
skydiver 2016-10-06 21:24:18 +08:00 via iPad
安装的时候有 gpg 校验已经很不错了,毕竟只是个社区发行版
|
3
pmpio OP @skydiver 这么说来,这个发行版只适合个人使用,不适合用在服务器上呀。记得以前连安装前的校验都没有的,呼唤了好多年才出来。
|
4
lilydjwg 2016-10-06 21:33:44 +08:00
暂时不支持检查校验和。你有兴趣可以发个补丁出来。
|
5
lilydjwg 2016-10-06 21:35:28 +08:00
@pmpio 本来就不适合在服务器上用。说不定某天你 pacman -Syu 之后,你自己的程序就因为缺库而跑不起来了。或者某个软件因为版本升级功能改变,导致你的程序出错。又或者人品太差, reboot 之后就失联了。
|
6
pmpio OP @lilydjwg 其实已经有了,不过还在 AUR 中: https://aur.archlinux.org/packages/pacutils/
里面的 paccheck 就可以检查软件包文件的 hash 。。。。 |
7
pmpio OP @lilydjwg 确实,随时更新的软件包有好处,也有更大的坏处,服务器上还是 redhat 或 centos 那样的慢更新比较保险。
不过, archlinux 的安装方式的确最干净,不会安装上一大堆并不想要的软件包。 Redhat 之类的,本来不想装 X 相关的包的,经常会因为不慎选上了一个其它包而装上 X 相关的一大堆。。。。 |
8
caizixian 2016-10-06 21:44:02 +08:00
没有这个功能的原因:
https://bugs.archlinux.org/task/38884 |
9
pmpio OP @caizixian 原来是把皮球踢给 libarchive 了, 2014 年 6 月提出问题,到现在。。。。哦,我不会 C 或 C++。。。。:D
|
11
fool 2016-10-07 12:52:11 +08:00
第一次了解,借楼能问一下 apt 的安装后校验怎么做?
|
12
KingsWay 2016-10-07 19:41:43 +08:00 1
@fool APT 在安装前有针对整个包的 hash 校验,至于安装后每个文件的完整性。。。据我所知应该是没有的, apt 的软件列表里只有整个包的 hash ,没有单个文件的。。。。
|
13
fool 2016-10-08 01:39:36 +08:00
|
14
fool 2016-10-08 12:59:12 +08:00
@KingsWay Google 一下就搜到了,用 debsums 。
http://serverfault.com/questions/322518/can-dpkg-verify-files-from-an-installed-package |
15
hosiet 2016-10-08 16:57:59 +08:00 via Android
Debian 系列发行版 dpkg --verify 或者 dpkg -V
2013 年以后的 dpkg 就够了。详情请 man dpkg. |