Як очистити кеш і тимчасові файли в Linux?

Якщо Linux гальмує або бракує місця, причина може бути в кеші, логах і тимчасових файлах. Усе це поступово займає простір і може впливати на стабільність та швидкість роботи.

У гайді розкажемо, як очистити систему вручну: звільнити диск, зменшити навантаження й повернути нормальну швидкість роботи.

Чому варто очищувати систему?

Коли система починає працювати повільніше, виникає підозра — невистачає оперативної пам’яті або сталось перевантаження процесора. Але часто проблема банальна: диск заповнений. Це можуть бути:

  • кеш установлених пакетів;
  • сторінки PageCache (дані, які система зберігає в оперативці);
  • тимчасові файли з /tmp або /var/tmp;
  • файли кешу браузера та мініатюри зображень.

Такі файли не потрібні щодня, але постійно накопичуються. Якщо ти рідко перезавантажуєш комп’ютер або працюєш із сервером, ці залишки не зникають автоматично. Вони перевантажують файлову систему кореневого розділу, а це — прямий шлях до проблем.

Очищення кешу пакетів

Під час встановлення програм менеджер зберігає інсталяційні файли на диск. Такі архіви накопичуються і залишаються навіть після оновлень.

У більшості систем очистити кеш можна однією командою:

sudo apt-get clean

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

Очищення кешу в оперативній пам’яті

Кеш у RAM (зокрема PageCache) зберігає недавно використані дані, щоб пришвидшити доступ без повторного читання з диска.

Linux автоматично керує кешем у RAM, вивільняючи його за потреби. Проте в деяких випадках (наприклад, під час тестування або усунення збоїв) його можна очистити вручну.

Перед очищенням слід записати всі буфери на диск за допомогою sync.

Потім виконай команду:

sudo sysctl vm.drop_caches=1      # PageCache

sudo sysctl vm.drop_caches=2      # dentries і inodes

sudo sysctl vm.drop_caches=3      # усе разом

Ці дії не видаляють дані й не шкодять файловій системі. Проте очищення кешу в оперативній пам’яті рекомендується лише в деяких випадках. Наприклад, коли потрібно провести діагностику.

Очищення користувацького кешу

Більшість програм зберігають кешовані файли у каталозі ~/.cache. Тут накопичуються тимчасові дані браузерів, IDE, пакетних менеджерів і різноманітних десктопних застосунків.

Щоб перевірити, скільки місця вони займають виконай це:

du -sh ~/.cache

Для повного очищення виконай команду:

rm -rf ~/.cache/*

Перед видаленням переконайся, що тобі не потрібні ці файли. Деякі програми після цього можуть втратити частину налаштувань або відновити їх до стандартних. 

Якщо сумніваєшся — спробуй спочатку видалити кеш конкретної програми.

Також можна видалити мініатюри зображень, які створюються автоматично у файлових менеджерах:

rm -rf ~/.thumbnails

Це звільнить простір і прискорить запуск деяких програм.

Робота з тимчасовими файлами

Системи збереження тимчасових файлів — це /tmp і /var/tmp. У цих каталогах зберігаються тимчасові дані застосунків, інсталяторів програм і резервні копії.

Перевір, скільки вони займають місця:

ls -lh /tmp/

ls -lh /var/tmp/

Очистити вміст можна вручну:

sudo rm -rf /tmp/*

sudo rm -rf /var/tmp/*

Зверни увагу: /tmp часто очищається при перезавантаженні, а /var/tmp — лише відповідно до політики системи.

У більшості сучасних дистрибутивів ці каталоги очищаються автоматично через systemd-tmpfiles.

Налаштувати розклад можна в:

sudo nano /usr/lib/systemd/system/systemd-tmpfiles-clean.timer

Хочеш змінити частоту, з якою система очищує тимчасові файли? Відкрий налаштування таймера:

sudo systemctl daemon-reload

sudo systemctl enable --now systemd-tmpfiles-clean.timer

Очищення логів

Логи важливі для моніторингу й діагностики, але з часом їх обсяг може значно зрости. Особливо це стосується стиснених або архівованих файлів у каталозі /var/log.

Очистити їх можна за допомогою цієї команди:

find /var/log \( -name "*.[0-9]" -o -name "*.gz" \) -exec rm {} \;

Замість видалення активних логів — краще обнулити їхній вміст:

find /var/log/ -type f -name "*log" -exec cp /dev/null {} \;

У системах на базі systemd логи також веде journald. Його можна очистити, наприклад, так:

sudo journalctl --vacuum-time=7d

Це видалить журнали, яким понад 7 днів.

Щоб не запускати очищення вручну, варто додати відповідні команди до crontab або створити окремі скрипти для регулярного прибирання.

Видалення ядер

Якщо регулярно оновлюєш систему, але не видаляєш застарілі версії ядра, вони накопичуються і поступово заповнюють розділ /boot. Це може спричинити проблеми під час оновлення або встановлення нових пакетів.

Виконай, щоб перевірити, які версії ядра встановлені:

ls /boot | grep vmlinuz

Залиши лише поточне активне ядро (перевірити можна командою uname -r) та одне резервне — інші можна сміливо видалити через менеджера пакетів. Важливо переконатися, що ти не видаляєш те, яке зараз використовується системою.

Підсумок

Linux частково очищає систему автоматично. Але ручна перевірка кешу, тимчасових файлів та логів — надійний спосіб підтримувати стабільну та продуктивну роботу.

Хочеш розібратись у структурі Linux на практиці? Переходь на авторський курс від ITEDU та реєструйся.

Залишити відповідь

Дякуємо, що поділились