Ubunutu-24.04 apt update 时 waiting for headers 0% 的解法
问题:
在 wsl2 的 Ubuntu-24.04 中,我尝试运行:
sudo apt update && sudo apt install curl software-properties-common
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
# 确保这一行是针对 JAZZY 和 Noble (24.04)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null但是它仅仅只是在第一步 sudo apt update 的时候就经常卡在 [0%] waiting for headers。
而几乎每个 Get 都会停顿十秒以上,所以即使它会动但是也会导致一个 update 持续了十几分钟依然没有结束。
期间更换了香港,日本,美国的代理,没有改善。

waiting_for_headers
原因和解决
https://www.reddit.com/r/Ubuntu/comments/oqqyek/waiting_for_headers_0/
Changing mirror from http to https worked for me :)
似乎是 source 源的 URL 都是 http 而非 https 造成的。
我将这两个文件内修改为 https 后得到了解决:
xnne@DESKTOP-3I1GRP0:/mnt/c/Users/Zhouyuan$ sudo vim /etc/apt/sources.list.d/
ros2.list ubuntu.sources
xnne@DESKTOP-3I1GRP0:/mnt/c/Users/Zhouyuan$ sudo vim /etc/apt/sources.list最后在半分钟内完成了 update。
ps, 在安装 ros2-jazzy-desktop 时,我把源改到 https 后似乎速度也变快了不少?
大概从原本的 90B/s~300kB/s -> 600kB/s ~ 1.5MB ~ 15 MB/s ,原本预计 1h 以上的安装变成了 8 mins。
以及,在下载的时候换换代理也是有效的。
我发现日本和美国的代理是最友好的。
另外我发现校园网坑了我。它真的太慢了。
但是全改成 https 会有一个问题是,下载一些包时它可能碰到证书错误,到时还得切回去下。