search
HomeSystem TutorialLINUXHow to Fix 'No Space Left on Device” on Root (/) Partition

How to Fix “No Space Left on Device” on Root (/) Partition

One of the most common problems with Linux systems, especially those with limited disk space, is the exhaustion of root partition (/) space.

When this problem occurs, you may encounter the following error:

 <code>No space left on device</code>

Don’t panic! This just means that your root directory (/partition) is full, which is a common problem, especially on systems with limited disk space or servers running 24/7.

When this happens, you may encounter the following problems:

  • The package cannot be installed or upgraded.
  • System startup failed.
  • The service cannot be started.
  • Unable to write to logs or temporary files.

This article walks you through practical steps to identify problems, clean up space safely, and prevent them from happening again. These instructions are for beginners and intermediate users.

Step 1: Check disk usage in Linux

The first step is to confirm the problem using the df command, which will show the used and available space on the root partition. If the usage rate is 100% , then measures need to be taken.

 <code>df -h /</code>

Now let's find which folders take up the most space.

 <code>sudo du -h --max-depth=1 / | sort -hr</code>

This will display / under top-level directories sorted by size.

 <code>/var /usr /home /tmp /opt</code>

Once you have determined the largest directory, you can check it further, for example, if /var is large:

 <code>sudo du -h --max-depth=1 /var | sort -hr</code>

Step 2: Clean up the package cache in Linux

When software is installed or updated, Linux stores the downloaded package files in a local cache. This cache can become very large over time, especially if your system performs frequent updates or installations.

Cleaning this cache is a safe and efficient way to free up space.

 <code>sudo apt clean # Debian/Ubuntu系统sudo dnf clean all # RHEL系列系统</code>

These commands delete all cached package files in /var/cache/apt/archives/ (for APT) and /var/cache/dnf/ (for DNF) that accumulate over time and take up a lot of space.

Step 3: Delete the old kernel in Linux

When your system installs kernel updates, it usually retains the old version to allow recovery if the new version fails. This can take up a lot of space over time, especially in limited capacity /boot .

To free up space on Linux systems, it is best to delete old, unused kernels. However, do not delete the currently running kernel, as this is necessary for system startup and normal operation.

First, check the currently running kernel version.

 <code>uname -r</code>

Then list all installed kernels:

 <code>dpkg --list | grep linux-image # Debian/Ubuntu系统rpm -q kernel # RHEL系列系统</code>

Once you've determined which kernel versions are no longer needed, you can delete them. For example, to remove version 5.15.0-88-generic on Ubuntu.

 <code>sudo apt remove --purge linux-image-5.15.0-88-generic</code>

On RHEL-based systems:

 <code>sudo dnf remove kernel-4.18.0-305.el8.x86_64</code>

After deletion, update the bootloader.

 <code>sudo update-grub</code>

After removing the old kernel, run this command to clean up the remaining packages and dependencies:

 <code>sudo apt autoremove # Debian/Ubuntu系统sudo dnf autoremove # RHEL系列系统</code>

Step 4: Clean up log files in Linux

Linux records system activity and events in log files in the /var/log directory. These logs help system administrators troubleshoot issues, track user activity, and understand system performance.

But over time, they can become very large, especially if:

  • Service crashes repeatedly
  • The system keeps recording debugging or error messages
  • Your disk space is insufficient and the logs are constantly accumulating

If your root partition / full, it is very likely that the logs are taking up a lot of space. Cleaning or shrinking these log files can immediately free up some space and restore your system to normal.

