Mark command usecase

Dear DNF users,

it is an honor for me to introduce to you our newly implemented  mark command. If you are now wondering what was the motivation behind implementing this feature and also expecting some tidbits from DNF development, you are in the right spot. So prepare your favorite hot beverage and stay tuned. The story now begins:

In the early days of DNF development, the original members of  the team decided that the cool feature called clean_requirements_on_remove should have been enabled by default . This is exactly that feature of DNF which prevents your system from overblooting by installed, but no longer needed dependencies of packages.

Unfortunately, the world of rpm distribution is not always as bright and shiny as it might seen for the first look. There are situations where a manual user intervention is necessary, so lets take a look at a few of them:

PROBLEM: I used package manager incompatible with DNF for installation of packages A and B. Consequently DNF wants to autoremove these packages.

SOLUTION: Packages that user wants to preserve in his system can be marked as installed by user via following command dnf mark install A B.

PROBLEM: I installed package A alongside with his dependencies B and C. Now I want to remove package A but keep the package C.

SOLUTION: Mark package C as user installed by dnf mark install C.

PROBLEM: I installed package A and consequently installed package B which depends on package A. Now I decided to remove package A but it is not possible without removal of package B.

SOLUTION:  Mark package A for removal by dnf mark remove A and package A will be autoremoved once there are no packages dependent on package A.

Thank you for your attention.

 

12 thoughts on “Mark command usecase

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current day month ye@r *