叶湘伦445 2024-11-06 09:39 采纳率: 0%
浏览 82

ubuntn安装ros设置key的时候长时间无响应

img

在安装ros前设置密钥的时候,把设置密钥的代码敲进去了,按回车后长时间无响应,就一直卡在这个界面,该怎么处理呢?

  • 写回答

1条回答 默认 最新

  • 蒋星熠Jaxonic 2025-08-17 23:58
    关注

    让 【蒋星熠】 来帮你回答,本回答结合 DeepSeek

    如果还有问题,请评论或点击头像私信,如果有帮助到您, 请关注、采纳、点赞

    在 Ubuntu 上安装 ROS (Robot Operating System) 时,在设置 GPG 密钥(apt-key add 或 gpg --dearmor)这一步出现长时间无响应,是一个比较常见的问题。这通常是由于网络连接问题,特别是与密钥服务器的连接问题导致的。

    以下是几种有效的解决方法:

    方法一:更换 GPG 密钥服务器 (推荐)
    默认的密钥服务器 hkp://keyserver.ubuntu.com:80 可能在国内访问不稳定。我们可以手动指定一个更可靠的服务器。

    尝试使用 keyserver.ubuntu.com 的 HTTPS 端口 (443) 或其他端口:
    bash
    深色版本
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:443 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    或者尝试端口 80:
    bash
    深色版本
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    使用 pgp.mit.edu 服务器:
    这个服务器通常比较稳定。
    bash
    深色版本
    sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    使用 ha.pool.sks-keyservers.net (如果可用):
    bash
    深色版本
    sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    方法二:手动下载并添加密钥
    如果通过 apt-key adv 仍然失败,可以手动下载密钥文件。

    使用 curl 或 wget 手动下载密钥:
    bash
    深色版本

    使用 curl (推荐)

    curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -

    或者使用 wget

    wget -qO - 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -
    注意:-qO - 表示安静模式输出到标准输出。

    如果上述 URL 不工作,尝试使用 pgp.mit.edu:
    bash
    深色版本
    curl -sSL 'https://pgp.mit.edu/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654%27 | sudo apt-key add -
    方法三:使用 gpg 命令手动操作 (更底层)
    如果 apt-key 完全卡住,可以绕过它,直接使用 gpg。

    下载密钥到文件:
    bash
    深色版本
    gpg --keyserver keyserver.ubuntu.com --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    gpg --export --armor C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 | sudo tee /etc/apt/trusted.gpg.d/ros.gpg > /dev/null
    这会将导出的 ASCII 格式的密钥保存到 APT 的可信密钥目录中。
    方法四:检查网络和代理
    网络问题:确保你的网络连接正常,可以尝试 ping keyserver.ubuntu.com 或 curl -v http://keyserver.ubuntu.com/ 来测试连通性。
    防火墙/代理:如果你在公司网络或使用了代理,可能需要配置 http_proxy 和 https_proxy 环境变量,或者让 IT 部门开放对密钥服务器端口的访问。
    ROS 安装密钥说明
    ROS Noetic (Ubuntu 20.04) 及之后版本:使用的密钥是 C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654。
    旧版本 ROS:可能使用不同的密钥,请参考对应版本的官方安装文档。
    总结步骤
    首选尝试:使用 pgp.mit.edu 服务器。
    bash
    深色版本
    sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    如果不行:尝试手动下载。
    bash
    深色版本
    curl -sSL 'https://pgp.mit.edu/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654%27 | sudo apt-key add -
    最后手段:使用 gpg 命令手动操作。
    完成密钥添加后,继续按照 ROS 官方安装指南执行后续步骤(echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ros-latest.list 和 sudo apt update)即可。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月6日