First, run the following command to see how much space is used for each log file or folder:

 <code>sudo du -sh /var/log/*</code>

Once you know which log files are the culprit, you can truncate the log files, which means clearing their contents without deleting the actual files.

 <code>sudo truncate -s 0 /var/log/syslog sudo truncate -s 0 /var/log/kern.log sudo truncate -s 0 /var/log/auth.log</code>

If your system uses journalctl (common in systemd), use the following command to clean the logs:

 <code>sudo journalctl --vacuum-time=7d</code>

This will only keep logs for the past 7 days.

Step 5: Clean Docker in Linux (if installed)

If you are using Docker , it may use a lot of space due to mirrors, containers, and volumes.

Check Docker space usage:

 <code>docker system df</code>

Delete unused Docker data:

 <code>docker system prune -a</code>

Caution: This will delete all unused images, containers, and volumes.

Step 6: Live USB Rescue Method with Root Partition Full

If the system is completely full and unresponsive, you can boot to the Live Linux environment and mount the root partition using Live USB.

 <code>sudo fdisk -l sudo mount /dev/sda1 /mnt # 将sda1替换为您实际的根分区</code>

Browse the file system and delete large files that you don't need.

 <code>cd /mnt sudo du -sh var/* sudo rm -rf var/log/*</code>

Be cautious when deleting files – Avoid deleting critical system files.

Prevent this problem from happening again

Here are some best practices to avoid filling up the root partition:

  • Use separate partitions – Create separate partitions for /var , /home , and /tmp during installation.
  • Monitor Disk Usage – Set up simple monitoring tools such as monit , cron jobs, or email alerts to notify you when disk usage is too high.
  • Schedule a regular cleanup – Create a cron job to clean up logs and caches regularly.
  • Avoid storing large files in / – Store backup files, download files, and media files on mounted external drives or on separate data partitions.
Summarize

When your root partition is full, it can cause serious problems, ranging from package installation failures and service crashes to log errors and even system startup failures. Fortunately, with the correct set of commands and some careful cleaning, you can restore the space and restore the system to normal without reinstalling it.

Have you ever encountered a situation where the root partition (/) is full on your Linux system? What steps have you taken to solve it? Share your experience in the comments below – your tips may help others in the community!

The above is the detailed content of How to Fix 'No Space Left on Device” on Root (/) Partition. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Explain the open-source nature of Linux and how it contrasts with Windows.Explain the open-source nature of Linux and how it contrasts with Windows.Apr 28, 2025 am 12:03 AM

The open source nature of Linux makes it better than Windows in terms of community participation, performance, security, etc., but Windows is better in user-friendliness and software ecosystem. 1) Linux encourages community contribution and has a fast development speed; 2) Better performance in servers and embedded systems; 3) Open source nature makes it safer; 4) Windows user interface is friendly and the software ecosystem is extensive.

Top 5 Linux Tools for Monitoring Disk I/O PerformanceTop 5 Linux Tools for Monitoring Disk I/O PerformanceApr 27, 2025 pm 04:45 PM

This guide explores essential Linux tools for monitoring and troubleshooting disk I/O performance, a crucial metric impacting server speed and application responsiveness. Disk I/O performance directly affects how quickly data is read from and written

4 Ways to Find Plugged USB Device Name in Linux4 Ways to Find Plugged USB Device Name in LinuxApr 27, 2025 pm 04:44 PM

For new Linux users, identifying connected devices is crucial, especially USB drives. This guide provides several command-line methods to determine a USB device's name, essential for tasks like formatting. While USB drives often auto-mount (e.g., /

How to Fix 'No Space Left on Device” on Root (/) PartitionHow to Fix 'No Space Left on Device” on Root (/) PartitionApr 27, 2025 pm 04:43 PM

One of the most common problems with Linux systems, especially those with limited disk space, is the exhaustion of root partition (/) space. When this problem occurs, you may encounter the following error: No space left on device Don’t panic! This just means that your root directory (/partition) is full, which is a common problem, especially on systems with limited disk space or servers running 24/7. When this happens, you may encounter the following problems: The package cannot be installed or upgraded. System startup failed. The service cannot be started. Unable to write to logs or temporary files. This article walks you through practical steps to identify problems, clean up space safely, and prevent them from happening again. These instructions are suitable for beginners

Top 16 Notepad   Replacements for Linux in 2025Top 16 Notepad Replacements for Linux in 2025Apr 27, 2025 pm 04:42 PM

This article explores top-notch Notepad alternatives for Linux users. Notepad , while excellent on Windows, lacks a Linux version. This guide offers a diverse range of options to suit various needs and preferences. Top Notepad Alternatives for

How to Create and Run New Service Units in SystemdHow to Create and Run New Service Units in SystemdApr 27, 2025 pm 04:41 PM

Several days ago, I encountered a 32-bit CentOS 8 distribution and decided to test it on an older 32-bit system. Post-boot, I discovered a network connectivity issue; the connection would drop, requiring manual restoration after each reboot. This pr

How to Check for Bad Sectors on a Hard Disk in LinuxHow to Check for Bad Sectors on a Hard Disk in LinuxApr 27, 2025 pm 04:40 PM

Let's clarify what constitutes a bad sector or bad block: it's a portion of a hard drive or flash memory that's become unreadable or unwritable, typically due to physical damage to the disk surface or malfunctioning flash memory transistors. Accumul

How to Force cp Command to Overwrite Files Without PromptHow to Force cp Command to Overwrite Files Without PromptApr 27, 2025 pm 04:39 PM

The cp command, short for "copy," is a fundamental tool in Linux and other Unix-like systems for duplicating files and directories. While efficient for local file transfers, for network-based copies, scp (secure copy) is preferred due to i

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor