在给nano从零开始安装ros,按照网上的做法替换了 /etc/apt/sources.list,但是在进行软件更新sudo apt-get update的时候却出现了问题:
ubuntu 18.04 Failed to fetch http://mirrors.aliyun.com/ubuntu/dists/bonic/main/binary-arm64/Package 404 Not Found
首先明确一点,nano是arm64架构,因此update时会自动去查找arm64架构的软件源,类似的还有其他arm64架构的设备。
笔者先后换了阿里源、清华源、中科大源,啥都换了但就是解决不了问题。最后发现在list文件中加入[arch=arm64]竟然神奇的解决了。通过在list文件中加入[arch=arm64],实际上在告诉软件包管理器仅使用与ARM64架构兼容的软件源,这样管理器就会自动查找适用于ARM64架构的软件包,而不会混淆它们。
解决方案
首先去中科大软件镜像站,找到Ubuntu Ports 源使用帮助,copy下列软件源
# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
然后在deb后面加入[arch=arm64],(下面做了简化,仅保留了有需要的部分)
deb [arch=arm64] https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb [arch=arm64] https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb [arch=arm64] https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb [arch=arm64] https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
然后sudo apt update就好啦!