故事背景
同事反映,服务器上的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