Rocky 9 self-check: 8 tasks — if you can finish them alone, you are good
How to use it
Section titled “How to use it”Take one Rocky 9 VM (snapshot it first) and work through the 8 tasks in order. Every task has verification commands: if all pass, you can handle this class of problem on your own; if one fails, follow the link back to its page.
The checklist only covers hands-on pages published on this site. The tasks do not come from any official exam bank and do not represent Red Hat certification content.
Task 1: undo a mistaken install
Section titled “Task 1: undo a mistaken install”sudo dnf -y install treednf history list | head -3 # note the install transaction IDsudo dnf -y history undo <ID>rpm -q tree # expected: package tree is not installedTask 2: open exactly one port
Section titled “Task 2: open exactly one port”sudo firewall-cmd --permanent --zone=public --add-port=8443/tcpsudo firewall-cmd --reloadfirewall-cmd --zone=public --list-ports # should include 8443/tcpsudo systemctl restart firewalldfirewall-cmd --zone=public --list-ports # still there after restartTask 3: install a package offline
Section titled “Task 3: install a package offline”# connected hostsudo dnf -y install --downloadonly --destdir=/srv/offline treesudo createrepo_c /srv/offline# isolated host (local.repo points at file:///srv/offline)sudo dnf --disablerepo="*" --enablerepo=local-offline -y install treerpm -q treeTask 4: the 7 post-install checks
Section titled “Task 4: the 7 post-install checks”dnf repolist --enabled # baseos/appstream/extras, CRB offtimedatectl status | grep "Time zone"hostname -fgetenforce # Enforcingfirewall-cmd --zone=public --list-servicesneeds-restarting -r; echo $? # 0rpm -q firewalld chronySee: First-hour checks
Task 5: rotate an application log
Section titled “Task 5: rotate an application log”sudo tee /etc/logrotate.d/lab >/dev/null <<'EOF'/var/log/lab/*.log { daily rotate 3 compress copytruncate }EOFsudo logrotate -f /etc/logrotate.d/labls /var/log/lab/ # expected: a.log (0 bytes) + a.log.1.gzTask 6: add 4 GB of swap
Section titled “Task 6: add 4 GB of swap”sudo fallocate -l 4G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfileswapon --show # expected: a /swapfile entrySee: swap sizing
Task 7: pin the package source
Section titled “Task 7: pin the package source”sudo dnf --disablerepo="*" --enablerepo=multi install -y treerpm -q tree# add includepkgs=tree to multi.repo, run dnf clean all, then:dnf --disablerepo="*" --enablerepo=multi list available | grep -c wget # expected 0See: Repository conflicts
Task 8: switch DHCP to a static IP
Section titled “Task 8: switch DHCP to a static IP”nmcli connection modify "<connection>" ipv4.method manual \ ipv4.addresses 192.0.2.10/24 ipv4.gateway 192.0.2.1 ipv4.dns 192.0.2.53nmcli connection up "<connection>"ip -4 addr show; ip route show default; cat /etc/resolv.confSee: nmcli static IP
Scoring
Section titled “Scoring”| Passed | Meaning |
|---|---|
| 8/8 | You can handle package management, firewall, networking and storage buffering on your own |
| 6–7 | Revisit the failed pages, focusing on the verification commands rather than typing them once |
| < 6 | Redo the tasks in order; write your own verification commands before running anything |
Next steps
Section titled “Next steps”- Start here: First-hour checks
- Debugging method: /en/troubleshooting/performance/
- Security baseline: Security baseline