win11 wsl2 ubuntu sudo apt-get update 卡在waiting for headers(正在等待报头)的解决方法

网上的方法都试过了,8行
最后在github上找到了这个解决方法:
sudo ifconfig eth0 mtu 1350
------------更新----------------
本质问题是挂了歪屁恩之后mtu太高,按照如下步骤即可开机自动更改:

  1. 查看自己的ip命令位置
    command -v ip
  2. 通过vim ~/.bashrc 在bashrc最后中加入这句话:
    sudo ip link set dev eth0 mtu 1350
    mtu值的确定可以通过ping命令不断确定,这个可以参考其他博客;
  3. 将ip命令修改为不需要sudo执行,否则每次开机都需要输入密码
    vim /etc/sudoers
    在最后加入:
    my-wsl2-username ALL=(ALL) NOPASSWD: /usr/sbin/ip
    其中my-wsl2-username换成你的username,/usr/sbin/ip对应1中的路径。
  4. 生效配置:
    source ~/.bashrc
  5. 输入ifconfig检查mtu:
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1350
    最最后可以sudo apt-get update看看是否可以正常更新来确定。
posted @ 2022-03-20 11:24  康先森  阅读(1667)  评论(1编辑  收藏  举报