понедельник, 3 февраля 2025 г.

Linux После удаления место не освободилось

 
 Такое случается на Linux, только обычно этого не кто не замечает так как файлы обычно малого объема, да и перезагрузка машины решает эту проблему, но когда файл большой (несколько ГБ) и место не освободилось сразу, а еще и перезагрузить нельзя, тогда приходится засучить рукава и разбираться в мат части

df -h

Показало, что мало место, путем поиска du -d1 -h находим источник занятого места. В моем случае это -  kamailio.log

Решение:

# lsof | grep deleted | grep kamailio
rsyslogd    1155                 root    6w      REG              253,4 3040190464      10981 /var/log/kamailio/kamailio.log (deleted)
in:imjour   1155  1172           root    6w      REG              253,4 3040190464      10981 /var/log/kamailio/kamailio.log (deleted)
rs:main     1155  1187           root    6w      REG              253,4 3040190464      10981 /var/log/kamailio/kamailio.log (deleted)

Интересным в этом выводе будет цифра 1155. Ищем ссылку на типа /proc/*наш id*/fd/*ссылка на файл*

# ls -l /proc/1155/fd|grep kamailio
l-wx------ 1 root root 64 Feb  2 11:10 6 -> /var/log/kamailio/kamailio.log (deleted)

Собственно временный файл найден, обнуляем

cat /dev/null > /proc/1155/fd/6

таким образом можно восстановить удаленный файл linux из временного

Linux После удаления место не освободилось

   Такое случается на Linux, только обычно этого не кто не замечает так как файлы обычно малого объема, да и перезагрузка машины решает эту ...