KNZLABS :: RHCSA Foundations

Appendix A: RHCSA v10 Deltas

When RHEL 10 ships and Red Hat updates EX200 to the v10 objective set, here's what's new (and what's changed). This appendix is the diff, not a complete re-treatment of the objectives.

DNF5 replaces DNF4

DNF5 is the C-based rewrite of dnf. On AlmaLinux 10 it's the default.


# These work mostly the same
dnf install httpd
dnf list installed
dnf info httpd
dnf history

# Behavioral changes worth knowing
dnf repolist               # output format cleaner, narrower by default
dnf download httpd         # now reliable without --downloadonly
dnf module                 # module commands re-styled

The --allowerasing flag is more conservative — DNF5 won't silently uninstall conflicts the way DNF4 sometimes did. You'll be asked explicitly.

The repo cache lives at /var/cache/libdnf5/ (was /var/cache/dnf/). If you script cleanup, update those paths.

Cockpit is back in scope

The v10 objective set explicitly mentions Cockpit (web-based admin UI on port 9090). On the exam, expect at least one task to require using Cockpit OR show that you can configure something Cockpit-equivalent via CLI.


dnf install -y cockpit
systemctl enable --now cockpit.socket
firewall-cmd --permanent --add-service=cockpit
firewall-cmd --reload

Then browse https://<host>:9090 and log in with a local user (sudo-capable accounts get admin UI).

Container emphasis: Quadlets everywhere

In v9 you could pass with podman run + manual .service files. In v10, Quadlets are the assumed format for container services. The skill is structuring .container files in ~/.config/containers/systemd/ or /etc/containers/systemd/ and letting the generator do the rest. See Module 9 for the syntax.

Podman compose

RHEL 10 includes podman-compose as a first-class tool. Multi-container app deployments expected in v10:


dnf install -y podman-compose
cat > compose.yaml <<'EOF'
services:
  web:
    image: registry.access.redhat.com/ubi9/httpd-24
    ports: ["18080:8080"]
EOF
podman-compose up -d

Flatpak

v10 highlights Flatpak as the GUI-app distribution mechanism on workstations. Server profile won't see it but workstation-track candidates should know:


flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install -y flathub org.mozilla.firefox
flatpak run org.mozilla.firefox

SELinux refinements

A few new booleans land in v10. The two worth flagging:

  • container_use_devices — allows containers to access host /dev nodes (e.g., GPU passthrough)
  • httpd_can_use_quic — for HTTP/3

The semanage workflow is unchanged; just expect to see these in getsebool -a.

Network: NetworkManager keyfiles only

The legacy ifcfg-* files under /etc/sysconfig/network-scripts/ are gone in RHEL 10. Only the keyfile format under /etc/NetworkManager/system-connections/ works. nmcli abstracts this so most workflows don't change.


ls /etc/NetworkManager/system-connections/
# Keyfile names match connection profile names

If you edit a keyfile manually, set its mode to 0600 — NetworkManager refuses world-readable connection files.

Storage

Stratis CLI is unchanged. The underlying daemon got faster on large pools. No syntax differences.

LVM gets lvm2-lockd cluster-locking improvements; not a v10 exam objective but worth knowing for shared-storage labs.

What's the same (and still worth practicing)

  • The exam format: 3 hours, 70%, performance-based, two systems.
  • Every shell tool from Module 1.
  • LVM end-to-end.
  • SELinux fundamentals (enforcing mode, contexts, booleans, ports).
  • firewalld zones + rules.
  • User and group management.
  • systemd targets and journalctl.

Don't over-rotate to v10 specifics if you're scheduled for the v9 exam. Pass v9 first.

The lab's v10 node

rhcsa-v10 (192.168.4.74) runs AlmaLinux 10. Use it for hands-on with DNF5, podman-compose, and Cockpit. The graded labs in this kit target v9; the v10 box is for exploration.