故事背景
同事反映,服务器上的rsync命令的md5值和原始的md5不一样.请求查明原因.

简单查看后,发现不单只是rsync.还有其他命令的md5值也发生了变化.
其他机器上也同样的现象.

rpm -V XXX 校验rpm包.无问题
ll /usr/bin/rsync 大小不一样.比原始大小大了.
selinux 是关闭的.
mtime没有变化.

测试.重装一个新系统.刚装完,md5是原始值.没有.但是过段时间就会发生变化.
ldd 查看结果没有异样.

最后想到prelink.

prelink 是什么?

Prelink是Red Hat 开发者 Jakub Jelinek 所设计的工具,正如其名字所示,Prelink利用事先链接代替运行时链接的方法来加速共享库的加载,它不仅可以加快起动速度,还可以减少部分内存开销, 是各种Linux架构上用于减少程序加载时间、缩短系统启动时间和加快应用程序启动的很受欢迎的一个工具。

crontab中的任务:
/etc/cron.daily/prelink

prelink -u /usr/bin/rsync    恢复原始状态
prelink -au                  恢复all