dpkg --get-selections 显示标记为“deinstall”的包

use*_*225 46 apt dpkg software-installation

执行dpkg --get-selections显示带有标记之一的包installdeinstall

我可以使用apt-get remove.

  1. 什么deinstall意思?

  2. 怎么做才能使标记的包不再deinstall被列出dpkg --get-selections

Anw*_*war 22

“卸载”是什么意思?

从这意味着的联机帮助页dpkg

该软件包被选中进行卸载或删除(即我们要删除除配置文件之外的所有文件)。

你还问

怎样做才能使标记为“deinstall”的软件包不再被“dpkg --get-selections”列出?

有两种方法可以避免在dpkg --get-selections命令中列出。

1. 取消选择要删除的包

您可以取消选择要删除的包。这样,dpkg --get-selection就不会显示“deinstall”条目。

查看此答案以了解执行此操作的确切程序

2.您可以实际执行选定的任务,即卸载它们

不推荐,如果你不dpkg --clear-selections小心做了一个将所有包标记为“deinstall”,除了必需品(这里,必需品并不意味着你可以拥有一个没有任何不必要软件的系统,必需品意味着,你只能启动和有一个非常低级的 linux 系统)

执行所选任务的命令是:

sudo apt-get dselect-upgrade
Run Code Online (Sandbox Code Playgroud)

希望这将回答您的查询。


有关更多信息,您可以查看这些链接。

  • 你写“被选中进行卸载或删除(即我们要删除所有文件,除了配置文件)”。好吧,我(“我们”)是如何选择它的?当我“apt-get remove ...”时会发生这种情况吗?如果是这样,为什么它们只被“选择卸载”,为什么在运行“apt-get remove”时没有立即删除它们? (5认同)

小智 16

“sudo apt-get dselect-upgrade”答案对我不起作用。要删除我使用的单个已卸载的软件包:

sudo apt-get --purge remove <package_name>
Run Code Online (Sandbox Code Playgroud)


All*_*ate 15

如果apt-get --purge无法删除包,请尝试以下操作:

检查已卸载的软件包以确保您确实要删除它们。

dpkg --get-selections | grep deinstall | cut -f1
Run Code Online (Sandbox Code Playgroud)

如果您确定,请执行dpkg --purge

sudo dpkg --purge `dpkg --get-selections | grep deinstall | cut -f1`
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这将包括名称中带有“deinstall”的任何包。试试`dpkg --get-selections | awk '$2 == "deinstall" {print $1}'` (3认同)