Linux file space left

Ошибка no space left on device в Linux

Ошибка no space left on device в Linux может возникать при использовании различных программ или сервисов. В графических программах данная ошибка может выводится во всплывающем сообщении, а для сервисов она обычно появляется в логах. Во всех случаях она означает одно. На разделе диска, куда программа собирается писать свои данные закончилось свободное место.

Избежать такой проблемы можно ещё на этапе планирования установки системы. Выделяйте под каталог /home отдельный раздел диска, тогда если вы займете всю память своими файлами, это не помешает работе системы. Также выделяйте больше 20 гигабайт под корневой раздел чтобы всем программам точно хватило места. Но что делать если такая проблема уже случилась? Давайте рассмотрим как освободить место на диске с Linux.

Как исправить no space left on device

Первым дело надо понять на каком разделе у вас закончилась память. Для этого можно воспользоваться утилитой df. Она поставляется вместе с системой, поэтому никаких проблем с её запуском быть не должно:

На точки монтирования, начинающиеся со слова snap внимания можно не обращать. Команда отображает общее количество места на диске, занятое и доступное место, а также процент занятого места. В данном случае 100% занято для корневого раздела — /dev/sda5. Конечно, надо разобраться какая программа или файл заняла всё место и устранить эту проблему, но сначала надо вернуть систему в рабочее состояние. Для этого надо освободить немного места. Рассмотрим что можно сделать чтобы экстренно освободить немного памяти.

1. Отключить зарезервированное место для root

Обычно, у всех файловых систем семейства Ext, которые принято использовать чаще всего как для корневого, так и для домашнего раздела используется резервирование 5% памяти для пользователя root на случай если на диске закончится место. Вы можете эту память освободить и использовать. Для этого выполните:

Здесь опция -m указывает процент зарезервированного места, а /dev/sda5 — это ваш диск, который надо настроить. После этого места должно стать больше.

2. Очистить кэш пакетного менеджера

Обычно, пакетный менеджер, будь то apt или yum хранит кэш пакетов, репозиториев и другие временные файлы на диске. Они некоторые из них ненужны, а некоторые нужны, но их можно скачать при необходимости. Если вам срочно надо дисковое пространство этот кэш можно почистить. Для очистки кэша apt выполните:

sudo apt clean
sudo apt autoclean

Для очистки кэша yum используйте команды:

3. Очистить кэш файловой системы

Вы могли удалить некоторые большие файлы, но память после этого так и не освободилась. Эта проблема актуальна для серверов, которые работают долгое время без перезагрузки. Чтобы полностью освободить память надо перезагрузить сервер. Просто перезагрузите его и места на диске станет больше.

Читайте также:  Android x86 linux kernel

4. Найти большие файлы

После выполнения всех перечисленных выше рекомендаций, у вас уже должно быть достаточно свободного места для установки специальных утилит очистки системы. Для начала вы можете попытаться найти самые большие файлы и если они не нужны — удалить их. Возможно какая-либо программа создала огромный лог файл, который занял всю память. Чтобы узнать что занимает место на диске Linux можно использовать утилиту ncdu:

Она сканирует все файлы и отображает их по размеру:

Более подробно про поиск больших файлов читайте в отдельной статье.

5. Найти дубликаты файлов

С помощью утилиты BleachBit вы можете найти и удалить дубликаты файлов. Это тоже поможет сэкономить пространство на диске.

6. Удалите старые ядра

Ядро Linux довольно часто обновляется старые ядра остаются в каталоге /boot и занимают место. Если вы выделили под этот каталог отдельный раздел, то скоро это может стать проблемой и вы получите ошибку при обновлении, поскольку программа просто не сможет записать в этот каталог новое ядро. Решение простое — удалить старые версии ядер, которые больше не нужны.

Выводы

Теперь вы знаете почему возникает ошибка No space left on device, как её предотвратить и как исправить если с вами это уже произошло. Освободить место на диске с Linux не так уж сложно, но надо понять в чём была причина того, что всё место занято и исправить её, ведь на следующий раз не все эти методы смогут помочь.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

How to Fix the “No space left on device” Error in Linux

If you are a Linux user, you may have encountered the “No space left on device” error message when trying to save, create, or install something on your system. This error message can be frustrating and confusing, especially if you are not familiar with the underlying cause of the issue.

In this article, we will explain what causes the “No space left on device” error in Linux and provide step-by-step instructions on how to fix it.

What Causes the “No Space Left on Device” Error in Linux?

The “No space left on device” error in Linux occurs when your system has run out of disk space. This error can happen for multiple reasons some of them are:

Now that we understand the cause of the “No space left on device” error, let’s dive into how to fix it.

How to Fix the “No space left on device” Error in Linux?

There are several reasons related to the storage that cause this error. Let’s discuss them one by one and their respective solutions.

Reason 1: Deleted Files Taking up Space

When we delete a file from a Linux system the space taken by the file is not automatically released by the system. As a result, the space keeps getting filled up with deleted files, causing the system to run out of space.

Solution: Free up the Occupied Storage

The best solution to this problem is to release the storage space occupied by deleted files. Now list all the deleted processes using the command below:

Once you have identified the deleted processes, you can release the storage space by performing a reload using the command below:

This command will ensure that the system releases the storage space for any deleted files.

Reason 2: Temporary Files Taking Space

A large number of temporary files accumulate over time, consuming disk space. To delete these temporary files, follow the given solution.

Solution: Clean Up Temporary Files

This command will give us the size of files that are stored in a temporary directory.

