Linux

Package Management: RPM & zypper

61 flashcards · answers and spaced-repetition review in the KnowCard app

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?
Across the Linux world, which two low-level package formats dominate, which distributions use each, and what can't their raw tools (rpm, dpkg) do on their own?
Most RPM packages ship in two variants. What does each contain, and which one does an ordinary user actually install?
In an RPM filename the architecture field is usually something like x86_64. What do the alternatives noarch and src signify instead?
The rpm command suddenly fails with 'cannot open packages database'. What sequence rebuilds the RPM database?
To save bandwidth on a small security fix, RPM systems can ship only what changed between two versions. What is that called, and which command reassembles the full package?
Beyond -qf/-qi/-ql, which rpm queries list every installed package, show just a package's config files, or inspect an .rpm file you haven't installed yet?
If you do use rpm directly instead of dnf, which flags install a new package, upgrade an existing one, and remove one — and why prefer -e over deleting files?
rpm -V flags that a file in an installed package was modified or corrupted. On Fedora/RHEL, what's the quickest way to restore the package to its shipped state?
A cron job runs dnf while you try 'dnf install' by hand, and yours errors with 'another copy is running'. What limitation is this?
rpm alone can install a local package. What four capabilities does DNF add on top that rpm fundamentally lacks?
In /etc/dnf/dnf.conf you see best=True. What does it change about how updates are chosen, and why does the dnf.conf man page suggest the opposite?
In a .repo file, how does specifying a source with baseurl differ from using mirrorlist?
You want DNF to keep updating everything except a couple of pinned packages that must stay at their current version. How do you hold them back?
You've downloaded a standalone .rpm file. Why prefer 'dnf localinstall' over 'rpm -i' to install it?
An update yesterday broke something and you want to see, then inspect, DNF's recent transactions. Which commands do that?
You installed php:7.4 as a module but now need the 8.0 stream. Beyond install, which dnf module subcommands switch, clear, or trace module streams?
You want a package's actual source code to rebuild or patch it. Which dnf command fetches the source RPM, and where does the code land?
Red Hat systems never auto-reboot after updates. Which command shows which running processes should be restarted to pick up an update — and what does it notably miss?
On openSUSE, where does the ZYpp stack keep its configuration/database/cache, and where can you read a history of every package install and removal?
A zypper .repo file in /etc/zypp/repos.d has autorefresh, keeppackages, and type=rpm-md lines. What does each control?
On openSUSE, when do you run 'zypper update' versus 'zypper dup', and why is 'dup' the right choice on Tumbleweed or when moving to a new release?
Which zypper commands list your package sources, add a new one, and clear the download cache?
Fedora won't move from version 38 to 39 with a plain 'dnf update'. Which mechanism performs a release upgrade, and what should you check about your repos first?
On openSUSE the package-management GUI is YaST. Within its Software group, what does the 'Online Update' module launch, and which module is the day-to-day one for adding/removing packages?
openSUSE's 'one-click install' sets up sources and installs software from a single browser click. What file type drives it, and how do you trigger the same thing from the command line?
A fresh Fedora install can't play many video/audio files and has no NVIDIA driver. Why does the official distribution leave these out, and where do you get them?
openSUSE plays almost no common video formats out of the box. Which package source fixes this, and what's the crucial step beyond just adding it?
You find an RPM built for Red Hat and want to install it on SUSE — both use RPM, so why is this a bad idea?
A freshly installed RHEL box refuses to install or update any package. What gate is this, and why don't AlmaLinux or Oracle Linux behave the same way?
On RHEL 8+ you can't find common development tools/libraries in the default repos. Which repository holds them, and why won't they install until you act?
RHEL's package selection feels thin even with CRB enabled. Which community repository dramatically widens it, and why does the install command differ between AlmaLinux and RHEL itself?
How do RHEL's updates advance the distribution over its lifetime, and what kind of upgrade will they never perform automatically?
On a RHEL/Fedora box, how do you find which repository a given package came from, and which of your installed packages came from EPEL specifically?

Start learning today

Free to start — download the app or use it in your browser.

Get it on App StoreGet it on Google Play