我正在尝试使用文件存储库在未连接的计算机上更新 Ubuntu GNU/Linux。该机器的架构(uname -a):
x86_64 GNU/Linux
的结果dpkg --print-architecture
是:
amd64
它是一台 Trusty Tahr amd64 机器,并且在 aptitudesources.list 文件中具体说明了这一点。另外,ubuntu中的“关于这台计算机”明确表示该机器是64位的。因此,我在机器上安装了 amd64 软件包。但是,当我尝试这样做时apt-get update
,我收到如下错误:
W: Failed to fetch file:/var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu/dists/trusty/main/binary-i386/Packages File not found
所以,换句话来说,尽管是64位机器,apt却莫名其妙地试图读取i386包。为什么要这样做以及如何让它使用 64 位软件包?
请注意,sources.list 中没有任何内容指定 i386。
resources.list 文件中唯一未注释的行是:
deb file:///var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
答案1
在 Ubuntuamd64
安装中,i386
默认情况下作为附加体系结构启用。apt
&公司期望存储库提供所有配置的架构,这会导致您看到的错误。
由于您的镜像只有amd64
软件包,因此您应该将其标记为:
deb [ arch=amd64 ] file:///var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu trusty main restricted universe multiverse