跳过配置文件的获取'..不支持架构'arm64'

问题描述 投票:0回答:2

每当我这样做时

sudo apt-get update
这个输出就会出现

$ sudo apt-get update
Hit:1 http://archive.raspberrypi.org/debian buster InRelease
Hit:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
Reading package lists... Done
N: Skipping acquire of configured file 'main/binary-arm64/Packages' as repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' doesn't support architecture 'arm64'
N: Skipping acquire of configured file 'contrib/binary-arm64/Packages' as repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' doesn't support architecture 'arm64'
N: Skipping acquire of configured file 'non-free/binary-arm64/Packages' as repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' doesn't support architecture 'arm64'
N: Skipping acquire of configured file 'rpi/binary-arm64/Packages' as repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' doesn't support architecture 'arm64'

而且很烦人的是有

>N: Skipping acquire of configured file
行,虽然这些行不影响性能,但我的意思是我仍然可以毫无问题地更新或升级软件包,甚至安装软件包。

所以问题是,我怎样才能删除那些

>N: Skipping acquire of configures file
消息

raspberry-pi debian repository raspberry-pi3
2个回答
3
投票

我也有同样的问题。 我通过输入以下命令修复了它:

sudo dpkg --remove-architecture arm64

我怀疑我之前可能错误地添加了arm64架构。 标准 32 位 Raspberry Pi 操作系统(又名 Raspbian)不支持 64 位应用程序。


1
投票

因为您的 sources.list 中定义的存储库不支持您的 APT::Architectures 配置选项之一。
通常,软件开发人员在安装指南中编写通用形式的存储库规范,例如

deb uri suite component1 [component2 component3 ... ]

这是存储库的单行格式规范。我假设您的规格如下:
deb http://raspbian.raspberrypi.org/raspbian buster InRelease
,
其中 http://raspbian.raspberrypi.org/raspbian 是一个 uri,buster 是一个 suite,InRelease 是一个 component1
deb uri suite component1
格式是最简单的,它将保证 apt-get 将在大多数用户的计算机上永远与该存储库一起工作。但是,有一个小陷阱:开发人员事先并不知道每个用户的每台机器支持哪些架构。当用户拥有存储库中不存在的架构时,他会收到 跳过获取配置文件'..不支持架构'arm64'错误。
man sources.list
中的答案:

The format for two one-line-style entries using the deb and deb-src types is:
   deb [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...]
   deb-src [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...]

,并且:

Architectures (arch) is an option. If this option isn't set the default is all architectures as defined by the APT::Architectures config option.

这意味着您的计算机上也设置了架构 arm64,并且在调用该存储库时,您的包管理器会请求使用此架构进行打包。您可以在 /etc/apt/apt.conf 中看到或在 bash 中执行的所有 APT::Architectures:

> apt-config dump | grep -F "APT::Architectures" -

问题的正确解决方案是使用具有定义的 Architecture 选项的存储库规范。如果您需要 arm,而不是 arm64,则规格应为:

deb [arch=arm] http://raspbian.raspberrypi.org/raspbian buster InRelease

使用这种格式,apt 包管理器将仅从存储库请求具有 arm 架构的包。

© www.soinside.com 2019 - 2024. All rights reserved.