将rpm包标记为自动安装

在debian系统上,我可以使用aptitude markautoaptitude unmarkauto将软件包标记为手动或自动安装。 我通过标记我知道我想要的软件包来删除不需要的软件包。 然后apt-get autoremove将删除所有不需要的软件包。

我现在在一个Fedora系统,并希望在rpm或yum或其他程序类似的function。 rpm / yum是否还有像debian系统这样的手动/自动安装软件包的概念?

至less较新的yum版本(在yum 3.4.3的Fedora 20上testing)能够区分手动安装的软件包和作为依赖关系安装的软件包。 这个信息被存储在yumdb中,使用键“reason”可以被设置为“user”或者“dep”。

 # yumdb set reason dep [package name or wildcard] 

应该相当于“aptitude markauto”。 如果您不提供包名称,则更改将应用​​于所有包。 我不会这么做,不太激进的方法就是使用

 # yumdb search reason user 

并手动删除你不想要的包。

如果你跑步

 # yum autoremove 

如果所有标记为“dep”的软件包不再被其他软件包引用,则将其删除。 应该相当于“aptitude autoremove”。

安装不使用yum的软件包(例如rpm -i)可能没有“reason”键,我假设autoremove的默认行为是将它们当作“用户”软件包,但是它们没有使用“yumdb search”命令列出。

不,但没有理由不能写一个yum插件来提供这个能力。