如何从 apt-get autoremove 中排除包?

blu*_*e10 33 package-management apt

我遇到的情况是要删除的孤立包列表apt-get autoremove包含我想保留的包。显然我不小心删除了一个依赖它的包。我现在如何将包标记为明确需要的,这样apt-get autoremove就不会删除它?

Zan*_*nna 43

apt-mark

$ man apt-mark
...
manual
       manual is used to mark a package as being manually installed, which will 
prevent the package from being automatically removed if no other packages 
depend on it.
Run Code Online (Sandbox Code Playgroud)

所以

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

现在autoremove不会删除它。

撤销

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

autoremove如果它不是任何其他包的依赖项,现在将删除该包。

  • 另一个方便的技巧是您可以像这样一次标记多个包: sudo apt-mark manual &lt;package1&gt; &lt;package2&gt; &lt;package3&gt; etc (2认同)

blu*_*e10 10

更多的谷歌尝试提出了一个解决方案

也可以直接安装:

sudo apt-get install <package>
Run Code Online (Sandbox Code Playgroud)

或标记为手动安装通过

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

apt 不会重新安装,输出将如下所示:

$ sudo apt-get install tmux
Reading package lists... Done
Building dependency tree       
Reading state information... Done
tmux is already the newest version.
tmux set to manually installed.
Run Code Online (Sandbox Code Playgroud)