Освободить место на диске от удаленных файлов (deleted) на Linux

Как освободить место на диске Linux от удаленных файлов (deleted)

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

Выглядит это приблизительно так:

Как освободить место на диске Linux от удаленных файлов (deleted)

Как освободить место на диске Linux от удаленных файлов (deleted)

Файлы могут быть визуально удалены, но еще заняты какими-либо процессами. Поэтому их невозможно удалить по-настоящему с диска. Для нахождения таких файлов используйте команду:

# lsof -nP | grep '(deleted)'

Эти файлы почемены как «(deleted)», но до сих пор находятся на диске.

Как освободить место на диске Linux от удаленных файлов (deleted)

Аналогично можно найти с помощью awk:

# find /proc/*/fd -ls 2> /dev/null | awk '/deleted/ {print $11}';

Мы увидим номер процесса и номер файлового дескриптора (fd), который нам и нужен.

Как освободить место на диске Linux от удаленных файлов (deleted)

Вручную можно «освободить» эти файлы так:

# : > /proc/$PROC/fd/$FD

Где $PROC — номер процесса, а $FD — номер файлового дескриптора

Или так:

# > /proc/$PROC/fd/$FD

Или так:

# truncate -s 0 /proc/$PROC/fd/$FD

Чтобы пройтись по всем таким файлам разом, выполняем эту команду ( ВНИМАНИЕ! УБЕДИТЕСЬ В ТОМ, ЧТО ВЫ УВЕРЕНЫ В ТОМ, ЧТО ДЕЛАЕТЕ 🙂 ) :

# find /proc/*/fd -ls 2> /dev/null | awk '/deleted/ {print $11}' | xargs -p -n 1 truncate -s 0

Останется только подтверждать «усечение» кнопками y и Enter.

Освободить место на диске от удаленных файлов (deleted) на Linux

Вот теперь на диске есть столько свободного места, сколько должно быть:

Освободить место на диске от удаленных файлов (deleted) на Linux

Итак, в этой заметке мы рассмотрели как освободить место на диске от удаленных файлов (deleted) на Linux. Если Вам есть чем поделиться по этой теме, пишите в комментариях.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.


Unlix © Все права защищены 2021

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!