Guide Linux Problems & Fixes – The Complete Troubleshooting Guide for 2026

Unison

Well-known member
VIP

Linux Problems & Fixes – The Complete Troubleshooting Guide for 2026​

Linux is generally extremely reliable, but sooner or later most users will encounter a problem — Wi-Fi stops working, an update fails, sound disappears, a drive won't mount, the system becomes slow or an application refuses to start.

The good news is that Linux provides some excellent troubleshooting tools.

This guide collects some of the most useful Linux troubleshooting commands and fixes in one place.

Most commands below will work on popular distributions such as Ubuntu, Linux Mint, Debian, Fedora and Manjaro, although package-management commands can differ between distributions.


1. Linux Running Slow​

Start by checking what is using the CPU and memory.

Open a terminal and run:

top

A more user-friendly alternative is:

htop
If htop isn't installed, install it using your distribution's package manager.

You can also check memory with:

free -h
And disk space with:

df -h
A full filesystem can cause all sorts of unexpected problems.


2. Check Linux System Information​

One of the first things worth knowing when troubleshooting is exactly what system you're running.

Try:

uname -a
For distribution information:

cat /etc/os-release
For kernel information:

uname -r
For CPU information:

lscpu
For memory:

free -h
For disks and partitions:

lsblk
These are particularly useful when asking for help on a forum.


3. Check Free Disk Space​

Run:

df -h
Look particularly at the / filesystem.

If it is approaching 100%, Linux may start behaving strangely and updates can fail.

To investigate which directories are using space:

du -sh ~/.* ~/* 2>/dev/null
Be careful when deleting files as root.

Never blindly copy an rm command from the internet without understanding exactly what it will delete.


4. Check Your Network Connection​

First display your network interfaces:

ip addr
A shorter version is:

ip a
Check the routing table:

ip route
Now test internet connectivity:

ping -c 4 1.1.1.1
Then test DNS:

ping -c 4 google.com
If 1.1.1.1 works but google.com doesn't, you may have a DNS problem rather than an internet connection problem.


5. Check DNS​

Try:

resolvectl status
However, not every Linux installation uses systemd-resolved.

On systems using NetworkManager, this is useful:

nmcli device show
You can also test DNS resolution with:

nslookup google.com
or:

dig google.com
depending on which utilities are installed.


6. Wi-Fi Not Working​

Start with:

ip link
If NetworkManager is installed:

nmcli device status
To see nearby Wi-Fi networks:

nmcli device wifi list
You can also check whether Wi-Fi has been disabled:

rfkill list
If blocked, investigate why before changing anything.

A common problem after installing Linux is missing or unsuitable Wi-Fi firmware, particularly on some laptop wireless adapters.


7. Internet Works but Websites Won't Load​

This is often worth testing as a DNS issue.

Try:

ping -c 4 1.1.1.1
followed by:

ping -c 4 google.com
Then:

nslookup google.com
If IP addresses work but domain names don't, investigate your DNS configuration.


8. No Sound in Linux​

First check which audio system is running.

Modern Linux desktops commonly use PipeWire.

Try:

pactl info
You can list available audio outputs with:

pactl list short sinks
If your system uses PipeWire:

systemctl --user status pipewire
and:

systemctl --user status wireplumber
Also check your desktop's sound settings.

Linux may simply have selected HDMI, a monitor or another audio device instead of your speakers or headset.


9. USB Device Not Detected​

Run:

lsusb
Then plug the USB device in and run it again.

For recent kernel messages:

dmesg | tail -50
On systems where access to dmesg is restricted, you may need:

sudo dmesg | tail -50
Kernel messages can reveal whether the device was detected and whether a driver failed to load.


10. Drive or Partition Not Appearing​

Start with:

lsblk
For filesystem information:

lsblk -f
You can also use:

findmnt
Never format a disk simply because Linux isn't mounting it.

First identify the disk, partition and filesystem and determine why it isn't mounting.


11. Check Disk Health​

If SMART tools are installed:

sudo smartctl -a /dev/sda
Replace /dev/sda with the correct drive.

You can identify drives using:

lsblk
SMART information can help identify a failing HDD or SSD.

Always make sure you have backups before experimenting with a drive that may be failing.


12. Linux Won't Boot Properly​

If you can reach a terminal, start by checking failed services:

systemctl --failed
Then inspect errors from the current boot:

journalctl -b -p err
For the previous boot:

journalctl -b -1 -p err
The system journal is one of Linux's most powerful troubleshooting tools.


13. A Service Won't Start​

Check its status:

systemctl status SERVICE
For example:

systemctl status bluetooth
Restart a service with:

sudo systemctl restart SERVICE
Check its logs using:

journalctl -u SERVICE
Or show logs from the current boot:

journalctl -u SERVICE -b
Don't repeatedly restart a failing service without reading the error message — the logs will often tell you exactly what's wrong.


14. An Application Won't Start​

One of the simplest Linux troubleshooting tricks is to start the application from a terminal.

Instead of clicking its icon, type its command.

For example:

firefox
If the program fails, the terminal may display an error message that isn't visible when launching it from the desktop.

Copying that error message into a forum post can make diagnosing the problem much easier.


15. Check Running Processes​

Use:

ps aux
To search for a particular process:

ps aux | grep firefox
Or use:

pgrep -a firefox
For an interactive view:

top
or:

htop

16. Check Linux Temperatures​

If lm_sensors is installed, run:

sensors
This can display CPU and other available temperature sensors.

Unexpected shutdowns, crashes or severe performance throttling can sometimes be caused by overheating.


17. Check Memory Usage​

Run:

free -h
For more information:

cat /proc/meminfo
Don't assume that low "free" memory automatically means Linux has run out of RAM.

Linux deliberately uses otherwise-unused memory for caching and can reclaim it when applications need it.

The available figure shown by free -h is usually more useful than looking only at free.


18. Check What's Listening on the Network​

A very useful command is:

ss -tulpn
You may need sudo to see all process information:

sudo ss -tulpn
This displays TCP and UDP sockets and can help determine whether a server or application is actually listening on the expected port.


19. Check Your Firewall​

Firewall tools vary between Linux distributions.

Ubuntu commonly provides UFW:

sudo ufw status
Fedora commonly uses firewalld:

sudo firewall-cmd --state
On other systems you may need to inspect nftables:

sudo nft list ruleset
Don't disable your firewall permanently simply because a network application isn't working.

It's much better to identify the required port and create the appropriate rule.


20. Package Update Problems​

The exact commands depend on your Linux distribution.

Ubuntu / Debian / Linux Mint​

sudo apt update
sudo apt upgrade

Fedora​

sudo dnf upgrade

Manjaro / Arch Linux​

sudo pacman -Syu
Read error messages carefully before forcing or deleting anything.

On rolling-release distributions in particular, partial upgrades should be avoided.


21. Find a Command You've Used Before​

Instead of trying to remember it, use:

history
You can search your history with:

history | grep ssh
An even quicker method in Bash and many other shells is:

Ctrl + R

Then start typing part of the previous command.


22. Check Your IP Address​

Use:

ip addr
or:

ip -4 addr
To see the route Linux uses to reach the internet:

ip route
This is useful when troubleshooting local network devices, file shares, Raspberry Pis, media servers and SSH connections.


23. SSH Connection Problems​

Try connecting with:

ssh username@192.168.1.100
If it fails, add verbose output:

ssh -v username@192.168.1.100
Check whether the remote machine is reachable:

ping -c 4 192.168.1.100
And on the server, check SSH:

systemctl status sshd
Some distributions call the service ssh instead:

systemctl status ssh

24. Samba / Windows Share Problems​

Check whether the server responds:

ping -c 4 SERVER-IP
If smbclient is installed:

smbclient -L //SERVER-IP
To see mounted network filesystems:

findmnt
For CIFS mounts specifically:

findmnt -t cifs
Check the username, permissions, share name and firewall before assuming Samba itself is broken.


25. Useful Linux Troubleshooting Commands – Quick Reference​

These commands are worth saving:

ip addr
ip route
ping -c 4 1.1.1.1
nslookup google.com
lsblk
lsblk -f
df -h
free -h
top
htop
lscpu
lsusb
lspci
findmnt
systemctl --failed
systemctl status SERVICE
journalctl -b -p err
journalctl -u SERVICE
ss -tulpn
cat /etc/os-release
uname -r
You won't need all of them every time.

The important part of troubleshooting Linux is finding out where the problem actually is before trying to fix it.


Before Reinstalling Linux​

A reinstall is rarely the first thing you should try.

Before reinstalling, consider checking:

  • Free disk space
  • Failed systemd services
  • System logs
  • Network configuration
  • DNS
  • Drivers and firmware
  • Disk health
  • Memory
  • Temperatures
  • Recently installed packages
  • Recent system updates
And always back up important files before making major changes.


Asking for Linux Help​

If you're posting a Linux problem on a forum, include as much useful information as possible.

At minimum, tell people:

Linux distribution:

cat /etc/os-release
Kernel:

uname -r
Hardware:

lscpu
lspci
Then include the exact error message and explain what you have already tried.

Screenshots can help, but copying terminal output as text is often even better because other people can search it and quote the relevant lines.

Most importantly, don't just post:

"Linux isn't working."

Tell us what's happening and we'll try to work through it with you.


What Linux problem brought you here?​

Ubuntu, Mint, Debian, Fedora, Manjaro, Arch or something else — post the problem below along with the error message and we'll see if we can get it sorted.

And if you've got a Linux troubleshooting command or fix that has saved you in the past, add it below. It might save somebody else hours of searching.
 
Back
Top