Читайте также:  Узнать размер файла линукс

Run the below mentioned command to delete all files stored inside the temporary directory.

To confirm all the files got deleted again run the command:

Reason 3: Corrupted Blocks

Over time, unused storage blocks or other reasons can cause blocks to become corrupted, which the operating system will no longer recognize. This can result in the “No space left on device” error.

Solution: Repair the Corrupted Blocks

To resolve this issue, you need to mark the corrupted blocks as unusable so that the operating system can recognize them and repair them. Below command will give us list of the blocks:

To mark the corrupted blocks as unusable so system can recognize them, use the fsck command to check and repair the Linux filesystems:

Run given below command to check the device name:

Following result about system devices will appear showing us the size used by devices:

Alternatively, you can also use following command to check the current size of different partition:

This command will show you the disk usage of all the partitions in your system. Identify which partition has low disk space.

Type the following command and replace “/dev/sda2” with the partition name you want to check, and press Enter:

This command will check and repair the file system.

Note: By marking the corrupted blocks, your data will be reallocated from those blocks, and the system will perform a check on these sectors. This will replace all the corrupted blocks with functioning ones. The fsck command cannot be executed on the same filesystem being tested, so use a live CD to perform this task.

Reason 4: Limited Inode Count

Inodes are data structures used by the file system to store information about files and directories. Whenever a system runs out of disk space it also runs out of inodes.

Solution: Increase Inode Count

Find the current inodes count using command:

It is important to ensure that the column for available Inodes (Ifree) is not at zero. When all Inodes are used up, it is necessary to delete some old files from the base directory associated with the file location (Filesystem) to free up space.

Conclusion

The “No space left on device” error can occur in Linux because of corrupted blocks or deleted files that are still stored in the system. The first solution involves performing a daemon-reload, which releases the storage space that is being occupied by deleted files. The second solution is to use the fsck command to mark corrupted storage blocks as unusable, allowing the Linux OS to recognize them and repair them. By using these methods, you can resolve this error and avoid any issues related to storage space in the future.

About the author

Kashif

I am an Electrical Engineer. I love to write about electronics. I am passionate about writing and sharing new ideas related to emerging technologies in the field of electronics.

Источник

How to Fix “No Space Left on Device” Error on Linux

One of the primary reasons why most users resort to Linux as their primary operating system is how specific it is with its error messages. Whether you are running an installation command for an application package or trying to configure something on the operating system environment, computing errors are bound to occur. Using a Linux OS ensures that you will always be pointed to a fixable cause of such errors.

However, not all errors are straightforward. Some require a bit of technical expertise in order to solve them. This article will walk us through the “no space left on device” error and also evaluate possible solutions to fix it in Linux. We are bound to run into this error even if we are certain our Linux system has plenty of disk space left.

Читайте также:  Linux отличие от window

Be Certain of the Space Left on the Device

While the Linux GUI environments like GNOME and KDE might reliably help us determine and confirm the amount of free space on our device, using the command-line environment makes things faster and more precise.

Firstly, Use the Linux df Command

The df command is part of the GNU Coreutils package and primarily outputs an estimate/summary report of the Linux system’s disk space usage statistics.

Its reference syntax is as follows:

In our case, its usage implementation will require us to run the command as a root user and also include the command options -h (make the output disk usage report human-readable).

List Linux Disk Space Usage

If necessary, the df command needs to point to the base directory (under / directory) portraying disk space issues.

$ sudo df -h / $ sudo df -h /home

Check Linux Disk Space Usage

Secondly, Use the Linux du Command

The du command is also part of the GNU Coreutils package and primarily estimates the Linux system’s file space usage. It has a similar syntax to the df command.

We need to run it to compare its output to that of the df command.

$ sudo du -sh / $ sudo du -sh /home

List Linux File Disk Space Usage

The usage report from the du command should not be far apart from the usage report from the df command. If you notice some discrepancies between the output of these two commands, then we can jump into some solutions.

Solution 1: Processes Using Deleted Files

When a process is still using a file and that file gets deleted by the user, the storage space associated with that file is not released by the operating system. A cure to this problem is to locate the vigilante process and restart it.

The lsof command lists all processes associated with deleted files in the base directory / .

List Open Files in Linux

Perform a full daemon-reload to release the storage associated with the deleted files linked to the named processes.

$ sudo systemctl daemon-reload

Solution 2: Not Enough Inodes in Linux

These filesystems’ metadata sets keep track of all the Linux files. The number of Inodes assigned to these filesystems is usually fixed. Check the Inodes with the following df command.

List Linux Inodes

The column for available Inodes (Ifree) should not be zero. If all the Inodes are used, then some out-of-date files need to be deleted from the base directory (Mounted on) associated with the file location (Filesystem).

Solution 3: Bad Blocks in Linux

Bad filesystem blocks are a result of corrupt filesystems that have become unattended over an extended period of time. Bad blocks can lead to dead hard drives which are still recognized by the OS as usable space.

For the Linux OS to recognize these blocks as unusable, we will need to mark them as unusable via the fsck command for checking and repairing Linux filesystems.

$ sudo fsck -vcck DEVICE_NAME

check for DEVICE_NAME with the command:

Check Linux Device Name

If you mark bad blocks on the filesystem of the Linux OS you are currently using, boot into the Linux OS from a Live CD or bootable usb drive before executing the above fsck command.

Hope these solutions help you get rid of the annoying no space left on device error on your Linux OS.

Источник

Оцените статью
Adblock
detector