Question Bank - Version 3.1 a well detailed
exam 2025/2026 graded A+ upgraded !!!
Advanced Multi-Domain Examination Covering
RHCSA, RHCE, RHCA, OpenShift, Ansible
Automation, IdM, and Enterprise Linux
Administration (150 Questions)
PART 1: RHCSA — Advanced System Administration (Questions 1–30)
Section 1.1: Systemd and Boot Process (Q1–Q8)
Question 1
A RHEL 9 system fails to boot after a kernel update. The administrator needs to boot into the
previous kernel version and set it as the default for future boots. Which sequence of actions
correctly accomplishes this?
A) At GRUB menu, select the older kernel → boot → grub2-set-default "Red Hat Enterprise Linux
(older kernel)" → grub2-mkconfig -o /boot/grub2/grub.cfg
B) At GRUB menu, press e to edit the kernel line, change the kernel path to the older version →
boot → systemctl set-default older-kernel.target
C) Boot from rescue media → chroot /mnt/sysimage → grub2-install /dev/sda → reboot
D) At GRUB menu, select the older kernel → boot → kernel-install add $(uname -r)
/boot/vmlinuz-$(uname -r)
Correct Answer: A
,Rationale: The correct procedure is to select the older kernel at the GRUB boot menu, boot into
it, then use grub2-set-default to set the older kernel as the default for future boots, followed by
regenerating the GRUB configuration with grub2-mkconfig. Option B uses an invalid systemd
target. Option C reinstalls GRUB but doesn't change the default kernel. Option D uses kernel-
install which is for adding new kernels, not changing defaults.
Question 2
Which of the following correctly describes the relationship between systemd targets, sockets,
and services in RHEL 9?
A) Sockets are activated by services; services are activated by targets; targets define the system
state
B) Services are activated by sockets; sockets are activated by targets; targets define the system
state
C) Targets activate services; services can activate sockets; sockets listen for connections
D) Services are independent of targets; sockets are independent of services
Correct Answer: C
Rationale: In systemd, targets define the system state (e.g., multi-user.target) and activate
services through Wants/Requires dependencies. Services can activate sockets (socket
activation), and sockets listen for incoming connections, starting the service on demand. Option
A reverses the socket-service relationship. Option B is incorrect. Option D is false.
Question 3
A system administrator needs to create a systemd timer that runs a script every Monday at 3:00
AM, but only if the system was powered on at that time (not if it was powered off). Which timer
configuration correctly achieves this?
A) OnCalendar=Mon *-*-* 03:00:00 with Persistent=false
B) OnCalendar=Mon *-*-* 03:00:00 with Persistent=true
C) OnBootSec=3h with OnUnitActiveSec=7d
D) OnCalendar=weekly with Persistent=false
Correct Answer: A
Rationale: OnCalendar=Mon *-*-* 03:00:00 specifies every Monday at 3:00
AM. Persistent=false ensures that if the system was powered off at the scheduled time, the
,timer does not run immediately upon next boot. Persistent=true would run missed timers upon
boot. Option C uses relative timers. Option D uses weekly which runs at a different time.
Question 4
Which command correctly modifies a systemd service unit to add an environment
variable APP_ENV=production without editing the unit file directly?
A) systemctl set-environment APP_ENV=production service-name
B) systemctl edit service-name → add [Service] Environment=APP_ENV=production → save
C) systemctl add-environment APP_ENV=production service-name
D) echo "APP_ENV=production" > /etc/systemd/system/service-name.d/env.conf
Correct Answer: B
Rationale: systemctl edit service-name creates a drop-in directory and allows adding override
configurations without modifying the original unit file. The correct syntax in the override
is [Service] Environment=APP_ENV=production. Option A sets environment variables for the
systemd manager itself, not for a specific service. Option C is not a valid command. Option D
creates a file but doesn't use the correct directory structure or the systemctl edit workflow.
Question 5
What is the purpose of the systemd-analyze plot command?
A) Generates an SVG graph showing the boot process timeline and service startup dependencies
B) Plots system resource usage over time
C) Generates a graph of systemd unit dependencies
D) Plots the system's CPU and memory usage during boot
Correct Answer: A
Rationale: systemd-analyze plot generates an SVG file that visualizes the boot process, showing
when each service starts, its duration, and dependencies. This is valuable for identifying boot
bottlenecks. Option B is incorrect; that would be monitoring tools. Option C is systemd-analyze
dot. Option D is not accurate.
Question 6
, A service unit file has the following configuration: Restart=on-failure and RestartSec=10s. The
service exits with code 0 (success). What happens?
A) The service is restarted after 10 seconds
B) The service is not restarted
C) The service is restarted immediately
D) The service enters a failed state
Correct Answer: B
Rationale: Restart=on-failure only restarts the service if it exits with a non-zero exit code or is
terminated by a signal. Exit code 0 indicates success, so the service is not
restarted. RestartSec only applies when a restart is triggered.
Question 7
Which of the following is the correct way to create a systemd service that runs a Podman
container using Quadlet in RHEL 9.3+?
A) Create a .container file in /etc/containers/systemd/ with the container specification
→ systemctl daemon-reload → systemctl start container-name
B) Create a .service file in /etc/systemd/system/ with ExecStart=podman run ...
C) Create a .container file in /etc/systemd/system/ with the container specification
D) Create a .podman file in /etc/containers/ with the container specification
Correct Answer: A
Rationale: Quadlet, supported in RHEL 9.3+, allows running containers with systemd by
creating .container files in /etc/containers/systemd/. Systemd then generates the corresponding
service units. Option B is the traditional approach but doesn't leverage Quadlet. Option C uses
the wrong directory. Option D uses an invalid file extension.
Question 8
Which command displays the dependencies of a systemd target, showing which units are
wanted by the target?
A) systemctl list-dependencies multi-user.target
B) systemctl show multi-user.target --property=Wants
C) systemctl list-units --type=target --all
D) systemctl get-default