Troubleshooting hub

Linux Troubleshooting: Diagnose the Layer Before You Change It

The best Linux troubleshooting habit is to collect evidence before making changes. Identify the failing layer, then use the smallest reversible test that can confirm or reject your hypothesis.

Technical review: 10 September 2026

A repeatable Linux troubleshooting loop

  1. State the symptom precisely. “Wi-Fi is broken” is less useful than “the adapter appears in lspci, but NetworkManager shows it unavailable after this boot.”
  2. Identify context. Distribution, release, kernel, desktop/server, hardware and what changed immediately before the failure.
  3. Check the simplest layer first. Power/radio/cable, device detection, driver, service state, configuration, then application.
  4. Collect evidence before changing state. Logs, service status, device IDs and exact errors.
  5. Make one reversible change. Test the original symptom again. Do not stack five forum fixes and then guess which one mattered.
  6. Document the working state. Keep the command, config diff or package version that resolved the issue.

Safe first commands

Read-only system context and failure evidence
cat /etc/os-release
uname -r
systemctl --failed
journalctl -b -p err
lsblk -f
ip link

Troubleshoot by layer

LayerEvidence to collectCommon next guide
BootPrevious/current boot logs; failed units; storage visibilityRead logs with journalctl
NetworkInterface presence, radio state, NetworkManager stateWi-Fi not working
StorageBlock devices, filesystems, free space, mount stateBackup before repair
PermissionsOwner, group, mode, service identityLinux permissions
PackagesDistribution/release, repositories, first dependency/signature errorPackage managers

Official references

For current behavior and version-specific details, use the relevant upstream documentation alongside this guide.

Frequently asked questions

What is the first step in Linux troubleshooting?

Record the exact symptom and system context before changing anything. Then decide whether the failure is primarily hardware, boot, storage, networking, permissions, package management, service state or application behavior.

Why should I avoid trying many fixes at once?

Multiple simultaneous changes destroy diagnostic information because you can no longer tell which change affected the result. Use the smallest reversible test that can confirm or reject one hypothesis.

Useful next steps