![如何删除 amd64 系统上不需要的 i386 包的“dpkg -l”行中的“in”?](https://linux22.com/image/975913/%E5%A6%82%E4%BD%95%E5%88%A0%E9%99%A4%20amd64%20%E7%B3%BB%E7%BB%9F%E4%B8%8A%E4%B8%8D%E9%9C%80%E8%A6%81%E7%9A%84%20i386%20%E5%8C%85%E7%9A%84%E2%80%9Cdpkg%20-l%E2%80%9D%E8%A1%8C%E4%B8%AD%E7%9A%84%E2%80%9Cin%E2%80%9D%EF%BC%9F.png)
我将非常感激您的帮助。
当我运行时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
。