Linux
Package Management: RPM & zypper
28 flashcards · answers and review in the app — launching soon
You want to write a single GUI installer that works on Fedora, Arch, and openSUSE without caring which package backend each uses. What library was meant to give you that, and why would relying on it today be a bad bet?
A developer needs PHP 8.1 available on one RHEL box while another team needs 8.2, both from the standard package sources. What Red Hat mechanism makes parallel versions of the same program possible, and what was it originally called?
The RPM database has drifted out of sync with reality after someone cleaned up disk space. What did they most likely do wrong, and where does that database actually live?
Reading the filename abc-2.0.7-1.x86_64.rpm, what do the 2.0.7, the 1, and the x86_64 each tell you — and how can a package's release number climb while its version stays fixed?
You spot an unfamiliar config file in /etc and want to know which package put it there, read that package's description, then see everything else it installed. Which three rpm queries do you run, in that order?
Your Python install is misbehaving and you suspect a file was tampered with since installation. Which rpm command checks whether the installed files still match the package, and what does an empty result mean?
You're following an old RHEL tutorial that keeps typing yum, but your Fedora box supposedly uses dnf. Are you actually running two different tools?
On a Fedora/RHEL box, where does DNF read its individual repository definitions versus its one global configuration — and why is the directory name confusingly not called dnf?
After many kernel updates a Fedora system somehow never accumulates dozens of old kernels — old ones keep disappearing. Which dnf.conf setting causes that, and what is its usual value?
In dnf.conf you see gpgcheck=1. What does turning this on actually enforce, and can it be overridden for a single repository?
A DNF .repo file has baseurl and gpgkey lines full of $releasever, $arch, and $basearch. Since these aren't set anywhere in the file, how do they get real values, and what do they resolve to?
You want to bring an entire Fedora system up to date in one shot, versus just refreshing one program. How does dnf update behave differently depending on whether you name a package?
You half-remember a package's purpose but not its exact name. Why does dnf search often find it when dnf list available with a name pattern does not?
You run dnf groupinstall for a package group but afterward some expected tools are missing. Which packages does groupinstall actually pull in, and which does it skip?
To install PHP 8.0 in its development profile via AppStream, what notation does the module command use, and what does each part mean?
In the output of dnf module list, some rows have a [d] next to the stream. When you install that module without naming a version, what does [d] tell you will happen?
A Fedora developer wants to publish their own RPM builds for others to install as a repository. What system does Fedora provide for this, and what better-known Ubuntu concept is it comparable to?
You want a Fedora/RHEL server to install updates unattended. Which add-on handles this, what triggers it, and which setting must you change so it does more than just download?
openSUSE uses RPM packages just like Fedora, yet its package manager is a separate SUSE creation. What is that system called, what library sits behind it, and where does it keep its data?
In the SUSE world, zypper treats updates and patches as two distinct things. What's the difference, and which one does SUSE use to ship fixes for its own packages?
Coming from dnf, what are the zypper equivalents to install, remove, search, and info — and which extra command must you run so zypper sees the latest package metadata?
You want to turn a fresh openSUSE box into a file server by installing everything that role needs at once. What ZYpp feature groups packages by task, and how do you install one?
You run zypper dup expecting it to jump openSUSE to the next release, but it just upgrades within the current version. What manual step did you skip?
When you click Install in GNOME Software or KDE Discover, what shared layer actually talks to the underlying package manager — and does its daemon sit running in the background all the time?
A script uses pkcon to install packages and someone suggests running it under sudo so it has privileges. Why is that exactly wrong, and how does pkcon get root rights instead?
Two Java versions are installed and typing java runs the right one, even though /usr/bin/java is a fixed path. What mechanism decides which real binary that path leads to?
With several editors installed, how does update-alternatives decide which one is default on its own, and how do you override that choice manually?
On openSUSE, where are zypper's repository files kept, what privilege does zypper require, and which single command upgrades the whole distribution to a new release?