例如,上面的错误是在报 /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_InRelease 文件错误。
这让你想到这个文件不正确。现在,你需要做的就是删除该文件并重新生成缓存。
sudorm<file_that_is_not_parsed>
因此,这里我可以使用以下命令:sudo rm /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_InRelease,然后使用 sudo apt update 命令重建缓存。
给初学者的分步指导
如果你熟悉 Linux 命令,那么可能知道如何使用绝对路径删除文件。对于新手用户,让我指导你安全删除文件。
首先,你应该进入文件目录:
cd/var/lib/apt/lists/
现在删除无法解析的文件:
sudorm archive.ubuntu.com_ubuntu_dists_bionic_InRelease
现在,如果你再次运行更新,将重新生成 apt 缓存。
sudo apt update
有很多文件无法解析?
如果你在更新系统时有一个或两个文件无法解析,那么问题不大。但是,如果系统报错有十个或二十个此类文件,那么一一删除它们就太累了。
在这种情况下,你可以执行以下操作来删除整个缓存,然后再次生成它:
sudorm-r /var/lib/apt/lists/*
sudo apt update
解释这为何能解决问题
/var/lib/apt 是与 apt 软件包管理器相关的文件和数据的存储目录。/var/lib/apt/lists 是用于保存系统 source.list 中指定的每个软件包资源信息的目录。
简单点来说,/var/lib/apt/lists 保存软件包信息缓存。当你要安装或更新程序时,系统会在此目录中检查该软件包中的信息。如果找到了该包的详细信息,那么它将进入远程仓库并实际下载程序或其更新。
当你运行 sudo apt update 时,它将构建缓存。这就是为什么即使删除 /var/lib/apt/lists 目录中的所有内容,运行更新也会建立新的缓存的原因。