Ubuntu 64 位更新 apt repos 时出现“无法获取文件 [..] binary-i386/Packages”错误

Ubuntu 64 位更新 apt repos 时出现“无法获取文件 [..] binary-i386/Packages”错误

我在 64 位机器上的 Ubuntu 12.04 LTS 上遇到了以下问题:每当我尝试更新 aptitude 存储库时,更新都会奇怪地失败,并出现与 i386 相关的错误错误。我认为这在 64 位系统上不应该发生。

root@liv-HP-Compaq-dc7900:/home/liv# apt-get update
Ign file: apt-build Release.gpg
Get:1 file: apt-build Release [107 B]                                          
Ign file: apt-build/main TranslationIndex                                      
Err file: apt-build/main i386 Packages                                         
  File not found
[..]
W: Failed to fetch file:/var/cache/apt-build/repository/dists/apt-build/main/binary-i386/Packages  File not found

E: Some index files failed to download. They have been ignored, or old ones used instead.

我尝试恢复,status-old但没有成功:

sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status

我也尝试过:

root@liv-HP-Compaq-dc7900:/home/liv# apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 90 not upgraded.

但它似乎没有做或报告任何有用的事情。每次后续操作都apt-get update以错误告终。

为了记录,我的/etc/apt/sources.list文件如下所示:

# deb cdrom:[Xubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/main/binary-i386/

# deb cdrom:[Xubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/multiverse/binary-i386/
# deb cdrom:[Xubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/restricted/binary-i386/
# deb cdrom:[Xubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/universe/binary-i386/
# deb cdrom:[Xubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ precise main multiverse restricted universe

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://nl.archive.ubuntu.com/ubuntu/ precise main restricted
deb-src http://nl.archive.ubuntu.com/ubuntu/ precise main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://nl.archive.ubuntu.com/ubuntu/ precise-updates main restricted
deb-src http://nl.archive.ubuntu.com/ubuntu/ precise-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://nl.archive.ubuntu.com/ubuntu/ precise universe
deb-src http://nl.archive.ubuntu.com/ubuntu/ precise universe
deb http://nl.archive.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://nl.archive.ubuntu.com/ubuntu/ precise-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://nl.archive.ubuntu.com/ubuntu/ precise multiverse
deb-src http://nl.archive.ubuntu.com/ubuntu/ precise multiverse
deb http://nl.archive.ubuntu.com/ubuntu/ precise-updates multiverse
deb-src http://nl.archive.ubuntu.com/ubuntu/ precise-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://nl.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://nl.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu precise-security main restricted
deb-src http://security.ubuntu.com/ubuntu precise-security main restricted
deb http://security.ubuntu.com/ubuntu precise-security universe
deb-src http://security.ubuntu.com/ubuntu precise-security universe
deb http://security.ubuntu.com/ubuntu precise-security multiverse
deb-src http://security.ubuntu.com/ubuntu precise-security multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
deb http://archive.canonical.com/ubuntu precise partner
# deb-src http://archive.canonical.com/ubuntu precise partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main
deb http://cran.at.r-project.org/bin/linux/ubuntu precise/
# deb-src http://cran.at.r-project.org/bin/linux/ubuntu precise/
# deb http://archive.canonical.com/ precise partner
# deb-src http://archive.canonical.com/ precise partner

使用的内核是:

liv@liv-HP-Compaq-dc7900:~$ uname -a
Linux liv-HP-Compaq-dc7900 3.2.0-57-generic #87-Ubuntu SMP Tue Nov 12 21:35:10 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

哪里出了问题?我该如何修复?

答案1

apt-mirror我在使用自己的服务器更新软件包时也遇到了同样的问题git-core

就我而言,我通过[arch=amd64]在中添加原始条目解决了该问题/etc/apt/sources.list

例子:
原文:deb http://192.168.111.222/mirror/git-core precise main
解决方案:deb [arch=amd64] http://192.168.111.222/mirror/git-core precise main

详细信息请访问:https://wiki.ubuntu.com/MultiarchSpec#apt_sources

对于您来说,您需要编辑/etc/apt/sources.list.d/apt-build.list

答案2

根据接受的答案的建议,我必须编辑以下内容:

/etc/apt/sources.list.d/apt-build.list

从:

deb file:/var/cache/apt-build/repository apt-build main

到:

deb [arch=amd64] file:/var/cache/apt-build/repository apt-build main

请注意,错误完全来自apt-build.list。无需对 进行任何更改/etc/apt/sources.list即可修复该问题。

答案3

我必须再做一个小小的更正,即:

deb [arch=amd64 trusted=yes]  file:/var/cache/apt-build/repository apt-build main

在 apt 停止抱怨之前 - 我以前从未处理过 sources.list 的 [options],所以我花了几分钟的时间进行谷歌搜索和反复试验才找到正确答案...

答案4

基本上,如果您想让您的操作系统和不同架构的存储库保持混乱,那么您可以添加[arch=amd64]一次性修复(您需要为每个存储库执行此操作,这很烦人)

尤其是,每当您需要在公司层面执行此操作时,这样做更容易:

sudo dpkg --remove-architecture i386

相关内容