1. 当APT告诉你“不支持你的架构”:这到底是什么意思?
如果你在树莓派或者一些ARM设备上玩Linux,然后兴冲冲地敲下 sudo apt-get update 准备更新软件列表,结果屏幕上突然蹦出来一行警告,说“鉴于仓库‘xxx’不支持‘amd64’体系结构,跳过...”。你可能会一愣,心想:“我这明明是ARM的板子,它怎么在说amd64?” 或者反过来,在一台老旧的32位电脑上,它报错说不支持‘i386’。这个错误信息乍一看有点反直觉,但别慌,这其实是APT包管理器在非常“尽职”地告诉你一个配置上的小误会。
简单来说,体系结构就是你电脑CPU的“型号”或者“指令集规格”。常见的amd64(也叫x86_64)指的是64位的个人电脑和服务器CPU;i386指的是老式的32位x86 CPU;而armhf、aarch64则是ARM架构的32位和64位版本,树莓派大多用的就是这些。你的Linux系统在安装时,就确定了一个“主架构”。APT在更新时,会去检查你系统里当前启用的所有架构,并拿着这个列表去问每一个软件仓库:“嘿,你支持这些架构吗?”
问题就出在这里:你的系统可能多启用了一个它本不该有的架构。比如,你的树莓派(ARM架构)的系统里,不知怎么地,把amd64这个架构也加到了启用的架构列表里。当你去更新一个只提供ARM架构软件包的树莓派专属仓库时,APT就会礼貌地提醒你:“老板,您清单里列了amd64,但我这个仓库不卖amd64的货,所以这部分(binary-amd64/Packages)我就跳过了啊。” 这就是那个“N:”开头的警告信息的来源。它本身不是一个会阻断操作的“错误”(Error),而是一个“通知”(Notice),但看着烦人,而且如果配置混乱,有时会导致后续安装软件出问题。
所以,解决这个问题的核心思路就很清晰了:把系统里那个“多余”的、不被当前仓库支持的架构,从启用的架构列表中移除掉。让APT的“购物清单”和你实际要访问的“商店”(仓库)提供的“商品”类型匹配上,这个警告自然就消失了。接下来,我们就一步步来看看,怎么诊断、解决并预防这个问题。
2. 动手之前先诊断:你的系统里到底启用了哪些架构?
在盲目操作之前,我们先搞清楚现状。这就像修电脑先要知道是哪个硬件出了问题一样。Linux提供了非常简单的命令来查看当前系统启用的所有CPU架构。
打开你的终端,输入以下命令:
dpkg --print-architecture
804



被折叠的 条评论
为什么被折叠?



