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 boot: GRUB, recovery mode, fsck, initramfs repair Linux stops at GRUB or kernel. Try recovery kernel, fsck root from live USB, rebuild initramfs, reinstall GRUB if needed.
- Fix SSH not connecting: sshd, port 22, firewall, keys Connection refused or timeout. Check sshd and ss -tlnp, open firewall 22, verify keys and known_hosts—host keys change after reinstall.
- 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 firewall that blocks port A Linux firewall blocking a port so a service cannot accept connections. This guide helps you confirm the port is blocked, check ufw or firewalld or iptables, add an allow rule, and reload—or escalate when managed.
- 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 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 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 httpd that will not start or exits immediately Run apachectl configtest, read journalctl and error.log, fix syntax and Includes, resolve port conflicts, fix permissions, then escalate if 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 degraded RAID: identify drive, replace, rebuild array RAID degraded: find failed disk in BIOS or software, replace with same size and type, rebuild without removing healthy disks—restore backup if multiple disks fail.
- 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 full Linux swap: free, swappiness, swapfile, RAM leak Swap at 100%. Run free -h and swapon --show, lower vm.swappiness, add a swap file, find runaway process—add RAM if always under memory pressure.
- Fix GRUB boot: live USB, grub-install, update-grub, firmware No GRUB menu or boot errors. Live USB, chroot install, grub-install and update-grub for BIOS or UEFI, then SMART if boot still fails.
- Fix gzip errors: gzip -t, disk space, redownload archives gzip or gunzip fails. Run gzip -t, free disk space with df -h, re-download truncated archives, try another mirror if CRC errors persist.
- 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 login fail: getent, chage lock, PAM, SSH keys Password rejected or account locked. Check getent and chage, read auth.log, fix authorized_keys perms—admin resets if LDAP or SSO.
- 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 logs filling disk: du, journal vacuum, logrotate, df /var/log or systemd journal grows huge. Use du to find files, journalctl vacuum, tune logrotate, confirm df -h after cleanup.
- Fix LVM will not extend: VG free, PV, LV, filesystem lvextend fails or shows zero free in VG. Add partition, pvcreate and vgextend, lvextend the LV, then resize2fs or xfs_growfs safely.
- Fix MySQL not starting: systemctl, journal, error log, disk mysqld exits on Linux. Read systemctl and journalctl, tail error log, fix my.cnf syntax, free disk, fix datadir permissions.
- 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 not starting: nginx -t, ports 80/443, permissions nginx fails after edit. Run nginx -t, read journalctl, free ports eighty and four forty-three, fix include file permissions.
- 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 install fails: verbose SSL, index URL, venv pip install errors or hangs. Run pip -v, check PyPI reachability and SSL, use trusted-host or venv—proxy or enterprise index may need admin.
- 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 Redis not starting: systemctl, journalctl, redis.conf redis-server exits or fails to bind. Read systemctl and journalctl, fix bind, port, and dir permissions in redis.conf—escalate on persistent data corruption.
- Fix rsync failure: -avv, disk space, perms, SSH Sync stops with errors. Run rsync -avv, check df -h both sides, fix chmod ownership, test SSH before remote—sudo only when appropriate.
- 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 slow SSH: verbose trace, GSSAPI off, UseDNS no Long pause before shell. Read ssh -v for delays; set GSSAPIAuthentication no and server UseDNS no; Compression yes on slow links.
- Fix stuck RAID rebuild: mdstat, dmesg, smartctl, wait Linux mdadm rebuild slow or stalled. Watch /proc/mdstat, read dmesg for I/O errors, check SMART—replace failing disk; never power off mid-rebuild.
- 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 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 blocks port: status numbered, allow, reload, nc test Service listens but clients time out. Run ufw status numbered, add allow for tcp/udp, reload—ask admin on managed hosts.
- Fix yum update fails: repo URL, mirror, GPG, lockfile RHEL or CentOS yum errors. Ping mirror, fix baseurl in /etc/yum.repos.d, rpm --import key, remove stale lock under /var/run.
- 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.