Apt-get 卡在 0%

Apt-get 卡在 0%

当我尝试apt-get使用终端做任何事情时,apt-get就会卡在0% [Working]

答案1

我通过高排名的 Google 搜索来到此页面,但这些答案对我没有帮助。相反,我使用以下命令清除了本地存储库中检索到的包文件:

apt-get clean

答案2

您可以尝试检查缓存并清理缓存目录。
按顺序(每个步骤都比较深入,因此找到解决方案后请停止):

  • sudo apt-get clean更新) 在较新版本中,它将清除已检索包文件的本地存储库。大多数情况下,这已经足够了。在较早版本中,情况并非如此。

    它会从 /var/cache/apt/archives/ 和 /var/cache/apt/archives/partial/ 中删除除锁定文件之外的所有内容。

  • 看看里面/var/lib/apt/lists/partial/应该是空的。
    如果不是,你可以决定sudo rm /var/lib/apt/lists/partial/*最终清空它,你可能需要sudo rm -f /var/lib/apt/lists/partial/*

  • sudo apt-get check

    它更新包缓存并检查是否存在损坏的依赖关系。

  • 将 列表中的存储库数量缩减为正常数量(不是很大)/etc/apt/sources.list
    如果数量太多,您的系统可能会在尝试构建所有依赖项树时挂起。
    您可以从中创建一组最小的存储库Ubuntu 源列表生成器网站之后你备份/etc/apt/sources.list(例如) sudo cp -i /etc/apt/sources.list /etc/apt/sources.list.000你可以粘贴反而您当前的列表。

  • 最后你可以检查你是否有源列表文件https而不是 http,但apt-transport-https尚未安装(请参阅评论)。
  • sudo apt-get update如果失败,请再试一次
  • 使用和之后备份您的/var/lib/apt/lists目录sudo cp -r -p -i /var/lib/apt/lists ${HOME}/temp_apt_listssudo rm -R /var/lib/apt/lists/*
  • sudo apt-get update再次运行

您可能需要手动清理以下某些目录(您可以随时备份它们,然后才删除里面的文件):

  • /etc/apt/sources.list.d/
    从中获取包的位置的文件片段。配置项:Dir::Etc::SourceParts。
  • etc/apt/preferences.d/
    版本偏好的文件片段。配置项:Dir::Etc::PreferencesParts。
  • /var/缓存/apt/档案/部分/
    传输中的包文件的存储区域。配置项:Dir::Cache::Archives(部分将隐式附加)
  • /var/lib/apt/列表/部分/ 传输状态信息的存储区域。配置项:Dir::State::Lists(部分将隐式附加)
  • /var/lib/apt/列表/ sources.list(5) 配置项中指定的每个包资源的状态信息的存储区域:Dir::State::Lists。

PS> 如果成功了,记得删除不再需要的备份,但不要删除,因为备份sources.list.000总是有用的!
你可以在相关内容中找到更多提示回答如下

更新
有一个老错误,因为包squid-deb-代理客户端 没有清除所有更改,解决方法如下:

删除该行:
Acquire::http::ProxyAutoDetect“/usr/share/squid-deb-proxy-client/apt-avahi-discover”;

从:
/etc/apt/apt.conf.d/30autoproxy

也许这个错误线程有用

如果可能的话,更彻底地移除该包裹。

答案3

当我切换到一些 https repos 时,我也发现这种情况发生了。需要apt-transport-https安装 apt 才能工作(当您尝试下载某些东西时,这可以理解为一个问题)。

答案4

如果您更改了位置,也请更改下载服务器:

sudo software-properties-gtk

单击其他然后选择最佳服务器:

选择最佳服务器 1 选择最佳服务器 2

之后选择并删除所有其他软件存储库:

删除所有其他软件存储库

最后:

sudo apt-get update
sudo apt-get upgrade

相关内容