“无法在发布文件中找到预期的条目‘main/binary-i386/Packages’”

Bra*_*iam 12 apt

我添加了一个第三方存储库,现在我在更新我的包列表时看到了这个警告:

W: Failed to fetch http://codezen.org/debian/dists/sid/Release  Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file)
Run Code Online (Sandbox Code Playgroud)

这是为什么?

Bra*_*iam 21

有两个原因,但在您的情况下,您已将 multiarch 配置为要求 i386 软件包,而该存储库是 amd64 独占的。如果您使用 dpkg 将 arm64 或任何其他架构设置为外部架构,也会发生同样的情况。

有以下三种方式:

  1. 如果存储库应该有 amd64 包,请联系维护者并让他们知道。
  2. 如果您实际上不想/不需要在您的系统上安装外国架构,您可以使用dpkg --remove-architecture.
  3. 您可以将您的设置设置sources.list为仅询问存储库应该提供的架构,因此 apt 不会尝试询问它们。像这样的东西:

    deb [ arch=amd64 ] http://codezen.org/debian sid main
    
    Run Code Online (Sandbox Code Playgroud)

其他原因

如果组件(main、contrib、security 等)或包类型(源代码与二进制文件)在存储库中不可用,也会发生这种情况。这可以通过字符串来标识main/binary-i386/Packages。在这里,main是组件,binary包的类型,i386架构。