dpkg:错误:无法删除数据库当前正在使用的体系结构“ i386”


12

我使用此命令添加了i386拱门:

sudo dpkg --add-architecture i386

然后,在没有安装任何软件包之后,我立即尝试删除i386拱门,如下所示:

sudo dpkg --remove-architecture i386

而且我得到了错误:

dpkg: error: cannot remove architecture 'i386' currently in use by the database

我已经看到了迄今为止涉及移除i386的包装解决方案,我还没有安装任何,是的那些安装有该操作系统的运作至关重要。我该怎么办?

编辑,请阅读以下内容,以免破坏您的操作系统:

原来64位Linux操作系统已经包含了i386架构,因此该命令sudo dpkg --add-architecture i386实际上并没有执行任何操作。

Answers:


8

在amd64安装(64位PC)上,默认情况下,i386体系结构(32位PC)处于活动状态。从您的列表中,您似乎只拥有用于Wine的32位软件包。Wine需要一堆32位库来运行32位Windows应用程序。除非卸载32位Wine,否则您将无法删除i386体系结构。但是这样做是没有意义的:启用i386架构没有错。


26

dpkg --get-selections | awk '/i386/{print $1}'

然后,如果对删除它们感到满意,请运行

apt-get remove --purge `dpkg --get-selections | awk '/i386/{print $1}'`

然后重试

dpkg --remove-architecture i386

2
谢谢你,非常有用!您知道在64位Ubuntu 16.04上这样做是否安全吗?我问是因为我看到了很长的包裹清单,并且担心如果将它们全部删除,可能会出问题
sunyata

2
@sunyata(如果您的目标是从系统中删除i386),那就是这样:删除所有i386软件包,然后删除体系结构。
Braiam '18

那帮助了我。删除i386之后,我设法更新了firefox。谢谢。
makkasi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.