`rpm -e libfoo` refuses to run and reports 'Failed dependencies: libfoo.so.1()(64bit) is needed by (installed) barapp-2.1-3.el9.x86_64'. Which response removes libfoo while leaving the system consistent?

LPIC-1 Exam 101-500, objective 102. Linux installation and package management medium

Machine-checked — no person has signed for it. This question was read against the source cited below by an automated pass, which found no contradiction. That is a weaker claim than it sounds: the same kind of process wrote the question, so it can confirm its own mistake.

Treat it as a good draft rather than as settled fact, and read the source below before you rely on it. It is not used in mock exams here — only questions a person has signed for are.

How these questions are written — where each question comes from, what the verification ledger records, and what happens when one is found wrong.

The options

Not correct rpm -e --nodeps libfoo

Wrong. --nodeps only silences the check. The library is removed, barapp remains installed, and it will fail at startup with a missing shared object error.

Correct dnf remove libfoo

Correct. The repository-aware front end resolves the reverse dependency, presents a transaction that also removes barapp, and asks for confirmation before proceeding.

Not correct rpm -e --force libfoo

Wrong. --force is an install-and-upgrade shorthand for --replacepkgs, --replacefiles and --oldpackage. rpm will not even run it here: outside install and upgrade mode it exits with 'only installation and upgrading may be forced', and forcing has nothing to do with the dependency check in the first place.

Not correct rpm -e --justdb libfoo

Wrong, and worse than it looks. --justdb deletes the database entry while leaving every file in place, so the system now has untracked files and rpm no longer knows they exist.

Why

rpm operates on packages you name and checks dependencies but never resolves them; yum, dnf and zypper sit above rpm and compute a whole transaction from repository metadata plus the local database. A failed-dependency message from rpm is therefore a signal to move up to the front end, not a signal to add an override flag. The override flags exist for recovery work where you intend to fix the resulting inconsistency yourself.

Where this comes from

Cited
manual page rpm(8)

Practise this

Reading one question is not practice. The trainer will draw a short set from objective 102 and space the ones you get wrong.

Practise LPIC-1 Exam 101-500

More questions on this objective

All questions on Linux installation and package management

Practise LPIC-1 Exam 101-500