ArchLinux 在软件包安装前会校验其签名,那么,有像 redhat 那样的,安装后校验软件包完整性的手段么?

2016-10-06 20:53:39 +08:00
 pmpio

看了 pacman 的 man 页,貌似没有类似于 rpm -V 的功能。那么,当 ArchLinux 安装好之后的日常使用过程中,如果怀疑系统被篡改,有没有手段去检验所有系统文件的完整性呢?

3336 次点击
所在节点    Linux
16 条回复
pmpio
2016-10-06 21:09:58 +08:00
pacman -Qkk

貌似是通过文件大小和修改时间来判断的,也太简单了,几乎没什么意义。
skydiver
2016-10-06 21:24:18 +08:00
安装的时候有 gpg 校验已经很不错了,毕竟只是个社区发行版
pmpio
2016-10-06 21:32:20 +08:00
@skydiver 这么说来,这个发行版只适合个人使用,不适合用在服务器上呀。记得以前连安装前的校验都没有的,呼唤了好多年才出来。
lilydjwg
2016-10-06 21:33:44 +08:00
暂时不支持检查校验和。你有兴趣可以发个补丁出来。
lilydjwg
2016-10-06 21:35:28 +08:00
@pmpio 本来就不适合在服务器上用。说不定某天你 pacman -Syu 之后,你自己的程序就因为缺库而跑不起来了。或者某个软件因为版本升级功能改变,导致你的程序出错。又或者人品太差, reboot 之后就失联了。
pmpio
2016-10-06 21:35:30 +08:00
@lilydjwg 其实已经有了,不过还在 AUR 中: https://aur.archlinux.org/packages/pacutils/
里面的 paccheck 就可以检查软件包文件的 hash 。。。。
pmpio
2016-10-06 21:40:52 +08:00
@lilydjwg 确实,随时更新的软件包有好处,也有更大的坏处,服务器上还是 redhat 或 centos 那样的慢更新比较保险。

不过, archlinux 的安装方式的确最干净,不会安装上一大堆并不想要的软件包。 Redhat 之类的,本来不想装 X 相关的包的,经常会因为不慎选上了一个其它包而装上 X 相关的一大堆。。。。
caizixian
2016-10-06 21:44:02 +08:00
没有这个功能的原因:
https://bugs.archlinux.org/task/38884
pmpio
2016-10-06 21:57:00 +08:00
@caizixian 原来是把皮球踢给 libarchive 了, 2014 年 6 月提出问题,到现在。。。。哦,我不会 C 或 C++。。。。:D
skydiver
2016-10-06 21:58:12 +08:00
@pmpio
fool
2016-10-07 12:52:11 +08:00
第一次了解,借楼能问一下 apt 的安装后校验怎么做?
KingsWay
2016-10-07 19:41:43 +08:00
@fool APT 在安装前有针对整个包的 hash 校验,至于安装后每个文件的完整性。。。据我所知应该是没有的, apt 的软件列表里只有整个包的 hash ,没有单个文件的。。。。
fool
2016-10-08 01:39:36 +08:00
@KingsWay 恩,谢谢,安装前会校验我是知道的,果然 redhat 还是专业

话说我现在的笔记本把 /var/lib/dpkg/info/* 都删过一个了,之后还是照常更新升级。
fool
2016-10-08 12:59:12 +08:00
hosiet
2016-10-08 16:57:59 +08:00
Debian 系列发行版 dpkg --verify 或者 dpkg -V

2013 年以后的 dpkg 就够了。详情请 man dpkg.
KingsWay
2016-10-10 01:07:45 +08:00
@fool 果然,以前没仔细看包里的细节,确实是每个文件的 md5 都有的。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/310879

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX