Microcode updates are easy to miss, because the package can update while the CPU keeps running the old revision until you reboot. Here’s how I check on my Omarchy laptop and my servers.
1. The revision the CPU is running right now
grep -m1 microcode /proc/cpuinfo
2. Did it load at boot, and from where?
journalctl -k -b | grep -i microcode
You want a line saying the microcode was updated early, along with the revision.
3. Which package version is installed
# Arch / Omarchy
pacman -Q intel-ucode amd-ucode 2>/dev/null
# Debian / Ubuntu
dpkg -l | grep -E 'intel-microcode|amd64-microcode'
4. Update, then reboot
Update the normal way. On Arch-based systems the initramfs picks up the microcode through the microcode hook in /etc/mkinitcpio.conf. Then reboot and run step 1 again. If the revision didn’t change, either your CPU isn’t covered by this release or the early load isn’t set up.
5. Across the fleet
ansible all -m shell -a "grep -m1 microcode /proc/cpuinfo"
I keep the output and diff it after each update cycle so I can see which boxes still need a reboot.
God Bless, and Happy hacking!