*文档参考多个网址说明编写,有理解不对指出,欢迎指正。文档尽量给出中文错误信息和操作界面,Eg.缩写表示对应的英文便于阅读。
1 apt-get install 出现“正在等待报头”(Eg. waiting for headers)
鉴于标题的长度问题,如果出现“正在连接”(Eg. Connecting to security...)的问题也可以尝试下面的解决方案。
1.1 意外中断引起
可采用参考资料1的方案,删除 /var/cache/apt/archives 目录下的 partial 子目录,执行下面命令即可。
sudo rm -rf /var/cache/apt/archives/partial
1.2 安装wine等导致下载源不可用
采用参考资料2,3的方案,下面分别给出两个解决方案。
解决方案A:
1) 打开“软件更新器”(Eg. Update Manager)
2) 点击“设置”(Eg. Setting)(可能出现持续检查更新的情况点“取消”即可)
3)选择“其他软件”(Eg. Other Software),将里面打勾的选项全部取消掉。
4)关闭软件更新管理器,重新打开终端(Eg. terminal),执行命令 sudoapt-get update 检查是否修复。
5) 如果发现没问题了可以重新打开“软件更新器”,选择“设置”中的“其它软件”,每次勾选一个下载源,完了关闭管理器,重新尝试上面的命令找出问题源。如果仍然没有解决采用下面进一步的方案。
6)选择“Ubuntu 软件”(Eg. Ubuntu Software),点击“下载自”(Eg. Download from)下拉菜单,选择“其他站点”(Eg. Other...)。
7) 在弹出的窗口中,单击“选择最佳服务器”(Eg. Select Best Server)。它会自动检查最好的服务器,完成后的单击选择最好的服务器即可。然后关闭管理器重新执行安装命令。
解决方案B:
依次执行下面的命令,
sudo apt-get clean
cd /var/lib/apt
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get clean
sudo apt-get update
1.3 IPv6 引起
apt-get -o Acquire::ForceIPv4=true update
解决方案B:
1)在/etc/apt/apt.conf.d目录下创建文件99force-ipv4
2)添加一行 Acquire::ForceIPv4 true
3)重新执行apt-get 命令
解决方案C:
1) 执行下面的命令编辑gai.conf文件
2)将第54行的注释去掉,去掉后为:precedence ::ffff:0:0/96 100
注意这个解决方案不建议采用,给出来仅供参考。下面关于IPv6的问题给出完整的解释:ISP正在开始建立一个内部IPv6网络,以准备最终连接到IPv6互联网。因此,当运行apt-get时,此网络中的服务器现在尝试通过默认的IPv6地址连接到* .ubuntu.com。解决方案C尝试通过取消注释优先级::ffff:0:0/96 100允许请求偏好IPv4。
参考资料:
https://blog.youkuaiyun.com/u012394374/article/details/43968317
https://askubuntu.com/questions/156650/apt-get-update-very-slow-stuck-at-waiting-for-headers
https://www.kubuntuforums.net/showthread.php/57567-Ubuntu-problems-on-update
https://blog.youkuaiyun.com/fengying2016/article/details/70145976
http://nickescobedo.com/719/ubuntu-apt-get-hangs-at-0