我有一个运行 64 位内核的操作系统,但由于机器内存有限,我想使用大多数软件包的 32 位版本。我需要保留一些 64 位驱动程序,因为没有 32 位替代品。
我从完整的 64 位系统进行了转换,但 aptitude 抱怨基本包已损坏。可能已请求 32 位交叉升级但无法完全完成。如何保留已经使用的包?
例如,bash
被请求(隐含 i386)并bash:amd64
已安装,可以工作,但 aptitude 认为它已损坏,而dpkg -l
看起来还不错。
dpkg -l | grep bash
ii bash:amd64 4.4-5 amd64
我是否应该将架构改回amd64
并安装i386
非必需版本?
答案1
系统的主要架构是dpkg
包的架构。这也是新安装的软件包的默认架构,我猜这就是您感兴趣的。
正如您所发现的,apt
最终以所有基本包都必须与主架构相匹配的方式解决依赖关系。
要解决这种情况,同时保留i386
作为您的主要架构,您必须手动安装所有i386
必需的软件包。您可以apt
通过切换回amd64
临时状态来帮助您;然后aptitude search '~i~E'
将列出所有必需的软件包,您可以操纵它来下载所有软件包。如果您已经i386
安装了一些必要的软件包,这可能不起作用,您必须手动下载所有内容...