我正在运行旧的 Debian 3.1,并且尝试运行“apt-get update”但无济于事。我读了这线程,但解决方案或评论部分都没有帮助。回到旧的状态文件或删除下面的列表/var/lib/apt/lists/
让我回到原点:第一次运行“apt-get update”时,它开始下载内容,直到最终发生错误,并且所有后续时间我尝试运行任何apt-get 命令(更新、安装...) 如果没有之前的所有下载,我将得到完全相同的错误:
Reading package lists... Error!
E: Malformed provides line
E: An error occurred while processing libapt-inst2.0 (NewVersion1)
E: Problem with MergeList /var/lib/apt/lists/ftp.us.debian.org_debian_dists_stable_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.
我读过来自不同论坛的其他帖子,这些帖子通常建议不要删除所有列表,而只是删除导致问题的列表,或者从状态文件中删除 libapt-inst2.0 包,但肯定没有这样的字符串( “libapt-inst2.0”)位于 /var/lib/dpkg/status - 我只需要能够以某种方式使用 apt-get,它在更新之前甚至不起作用。任何帮助将不胜感激!!
答案1
你的sources.list
(软件包存储库列表)指的是stable
,现在是 Debian 9(十年来一直没有成为 Debian 3.1)——如果你曾经尝试升级或安装软件包,这个错误可以让你的系统免于混乱。 !
要解决此问题,您需要替换stable
为sarge
(Debian 3.1 的代号):
sed -i s/stable/sarge/g /etc/apt/sources.list
您还需要使用包含旧版本的存档;在你的情况下,ftp.us.debian.org
是合适的:
sed -i sXftp.us.debian.orgXftp.us.debian.org/debian-archiveXg /etc/apt/sources.list
然后apt-get update
应该可以再次正常工作。
答案2
非常感谢你的帮助。我已经备份了 resources.list 文件,其中包含以下内容:
deb http://ftp.us.debian.org/debian/ stable main
deb-src http://ftp.us.debian.org/debian/ stable main
deb http://mirrors.kernel.org/debian/ stable main
deb-src http://mirrors.kernel.org/debian/ stable main
deb http://security.debian.org/ stable/updates main contrib
然后,当然,运行 sed 后,它是这样的:
deb http://ftp.us.debian.org/debian-archive/debian/ sarge main
deb-src http://ftp.us.debian.org/debian-archive/debian/ sarge main
deb http://mirrors.kernel.org/debian/ sarge main
deb-src http://mirrors.kernel.org/debian/ sarge main
deb http://security.debian.org/ sarge/updates main contrib
然而,当尝试运行 apt-get update 时,这会在各处导致数万亿个错误:( 我不认为在这里复制这么长的错误流有什么意义。知道如何修复我的 Debian 版本的源文件吗,或者我可以在哪里阅读和了解它?谢谢!