linux系统的软件很多时候都以境像的方式提供下载,但我们如何确实下载的文件是没有被篡改过的呢?Linux中一般用对下载的文件进行MD5和SHA校验来确认。
MD5
我们拿iptraf软件来试验:
我们可以看到,官方已经提供了md5值,我们需要做的就是对下载下来的tar.gz文件运行md5sum命令,看运算出来的md5sum值与官方给的是不是一致。
命令:
$ md5sum iptraf-3.0.0.tar.gz
结果:
377371c28ee3c21a76f7024920649ea8 iptraf-3.0.0.tar.gz
我们可能看到,这两个值是一样的,说明包没有问题。
SHA
我们用centos境像来试验:
运行sha1sum进行验证。
命令:
$ sha1sum CentOS-6.5-i386-LiveCD.iso
结果:
3cf41ef12362ad363ff0650c703d3d045bcbfa7a CentOS-6.5-i386-LiveCD.iso
可以看到,这个境像是没有问题的。
Tips
一般软件用md5校验就够了,但关键软件(如系统)建议用sha进行验证,这样会更安全。
另外,如果软件官网的网页被篡改了(软件包和md5及sha值都被改了),即使sha和md5校验正确下载的软件仍有可能是有问题的。