Servers & Linux

Guides for Linux servers: boot issues, services, packages, SSH, storage, and permissions. Each includes verification steps.

Common issues

Start here

Best entry points for this topic.

  • Fix Linux that will not boot A Linux system that hangs, shows a kernel panic, or fails to reach a login prompt. This guide helps you check GRUB, try recovery mode, run fsck, rebuild initramfs, and isolate boot loader vs kernel vs filesystem—or escalate when needed.
  • Fix SSH that will not connect SSH connection fails—connection refused, timeout, or permission denied. This guide helps you check sshd is running, firewall allows port 22, keys and permissions, and host key issues—or escalate when needed.
  • Fix a disk that will not mount A Linux disk or partition fails to mount—corrupted filesystem, wrong type, or missing device. This guide helps you check the device is present, run fsck or xfs_repair, confirm fstab and mount point—or escalate when needed.
  • Fix a systemd service that fails A systemd service fails to start—status shows failed, inactive, or the service exits immediately. This guide helps you check systemctl status, journalctl -xe, ExecStart path, unit file, and permissions—or escalate when needed.

All guides

Troubleshooting

  • Fix a cron job that will not run A cron job that does not run or produces no output. This guide helps you check crontab syntax, PATH and environment, permissions, cron daemon status, and logs—or escalate when needed.
  • Fix a disk that shows full but is not A Linux disk that reports full (df -h) but du does not account for the space. This guide helps you find deleted files held open by processes with lsof, free the space by restarting processes or clearing the handles—or escalate when needed.
  • Fix a filesystem that is read-only A Linux filesystem that mounts read-only or refuses writes. This guide helps you confirm the mount state with mount and dmesg, remount read-write when safe, and isolate hardware or kernel causes—or escalate when needed.
  • Fix a firewall that blocks SSH SSH connections time out or fail because the firewall blocks port 22. This guide helps you confirm the block with ssh -v, check ufw or iptables, add an allow rule for port 22, and reload—or escalate when managed.
  • Fix a group that will not add user Adding a user to a Linux group fails with an error or the group change does not apply. This guide helps you check the group exists, confirm usermod syntax, verify group membership and groupadd, and fix NSS/SSSD when LDAP groups are involved—or escalate when needed.
  • Fix a Linux server that has disk full A Linux server drive that reports no free space or very little. This guide helps you find large files with du, clear logs and temp, remove old packages, and expand storage—or escalate when needed.
  • Fix a Linux server that has full inode A Linux filesystem that reports free space but writes fail with "No space left on device"—inodes are exhausted. This guide helps you confirm with df -i, find directories with many small files, and clean or archive them—or escalate when needed.
  • Fix a Linux server that has permission denied A Linux server where files or commands fail with "Permission denied." This guide helps you check ownership with ls -la, fix permissions with chmod and chown, confirm SELinux or AppArmor, and use sudo when needed—or escalate when needed.
  • Fix a Linux server that runs out of memory A Linux server that runs out of memory—OOM killer, swap thrashing, or processes killed. This guide helps you check memory with free, identify top processes, add swap, and tune limits—or escalate when needed.
  • Fix a Linux server that will not start service A systemd service that fails to start—status shows failed, inactive, or the service exits immediately. This guide helps you check status with systemctl, read logs with journalctl, fix config and permissions, and resolve dependencies—or escalate when needed.
  • Fix a log that fills disk Logs that consume disk space on a Linux server. This guide helps you find large logs with du -sh /var/log, shrink the journal with journalctl --vacuum-size, configure logrotate, and free space—or escalate when needed.
  • Fix a mount that will not work A Linux mount fails—wrong fstab entry, missing device, or filesystem errors. This guide helps you check the device exists, fstab syntax, filesystem type, and fsck when needed—or escalate when needed.
  • Fix a service that will not start on boot A systemd service that runs when started manually but does not start after reboot. This guide helps you check systemctl enable, systemctl status, journalctl logs, and unit file WantedBy—or escalate when needed.
  • Fix a slow SSH connection SSH connects but is slow—long delays before login or between commands. This guide helps you run ssh -v to find the bottleneck, disable GSSAPI and DNS lookups that add latency, and tune connection options—or escalate when needed.
  • Fix a user that cannot log in A Linux user who cannot log in—wrong password, locked account, or SSH/key issues. This guide helps you check the account exists, password expiry, PAM config, and SSH authorized_keys—or escalate when needed.
  • Fix an SSH key that will not work SSH key authentication fails—Permission denied (publickey) or key refused. This guide helps you check the key exists, permissions, that the public key is on the server, and the correct key is used—or escalate when needed.
  • Fix Apache that will not start Apache (httpd) fails to start or exits immediately. This guide helps you check config with apachectl configtest, inspect status with systemctl status apache2, read logs with journalctl, fix syntax and permission errors, and resolve port conflicts—or escalate when needed.
  • Fix apt that will not update Troubleshoot and fix apt update failures on Debian/Ubuntu: check network connectivity, verify sources.list, fix repository errors, and resolve lock or permission issues.
  • Fix dnf that will not install dnf install fails or hangs. This guide helps you check connectivity, repo config, disk space, and locks—then fix repo URLs, GPG keys, or metadata—or escalate when needed.
  • Fix dual boot that lost Windows After installing Linux, Windows no longer appears in the boot menu or GRUB skips it. This guide helps you check GRUB config, add a Windows entry, run os-prober, and fix the boot order—or escalate when needed.
  • Fix GRUB that will not boot GRUB does not appear, shows a black screen, or errors like "file not found." This guide helps you check GRUB, boot from live USB, chroot into the system, reinstall GRUB, and update the config—or escalate when needed.
  • Fix gzip that fails Identify and fix gzip failures: test archive integrity with gzip -t, check disk space, and handle corrupted files. Common causes include truncated downloads, full disk, or bad blocks.
  • Fix iptables that blocks traffic iptables blocks traffic so a service cannot accept connections or reach the network. This guide helps you confirm the block, check iptables rules, add an allow rule, save, and verify—or escalate when managed.
  • Fix Linux that has permission denied Linux where files or commands fail with "Permission denied." This guide helps you check ownership with ls -la, fix permissions with chmod and chown, confirm SELinux or AppArmor, and use sudo when needed—or escalate when needed.
  • Fix Linux that runs out of disk A Linux system that reports no free space or very little. This guide helps you find large files with du, clear logs and temp, remove old packages, and expand storage—or escalate when needed.
  • Fix LVM that will not extend LVM that fails to extend a logical volume or does not see new space. This guide helps you confirm free space in the volume group, extend the physical volume and volume group, then resize the logical volume and filesystem—or escalate when needed.
  • Fix MySQL that will not start MySQL or MariaDB fails to start on Linux. This guide helps you check systemctl status mysql, journalctl -u mysql, the MySQL error log, config and permissions, disk space, and port conflicts—or escalate when needed.
  • Fix nftables that will not load nftables fails to load rules or the service will not start. This guide helps you check the error message, validate the ruleset, fix syntax errors, and load the rules—or escalate when managed.
  • Fix Nginx that will not start Nginx fails to start or exits immediately. This guide helps you check config with nginx -t, inspect status with systemctl status nginx, read logs with journalctl, fix syntax and permission errors, and resolve port conflicts—or escalate when needed.
  • Fix out-of-memory error on a server Out-of-memory errors or OOM killer activity on a Linux server. This guide helps you confirm memory state with free -h, check dmesg for OOM killer messages, identify the victim process, add swap or tune limits—or escalate when needed.
  • Fix pip that will not install pip install fails or hangs. This guide helps you run pip install -v for verbose output, check network and SSL, fix trusted hosts or certificates—or escalate when needed.
  • Fix PostgreSQL that will not start PostgreSQL fails to start on Linux. This guide helps you check systemctl status postgresql, journalctl -u postgresql, pg_log, config and permissions, disk space, and port conflicts—or escalate when needed.
  • Fix RAID that is rebuilding A Linux RAID array that is rebuilding or stuck in rebuild. This guide helps you confirm rebuild status with mdadm, monitor progress, avoid interrupting the rebuild, and troubleshoot when rebuild stalls or fails—or escalate when needed.
  • Fix Redis that will not start Redis fails to start or exits immediately. This guide helps you check systemctl status redis, journalctl logs, redis-cli ping, config and permissions—or escalate when needed.
  • Fix rsync that fails Rsync fails during copy or sync. This guide helps you capture verbose output with rsync -avv, check permissions and disk space, fix SSH connectivity, and resolve common failure causes.
  • Fix SELinux that blocks an action SELinux blocks a file access, port binding, or other action with "Permission denied" or AVC denials. This guide helps you confirm SELinux is the cause, check logs, fix context or policy, and test—or escalate when needed.
  • Fix sudo that says user is not in sudoers sudo reports "user is not in the sudoers file" or "not allowed to execute". This guide helps you check the user is in the sudo/wheel group, the sudoers file syntax, and NOPASSWD rules—or escalate when root access is required.
  • Fix swap that is full Swap space that is fully used on a Linux server. This guide helps you confirm usage with free -h, check swap devices with swapon, tune vm.swappiness, add swap if needed, and address memory pressure—or escalate when needed.
  • Fix tar that runs out of space Tar extraction fails with "No space left on device". This guide helps you check free space with df -h, size archives with du -sh, choose the right extraction path, and free space before retrying.
  • Fix UFW that blocks a port UFW blocks a port so a service cannot accept connections. This guide helps you confirm the port is blocked, check ufw status, add an allow rule, reload, and verify—or escalate when managed.
  • Fix yum that will not update yum update fails or hangs. This guide helps you check connectivity, repo config, disk space, and locks—then fix repo URLs, GPG keys, or metadata—or escalate when needed.
  • Fix ZFS that runs out of space A ZFS pool or dataset that runs out of space or reports quota exceeded. This guide helps you confirm usage with zfs list and zpool list, set or adjust quotas and reservations, clear snapshots, and add vdevs when the pool is full—or escalate when needed.