如何删除 amd64 系统上不需要的 i386 包的“dpkg -l”行中的“in”?

如何删除 amd64 系统上不需要的 i386 包的“dpkg -l”行中的“in”?

我将非常感激您的帮助。

当我运行时dpkg -l bash,我得到了这个:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                   Version          Architecture     Description
+++-======================-================-================-=================================================
in  bash                   <none>           i386             (no description available)
ii  bash                   4.3-7ubuntu1.4   amd64            GNU Bourne Again SHell

当我现在这样做时bash --version,我得到了这个:

GNU bash, version 4.2.0(1)-release (x86_64-unknown-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law

我想删除此条目:

in  bash                   <none>           i386             (no description available)

任何帮助都将不胜感激。

答案1

目前的情况如何

in输出中以 开头的行dpkg -l 意思是某个包已设置为安装,但实际上尚未安装。

假设您现在不安装该软件包,则卸载该软件包的命令应该将其设置为卸载,阻止其安装并从输出中删除该行dpkg -l bash

如何修复

其中一种方法是运行:sudo apt-get remove bash:i386

但是,求求您确保不要遗漏:i386这表明要删除的软件包是 32 位版本的 bash,也就是您说您不想要的软件包,而且您可能不需要。bash对于您的架构 (amd64),您肯定需要它——即使所有用户都使用不同的交互式 shell,Ubuntu 中的许多其他软件包也依赖于它。

有关当前情况和“删除”操作的更多详细信息:

领先的i 方法它被标记需要安装,因此清除输出中的那一行是有意义的dpkg -l

行动purge(如fkraiem建议) 也应该可以正常工作,尽管它可能没有必要(与 相比remove)。清除软件包包括移除和删除系统范围的配置文件。如果软件包的系统范围配置文件存在dpkg -l,则 输出中软件包的第二个字母应该是c而不是n

相关内容