freebsd通过port或者pkg_add安装软件时,从软件源下载下来的tar.gz、tar.tb等结尾的软件包先要进行MD5完整性验证,可能由于网络或者其他原因(port软件本身有问题等,可能性很小),导致下载的软件安装包有问题(下载不完整等错误)导致验证通不过,导致安装时出现类似
SHA256 Checksum mismatch 的错误。
=>
SHA256 Checksum mismatch for subversion17/subversion-1.7.8.tar.bz2.
===> Giving up on fetching files: subversion17/subversion-1.7.8.tar.bz2
Make sure the Makefile and distinfo file (/usr/ports/devel/subversion/distinfo)
are up to date. If you are absolutely sure you want to override this
check, type "make NO_CHECKSUM=yes [other args]".
*** Error code 1
Stop in /usr/ports/devel/subversion.
*** Error code 1
说明:/usr/ports/devel/subversion/distinfo 文件保存的是文件的正确的
SHA256 验证结果。安装过程安装包的验证结果会与distinfo文件中的正确结果比较,相同则通过,不同就会出错(SHA256 Checksum mismatch)。
解决办法:
1、#cd /usr/ports/distfiles/
2、移除出错软件安装包
3、重新安装 make install
本例:
hsb@hsb %cd /usr/ports/distfiles/
hsb@hsb %ll subver*
total 5920
-rw-r--r-- 1 root wheel 6023912 Dec 19 23:53 subversion-1.7.8.tar.bz2
hsb@hsb %pwd
/usr/ports/distfiles
total 5920
-rw-r--r-- 1 root wheel 6023912 Dec 19 23:53 subversion-1.7.8.tar.bz2
hsb@hsb %pwd
/usr/ports/distfiles
hsb@hsb %mv subversion17/subversion-1.7.8.tar.bz2 /usr/home/hsb/tmp/
hsb@hsb %cd /usr/ports/devel/subversion
hsb@hsb %make install clean