我在 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