📖 ~1 min read
Table of contents
Symptom & Impact
Operators encounter common problem 186 on CentOS Stream 9 hosts. Symptoms include degraded services, failed units, or refused connections. Impact ranges from slowed workloads to full outages when left unresolved.
Environment & Reproduction
Reproduce on a CentOS Stream 9 host after updates, policy edits, or configuration drift. Capture baseline release, kernel, repo, and failed-unit state before changes.
cat /etc/centos-release
uname -r
dnf repolist
systemctl --failed
journalctl -p err -n 50 --no-pager
Root Cause Analysis
Typical causes on CentOS Stream 9 include stale dnf metadata, SELinux denials under default policy, firewalld runtime/permanent drift, systemd dependency ordering, or kernel module mismatch after upgrades.
Quick Triage
Run a fast triage pass to check package integrity, service status, firewall state, and SELinux mode before deeper changes.
dnf check || true
systemctl status --no-pager
firewall-cmd --state
getenforce
journalctl -xe --no-pager | tail -n 80
Step-by-Step Diagnosis
Collect detailed diagnostics to isolate the failing layer: package, policy, service ordering, or network filtering.
journalctl -b --no-pager | tail -n 200
systemctl list-dependencies multi-user.target
firewall-cmd --list-all
ausearch -m avc -ts recent
dnf history list | head -n 15

Solution – Primary Fix
Apply the primary fix in sequence and validate after each step to avoid masking the true cause.
Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.
dnf clean all && dnf makecache
dnf -y update
systemctl daemon-reload
systemctl restart firewalld
restorecon -Rv /etc /var

Solution – Alternative Approaches
If the primary path fails, apply targeted alternatives addressing edge conditions.
dnf distro-sync -y
sealert -a /var/log/audit/audit.log || true
firewall-cmd --runtime-to-permanent
systemctl reset-failed
Verification & Acceptance Criteria
Acceptance requires clean service state, no recent errors in logs, and stable behavior across restart and reload cycles.
systemctl --failed
journalctl -p warning -n 30 --no-pager
firewall-cmd --list-all
getenforce
dnf check
Rollback Plan
If regression appears, roll back package and policy changes to the last known-good transaction.
dnf history list | head -n 10
# Replace with the transaction ID to undo
dnf history undo -y
setenforce 0
systemctl restart affected-service
Prevention & Hardening
Prevent recurrence with staged updates, policy review, and continuous health checks.
dnf -y install dnf-automatic
systemctl enable --now dnf-automatic.timer
firewall-cmd --permanent --list-all
journalctl --vacuum-time=14d
Related Errors & Cross-Refs
Related patterns include repository inconsistency, firewalld drift, SELinux context mismatch, and systemd dependency loops on CentOS Stream 9.
Related tutorial: View the step-by-step tutorial for centos-stream-9.
View all centos-stream-9 tutorials on the Tutorials Hub →
Browse all common problems & solutions on the Tutorials Hub.
References & Further Reading
CentOS Stream 9 release notes, dnf command reference, systemd unit and dependency docs, firewalld administration guide, and SELinux troubleshooting with audit logs and journalctl.
Need Expert Help?
If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today — we respond within one business day.