On debian systems I can use aptitude markauto
and aptitude unmarkauto
to mark packages as manually or automatically installed. I use this to remove unneeded packages by marking the packages I know I want. Then apt-get autoremove
will remove all packages that are not needed.
I'm now on a fedora system and would like a similar feature in either rpm or yum or other program. Does rpm/yum even have a concept of manual/auto installed packages like debian systems?
Best Answer
At least newer yum versions (tested on Fedora 20 with yum 3.4.3) are able to distinguish between manually-installed packages and packages installed as dependencies. This information is stored in yumdb using the key "reason" which can be either set to "user" or "dep".
should be the equivalent to "aptitude markauto". If you do not provide a package name, the change is applied to all packages. I wouldn't do that, the less radical way is to use
and manually remove the packages you don't want.
If you run
all packages marked as "dep" are removed if they are no longer referenced by other packages. Should be equivalent to "aptitude autoremove".
Packages installed not using yum (e.g rpm -i) might not have the "reason" key, I assume the default behavior of autoremove is to treat them as "user" packages, but they are not listed using the "yumdb search" command.