Answers:
只需删除/var/lib/apt/lists
目录的所有内容:
sudo rm -rf /var/lib/apt/lists/*
然后运行:
sudo apt-get update
mkdir /var/lib/apt/lists/partial
”(显然是root用户),否则您将无法apt-get update
使用apt。
sudo rm -R /var/lib/apt/lists/*
但是,即使这样做对我也不起作用。
sudo rm -rf /var/lib/apt/lists/*
这是一个已知问题,代理缓存之后的客户端会更加严重。一些大型组织和ISP(尤其是在世界偏远地区)具有透明的缓存,您可能不知道它们。
基本问题是,更新镜像时,apt存储库格式会受到竞争条件的影响。此问题特别影响快速变化的存储库,例如开发版本。
您可以在此错误(请在错误中将自己标记为“也影响我”)和此蓝图中跟踪此修复的进度。但是请注意,这是一个复杂的问题,可能需要多个版本才能解决。
解决此问题的最简单方法是:
sudo apt-get clean
sudo apt-get update
sudo rm -rf /var/lib/apt/lists/*
然后这样做sudo apto-get clean
也为我解决了这个问题。两者都不是孤立地工作。
sudo apt-get clean
并没有帮助16.04,但sudo rm -rf /var/lib/apt/lists/*
唯一适用于我的解决方案是unix.stackexchange。
发生这种情况是因为它存在一个已知的错误,解决方案是使用不同的压缩方法进行更新,因此文件可以正确加载并且校验和成功。
试试看:
sudo rm -rf /var/lib/apt/lists/partial
sudo apt-get update -o Acquire::CompressionTypes::Order::=gz
(感谢rm部分的评论中的@brook_hong)
删除目录并执行后,我仍然遇到问题sudo apt-get update
。
只有以下步骤解决了我的问题:
sudo sed -i -re 's/\w+\.archive\.ubuntu\.com/archive.ubuntu.com/g' /etc/apt/sources.list
我不知道这是否是正确的解决方法...
我在这里找到了解决方案。
de
-part表示德国的服务器,并且该脚本用主服务器替换为本地服务器。对于许多用户来说,以GUI方式转到Software Sources并切换设置将更加安全和可逆。以下内容适用于几乎所有国家/地区:sudo sed -i 's/[a-z][a-z].archive.ubuntu.com/archive.ubuntu.com/g' /etc/apt/sources.list
当您的镜像不是最新的或由于错误而导致服务错误时,可能会发生这种情况。您可以稍等片刻然后重试,或者切换到另一个镜像:
如果您是使用代理,然后创建一个名为文件99fixbadproxy
中/etc/apt/apt.conf.d/
:
sudo gedit /etc/apt/apt.conf.d/99fixbadproxy
99fixbadproxy
将其粘贴并保存:
Acquire::http::Pipeline-Depth 0;
Acquire::http::No-Cache true;
Acquire::BrokenProxy true;
现在运行更新命令:
sudo apt-get update
以下命令可以解决您的问题。
sudo rm -R /var/lib/apt/lists/partial/*
接着
sudo apt-get update && sudo apt-get upgrade
它会解决您的问题。我也遇到了同样的问题,但是以上命令为我解决了这个问题。因此,请尝试一下。
apt-get update
创建的文件再次位于该目录中的同一位置。
我不知道这是否是正确的解决方案,但是我做了以下事情,错误消息消失了:
输入sudo apt-get update
终端后,它会给我提供导致错误的某些软件包的名称,然后执行以下操作:
更新管理器(软件更新)→设置→配置软件源→其他软件[选项卡]→取消选中软件包
按下“关闭”底部后,更新管理器开始再次自动检查更新,我看到以下消息:“此计算机上的软件是最新的。最近一次检查是在2秒钟前。”
库本图12.04
<pkg>
发生错误的每个软件包,我都运行了“ sudo apt-get install <pkg>”。我在Ubuntu 16.04上。
我遇到了完全相同的问题,使用该终端提供的所有解决方案均无济于事。
对我来说,这是通过进入:
设置→软件和更新→其他软件:取消选中所有复选框,然后按关闭。
它开始重新加载存储库并更新。当我输入:
sudo apt-get update
之后,完全没有问题。我正在使用Ubuntu 13.10。
我遇到了类似的问题,并通过打开应用程序“软件和更新”并在“ Ubuntu软件”选项卡中更改“下载自”的值来解决此问题(在该下拉列表中,尝试选择例如Main服务器(如果不是那样的话)。
什么都没有为我工作。经过尝试并提出了建议的解决方案之后,最后,我手动下载了损坏的软件包,将它们复制到/ var / cache / apt / archives中,并从/ var / cache / apt / archives / partial中删除了损坏的软件包。
对于我来说,这是在Ubuntu 16.04上发生的,没有一个投票最多的解决方案起作用。解决方案是升级软件包:
sudo apt-get update # this will fail
sudo apt-get upgrade
sudo apt-get update # this will succeed
不确定清理旧列表(sudo rm -rf /var/lib/apt/lists/*
和/或sudo apt-get clean
)是否有帮助!如有必要,请使用它们。
20190112#错误#apt#修复#更新无法获取...哈希总和不匹配
/etc/apt
:
/etc/apt
树中搜索关键字:
找到违规列表后,请将其移到某个地方,以防万一这不起作用:
sudo mv -f /apt.conf.d/50appstream /tmp
清理/var/lib/apt
:
sudo apt-get -y clean
sudo rm -rf /var/lib/apt/lists/*
sudo find /var/lib/apt -type d -name "partial" -exec rm -rf "{}" ";"
尝试立即更新,它现在应该可以工作:
sudo apt-get -y update