ROS2将默认清华源换成阿里源后为什么安装apt包还是失败,且错误输出里还是有Tsinghua源相关字符?

image

       ROS2 的源配置并不在系统默认的 sources.list 里,而是单独存放在 /etc/apt/sources.list.d/ 目录下(比如 ros2.list)。你只替换了系统主源,

却没修改 ROS2 单独的源文件,所以 apt update 时仍然会去访问清华 ROS2 镜像。

       上图中还提示EXPKEYSIG签名错误,这是由于ROS2仓库的GPG密钥过期 / 失效了,导致系统无法验证清华 ROS2 镜像的包签名,所以报错 “签名无效”,

直接忽略了该仓库的更新。

 

解决步骤如下:

步骤 1:彻底删除旧 ROS 源和旧密钥(必做)

# 删除所有ros2相关list 
sudo rm -f /etc/apt/sources.list.d/ros*.list
# 删除旧密钥文件
sudo rm -f /usr/share/keyrings/ros-archive-keyring.gpg
sudo rm -f /etc/apt/trusted.gpg.d/ros-archive-keyring.gpg

步骤 2:用国内镜像获取 ROS 密钥(避开 GitHub)

# 方案A:清华镜像拿ros.key(推荐,成功率高) 
sudo curl -sSL https://mirrors.tuna.tsinghua.edu.cn/rosdistro/ros.key \ -o /usr/share/keyrings/ros-archive-keyring.gpg
# 方案B:curl不行就用wget
sudo wget https://mirrors.tuna.tsinghua.edu.cn/rosdistro/ros.key \ -O /usr/share/keyrings/ros-archive-keyring.gpg
# 方案C:直接导入密钥(备选)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBABxxxxxx

步骤 3:写入阿里 ROS2 源

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.aliyun.com/ros2/ubuntu $(lsb_release -cs) main" \ | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

步骤 4:重新更新软件源

sudo apt update

 

注意:以上内容源于经过验证的AI问答。

posted @ 2026-05-31 11:17  尼库拉西  阅读(52)  评论(0)    收藏  举报