163源报错Hash Sum mismatch 解决方法

本文记录了使用Ubuntuserver过程中遇到的163源HashSum不匹配的问题及解决方案。作者尝试从163源更新时出现了多次HashSum不匹配的警告,最终通过更换为搜狐源成功解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

Ubuntu server 用的163的源,报错:

W: Failed to fetch http://mirrors.163.com/ubuntu/dists/precise-updates/main/i18n/Translation-en Hash Sum mismatch

W: Failed to fetch http://mirrors.163.com/ubuntu/dists/precise-backports/universe/i18n/Translation-en Hash Sum mismatch

W: Failed to fetch http://mirrors.163.com/ubuntu/dists/precise-security/main/i18n/Translation-en Hash Sum mismatch

 

Ubuntu 源列表:http://wiki.ubuntu.org.cn/%E6%BA%90%E5%88%97%E8%A1%A8

换sohu的源就好了

deb http://mirrors.sohu.com/ubuntu/ vivid main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ vivid-security main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ vivid-updates main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ vivid-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ vivid main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ vivid-security main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ vivid-updates main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ vivid-backports main restricted universe multiverse

<think>我们遇到了在添加PPA后使用`apt-get install`时出现的多个"Hash Sum mismatch"错误。这通常是由于网络问题导致下载的包不完整或缓存问题引起的。 解决方案如下: 1. **清理APT缓存并重试**: ```bash sudo apt-get clean sudo apt-get update sudo apt-get install -f ``` 2. **如果问题仍然存在,可以尝试以下步骤**: ```bash # 删除损坏的包缓存 sudo rm -rf /var/lib/apt/lists/* sudo apt-get clean sudo apt-get update ``` 3. **使用`--fix-missing`选项**: ```bash sudo apt-get install -f --fix-missing ``` 4. **如果上述方法无效,可以尝试更换下载镜像**: ```bash # 备份原来的sources.list sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 编辑sources.list,将ppa的URL替换为其他镜像(如阿里云镜像) # 或者使用软件设置工具更换主服务器 sudo sed -i 's/ppa.launchpad.net/mirrors.aliyun.com\/ppa/g' /etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-*.list # 然后更新并重试 sudo apt-get update sudo apt-get install gcc-10 g++-10 ``` 5. **手动下载并安装**: 如果某个特定的包一直无法下载,可以尝试手动下载: ```bash # 例如,对于cpp-7_7.5.0-3ubuntu1~16.04_amd64.deb wget http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/pool/main/g/gcc-7/cpp-7_7.5.0-3ubuntu1~16.04_amd64.deb sudo dpkg -i cpp-7_7.5.0-3ubuntu1~16.04_amd64.deb # 然后继续安装其他包 ``` 6. **跳过有问题的包(不推荐)**: 如果某个包不是必须的,可以尝试暂时跳过它(使用`--ignore-missing`选项),但可能导致后续问题。 注意:由于PPA的服务器可能暂时不稳定,也可以等待一段时间再重试。 如果问题持续,可以考虑使用其他方式安装新版本的GCC,比如从码编译(但比较耗时)。 最后,确保系统时间正确,因为错误的系统时间可能导致HTTPS连接问题,从而影响下载。 执行以下命令同步时间: ```bash sudo apt-get install ntp sudo ntpdate pool.ntp.org ``` 重新尝试安装。 如果所有方法都失败,可以考虑更换系统版本(如升级到Ubuntu 18.04或更高版本),因为Ubuntu 16.04已经停止维护,很多软件可能不再可用。 根据错误信息,我们尝试安装gcc-10,但PPA中可能没有适用于16.04的gcc-10。对于Ubuntu 16.04,我们可以尝试安装gcc-9(如果gcc-10不可用): ```bash sudo apt-get install gcc-9 g++-9 ``` 然后设置默认版本: ```bash sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90 ``` 如果gcc-9也无法安装,则可能需要使用其他PPA或者码编译。 另外,可以考虑使用以下PPA: ```bash sudo add-apt-repository ppa:jonathonf/gcc sudo apt-get update sudo apt-get install gcc-10 g++-10 ``` 但同样可能遇到网络问题,需要更换镜像或者重试。 总结步骤: 1. 清理缓存和列表 2. 更换镜像(如果可能) 3. 手动下载安装 4. 尝试其他PPA或安装稍旧版本 5. 检查系统时间 6. 考虑升级系统 由于Ubuntu 16.04已经结束标准支持,建议升级到更新的LTS版本(如18.04、20.04或22.04)以避免此类问题。</think># 解决APT下载包时出现的"Hash Sum mismatch"错误 您遇到的多个"Hash Sum mismatch"错误表明APT包管理器在下载过程中文件校验失败。这通常是由于网络问题、缓存损坏或软件同步问题导致的。 ## 完整解决方案 ### 1. 清理APT缓存并更新软件 ```bash # 清理所有缓存文件 sudo rm -rf /var/lib/apt/lists/* sudo apt clean # 重新生成软件列表 sudo apt update ``` ### 2. 使用`--fix-missing`参数重试安装 ```bash # 添加--fix-missing参数自动修复依赖问题 sudo apt install -f --fix-missing gcc-10 g++-10 ``` ### 3. 更换软件镜像 ```bash # 备份当前列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 使用阿里云镜像(适用于Ubuntu 16.04) sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list sudo sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list # 更新软件 sudo apt update ``` ### 4. 手动下载并安装deb包 ```bash # 创建临时目录 mkdir -p ~/temp-debs && cd ~/temp-debs # 手动下载所有失败包 wget http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/pool/main/g/gcc-7/cpp-7_7.5.0-3ubuntu1~16.04_amd64.deb wget http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/pool/main/g/gcc-7/libasan4_7.5.0-3ubuntu1~16.04_amd64.deb wget http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/pool/main/g/gcc-9/libtsan0_9.4.0-1ubuntu1~16.04_amd64.deb wget http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/pool/main/g/gcc-7/libubsan0_7.5.0-3ubuntu1~16.04_amd64.deb wget http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/pool/main/g/gcc-7/libgcc-7-dev_7.5.0-3ubuntu1~16.04_amd64.deb wget http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/pool/main/g/gcc-7/gcc-7_7.5.0-3ubuntu1~16.04_amd64.deb wget http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/pool/main/g/gcc-7/libstdc++-7-dev_7.5.0-3ubuntu1~16.04_amd64.deb wget http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/pool/main/g/gcc-7/g++-7_7.5.0-3ubuntu1~16.04_amd64.deb # 安装所有下载的deb包 sudo dpkg -i *.deb # 修复依赖关系 sudo apt install -f ``` ### 5. 使用其他PPA安装GCC-10 ```bash # 添加替代PPA sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update # 尝试安装GCC-10 sudo apt install gcc-10 g++-10 ``` ### 6. 检查网络连接和代理设置 ```bash # 测试到PPA服务器的连接 ping ppa.launchpad.net # 检查代理设置 env | grep -i proxy # 如果需要,临时禁用代理 unset http_proxy unset https_proxy ``` ## 预防措施 1. **定期清理APT缓存**: ```bash sudo apt clean sudo apt autoclean ``` 2. **使用更可靠的镜像**: ```bash sudo apt install apt-transport-https ca-certificates sudo update-ca-certificates ``` 3. **避免在高峰时段更新**: ```bash # 在非高峰时段执行更新 sudo apt update -o Acquire::http::Timeout=60 -o Acquire::https::Timeout=60 ``` 4. **检查磁盘健康**: ```bash sudo smartctl -a /dev/sda sudo badblocks -v /dev/sda ``` ## 替代方案:直接安装GCC-10 如果PPA问题持续存在,可以直接从官方安装: ```bash # Ubuntu 16.04默认中的GCC版本 sudo apt install gcc-5 g++-5 # 或者安装较新的GCC-9 sudo apt install gcc-9 g++-9 # 设置默认版本 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值