在一个命令中将所有可自动移除的软件包标记为手动安装

Emm*_*maV 1 ubuntu apt package-management

我有许多标记为可自动删除的软件包。我想将它们标记为手动安装,以便它们不再是自动移除的。

我可以一次完成一包使用

sudo apt-mark manual <package name>
Run Code Online (Sandbox Code Playgroud)

但是我怎么能一次性完成所有的包,而不需要输入所有的包名称。

这个问题的答案描述了如何将所有自动安装的软件包标记为手动安装,但我只想标记可自动删除的软件包。

Ste*_*itt 5

您可以指定多个包名称作为参数apt-mark manual

sudo apt-mark manual package1 package2 package3
Run Code Online (Sandbox Code Playgroud)

这会将所有这些软件包标记为手动安装。

因此

sudo apt-mark manual $(sudo apt-get -s autoremove 2>/dev/null | awk '/^Remv / { print $2 }')
Run Code Online (Sandbox Code Playgroud)

将所有可自动删除的软件包标记为手动安装。