← До фільтрів та технологій

← До списку лабораторних по Linux

Linux Лабораторна 35: Відкриті файли та заблоковані диски

Технологія: Linux

Номер лабораторної: 35 · Рівень: middle

Тема: Робота з відкритими файлами через lsof

Повний опис / сценарій лабораторної:

Мета: навчитися використовувати lsof для пошуку процесів які заважають відмонтувати диск або видалити файл.



Крок 1. Встановити lsof якщо він відсутній.

Команда: sudo apt install lsof або інший пакет



Крок 2. Переглянути кількість відкритих файлів у системі.

Команда: sudo lsof | wc -l

Пояснення: оцініть загальну кількість дескрипторів.



Крок 3. Створити тестовий файл та відкрити його у іншому терміналі через less.

Команди: echo TEST > ~/lsof_test.txt; less ~/lsof_test.txt

Пояснення: залиште less відкритим.



Крок 4. Знайти хто тримає файл відкритим.

Команда: lsof ~/lsof_test.txt

Пояснення: вивід має показати процес less та його pid.



Крок 5. Закрити less та повторити команду.

Команда: lsof ~/lsof_test.txt

Пояснення: список має бути порожнім.



Крок 6. Знайти процеси які використовують конкретний диск або точку монтування.

Команда: sudo lsof +f -- /mnt або інша точка монтування

Пояснення: корисно перед спробою umount.



Крок 7. Спробувати відмонтувати зайняту файлову систему та побачити помилку busy.

Пояснення: зробіть це на тестовому диску, не на системному.



Крок 8. Через lsof знайти процес який блокує розділ та завершити його.

Команда: sudo kill pid

Пояснення: після завершення процесу unmount має пройти успішно.



Крок 9. Повторити umount та переконатися що він спрацював.

Команда: sudo umount /mnt/тест



Крок 10. Міні звіт.

Завдання: опишіть як ви використовуватимете lsof щоб знайти процес який тримає лог файл і не дає logrotate перейменувати його.