📖 ~1 min read
Table of contents
Symptom & Impact
A dnf upgrade aborts mid-transaction leaving packages partially updated.
Environment & Reproduction
Occurs after network drops or signal kills during large CentOS Stream 9 upgrades.
Root Cause Analysis
Interrupted RPM scriptlets leave the rpmdb half-written.
Quick Triage
Check `dnf history` and `journalctl -xe` for the last transaction id.
Step-by-Step Diagnosis
Inspect `dnf history info last` and run `rpm -Va –nofiles –nodigest`.

Solution – Primary Fix
Run `dnf history rollback last-1` then `dnf upgrade –refresh -y`.
Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.

Solution – Alternative Approaches
Use `dnf distro-sync` to converge mismatched package versions.
Verification & Acceptance Criteria
`dnf check` returns clean and package count matches baseline.
Rollback Plan
Restore /var/lib/rpm from backup if rollback creates dependency loops.
Prevention & Hardening
Use `dnf-automatic` with planned reboot windows; ensure UPS coverage.
Related Errors & Cross-Refs
Often co-occurs with rpmdb corruption and module-stream errors.
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
Red Hat dnf transaction recovery docs and Stream 9 release notes.
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.