RHEL8.5离线安装Anaconda报md5sum不匹配、解压错误如何解决
问题根因
日志中最先抛出的WARNING: md5sum mismatch of tar archive是核心故障点,说明你上传到服务器的Anaconda安装包已经损坏,后续出现的解压头校验失败、文件写入错误,都是安装包内容不完整、字节流异常导致的,和服务器权限、系统依赖没有关系。
解决步骤
- 先校验本地原始安装包的完整性
安装脚本内置了正确的文件校验值,就是日志中expected对应的9b6930ed5760ff951b038602552dc7bd,不需要额外查询外部资料。你先在存放安装包的本地设备上计算文件md5值:- Windows系统打开PowerShell,进入安装包所在目录执行:
Get-FileHash Anaconda3-2022.05-Linux-x86_64.sh -Algorithm MD5 - macOS/Linux系统打开终端,进入安装包所在目录执行:
md5sum Anaconda3-2022.05-Linux-x86_64.sh
如果本地算出的md5值和内置校验值不一致,说明本地下载的安装包本身就损坏了,直接删除原文件重新下载,直到本地校验值完全匹配再进行下一步。
- Windows系统打开PowerShell,进入安装包所在目录执行:
- 用可靠的二进制传输方式重新上传安装包
之前的文件损坏基本都是传输环节导致的:比如FTP用了文本传输模式、scp传输过程中丢包中断、移动存储介质坏块等。优先用scp做二进制传输,在本地设备执行命令(替换成你自己的实际路径和服务器地址):scp /本地存储路径/Anaconda3-2022.05-Linux-x86_64.sh 062212@你的服务器IP:/home/062212/
传输完成后,一定要登录RHEL服务器,在服务器上再算一次上传后安装包的md5值:md5sum /home/062212/Anaconda3-2022.05-Linux-x86_64.sh
只有服务器上算出的md5和内置校验值完全一致,才能继续安装,只要值不对就删除服务器上的坏包重新传输,不要强行执行安装脚本。 - 清理残留后重新安装
先删除之前安装失败生成的残留目录,避免坏文件干扰新的安装流程:rm -rf /home/062212/anaconda3
再执行安装命令,按提示走完流程即可:bash Anaconda3-2022.05-Linux-x86_64.sh
定时运行脚本配置参考
Anaconda安装完成后,直接用RHEL系统自带的crontab服务就能实现脚本定时自动运行,不需要额外安装组件:
- 执行
crontab -e编辑当前用户的定时任务规则 - 按你的执行周期写配置,注意必须用Anaconda环境内的Python绝对路径,不要调用系统默认Python,比如需要每天凌晨2点运行脚本、把运行日志存到指定文件,就加如下行:
0 2 * * * /home/062212/anaconda3/bin/python /home/062212/你的实际脚本路径.py >> /home/062212/script_run.log 2>&1 - 保存退出后执行
crontab -l,能看到你刚加的规则就代表配置生效,crontab服务会自动按规则执行任务。
内容的提问来源于stack exchange,提问作者Roch
相关产品推荐
相关产品推荐

