Немає місця в кореневому розділі Linux: що робити?

Одна з найпоширеніших проблем, з якою стикаються користувачі Linux — це заповнення кореневого розділу (/
).
Система вирішила повідомити про це через відмову встановлювати пакети, запускати сервіси або писати логи. Тому зараз ми покажемо, як швидко і безпечно звільнити місце.
Крок 1: перевірка використання диска
Починаємо з діагностики: потрібно з’ясувати, чи справді проблема в нестачі місця на кореневому розділі. Для цього використовуємо команду:
df -h /
Вона покаже, скільки простору вже зайнято, а скільки ще доступно. Якщо бачиш 100% — пора діяти.
Далі з’ясовуємо, які саме каталоги займають найбільше місця. Для цього запусти:
sudo du -h --max-depth=1 / | sort -hr
Ця команда виведе список усіх верхньорівневих директорій у корені (/
), відсортованих за розміром — від найбільших до найменших. Зазвичай серед «велетнів» будуть:
/var
/usr
/home
/tmp
/opt
Тепер варто дослідити це детальніше. Наприклад, якщо найбільшим виявився /var
, виконуємо:
sudo du -h --max-depth=1 /var | sort -hr
Так ти доберешся до джерела проблеми, перш ніж почнеш чистку.
Крок 2: очищення кешу пакетів
Linux досить розумна система, і щоб не завантажувати одне й те саме кожного разу, вона зберігає всі встановлені та оновлені пакети у локальний кеш. Але з часом цей кеш може розростися до гігантських розмірів — особливо якщо система часто оновлюється.
На щастя, очищення цього кешу — абсолютно безпечна й ефективна операція для звільнення місця.
Використовуємо команду залежно від твого дистрибутиву:
- Для Debian/Ubuntu:
sudo apt clean
- Для RHEL/CentOS/Fedora:
sudo dnf clean all
Ці команди очистять локальний кеш пакетів, що зберігається у:
/var/cache/apt/archives/
(APT),/var/cache/dnf/
(DNF).
Якщо твоя система працює вже давно або часто отримує оновлення — різницю після очищення ти точно помітиш.
Крок 3: видалення старих ядер
Linux зазвичай зберігає старі версії ядра після оновлень — на випадок, якщо щось піде не так із новою версією. Це корисно, однак з часом такі запаси починають займати чимало місця, особливо в розділі /boot
, де простору обмаль.
Щоб звільнити місце, можна сміливо видалити старі ядра, які не використовуються. Але будь уважним: не чіпай ядро, яке працює зараз, бо без нього система просто не завантажиться.
Спершу дізнайся, яке ядро юзається:
uname -r
Тепер подивись список встановлених ядер:
- Для Debian/Ubuntu:
dpkg --list | grep linux-image
- Для RHEL/CentOS/Fedora:
rpm -q kernel
Побачив старі версії? Видаляй обережно, залишаючи поточне ядро.
- В Ubuntu приклад видалення ядра:
sudo apt remove --purge linux-image-5.15.0-88-generic
- У RHEL-подібних системах:
sudo dnf remove kernel-4.18.0-305.el8.x86_64
Після видалення не забудь оновити завантажувач:
sudo update-grub
І наостанок — видали зайві залежності:
- Для Debian/Ubuntu:
sudo apt autoremove
- Для RHEL/CentOS/Fedora:
sudo dnf autoremove
Крок 4: очищення лог-файлів
У Linux все, що відбувається в системі, фіксується в логах — це як щоденник роботи системи. Вони зберігаються в каталозі /var/log
та допомагають розбиратись у помилках, моніторити сервіси й користувачів.
Але є нюанс: якщо якась служба крашиться або постійно пише помилки, ці логи швидко розростаються. А коли місця мало, вони можуть займати критично багато простору.
Спершу перевір, які саме логи займають найбільше місця:
sudo du -sh /var/log/*
Далі можна обнулити вміст окремих великих лог-файлів. Це безпечно — файл залишиться на місці, просто стане порожнім:
sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/kern.log
sudo truncate -s 0 /var/log/auth.log
Якщо твоя система працює на systemd, то для очищення логів краще скористатись:
sudo journalctl --vacuum-time=7d
Ця команда залишить тільки логи за останні 7 днів. І часто цього більш ніж достатньо.
Крок 5: очищення Docker у Linux
Якщо ти використовуєш Docker — є велика ймовірність, що саме він забрав чималу частину диска. Контейнери, образи, томи — все це накопичується, навіть якщо ти вже давно нічого не запускав.
Спочатку перевір, скільки він займає місця:
docker system df
Якщо бачиш багато зайвого, видали все, що не використовується:
docker system prune -a
Уважно: ця команда видаляє все, що не використовується прямо зараз — образи, контейнери й томи. Якщо ти не запускав їх вручну або вони неактивні — вони будуть видалені. Будь обережним, щоб не втратити щось важливе.
Крок 6: на випадок, якщо система не запускається
Буває, що кореневий розділ заповнений настільки, що система просто перестає реагувати: не вантажиться, не дає залогінитись і нічого не працює. У такому випадку скористайся Live USB, щоб отримати доступ до кореневого розділу через Live Linux.
sudo fdisk -l
sudo mount /dev/sda1 /mnt
# заміни sda1 на свій кореневий розділ
Перейди в цю файлову систему:
cd /mnt
Подивись, що займає найбільше місця:
sudo du -sh var/*
І, якщо треба, обережно видали найбільші логи або інші непотрібні дані:
sudo rm -rf var/log/*
Обережно: не видаляй системні файли — краще обмежся логами, кешем або тимчасовими файлами. І завжди перевір, що саме ти збираєшся стерти.
Як не потрапити в таку ситуацію знову?
Почистити кореневий розділ — це добре. Але ще краще зробити так, щоб більше до цього не повертатись.
Ось кілька порад, як уникнути такої ситуації:
- Використовуй окремі розділи
Під час встановлення системи створи окремі розділи для:
/var
— тут зберігаються логи та кеш/home
— для особистих файлів/tmp
— для тимчасових даних
- Слідкуй за диском
Використовуй прості інструменти моніторингу, як-от monit
, cron
або сповіщення на email. Система попередить тебе ще до того, як ситуація стане критичною.
- Автоматичне прибирання
Налаштуй регулярне очищення кешу та логів через cron
. Один раз налаштував — і спокійно працюєш далі.
- Не зберігай великі файли в кореневому розділі
Резервні копії, медіа, архіви — краще зберігати на зовнішніх носіях або в окремому розділі (наприклад, /data
).
Підсумуємо
Як бачиш, повністю заповнений кореневий розділ — це не катастрофа, а просто сигнал, що пора навести лад. Linux дає нам усі інструменти для цього — потрібно лише трохи розібратись.
Саме з цим ми допомагаємо в ITEDU, тому якщо хочеш глибше зануритись у Linux, тобі точно до нас.
Обирай свій курс та реєструйся.