Содержание статьи

Раздел dev/mapper/centos-root на CentOS по умолчанию содержит системные файлы, логи и временные данные, которые со временем занимают значительное пространство. На серверах с ограниченным дисковым объемом превышение 80% использования может привести к сбоям при установке обновлений и работе приложений.
Перед очисткой важно определить, какие файлы занимают наибольший объем. Команды du -sh /* и du -sh /var/* позволяют быстро выявить каталоги с максимальной нагрузкой. Удаление старых пакетов и кэша yum освободит до 500–700 МБ на типичной системе.
Очистка логов и временных файлов требует аккуратности: файлы в /var/log и /tmp могут быть безопасно удалены, но текущие активные логи лучше не трогать. Использование logrotate и ручная проверка больших файлов ускоряет процесс и минимизирует риск потери данных.
Дополнительно стоит проверить размер LVM томов и при необходимости выполнить сжатие thin pool. После очистки рекомендуется перезапустить критические службы и проверить доступное пространство с помощью df -h, чтобы убедиться, что очистка прошла успешно.
Проверка текущего использования пространства на root

Для анализа загрузки раздела dev/mapper/centos-root используйте команду df -h. Она покажет общий размер, используемое и свободное пространство, а также процент заполнения. Важно обращать внимание на строки с /, чтобы оценить состояние именно корневого раздела.
Для детального выявления крупных файлов и каталогов применяйте du -sh /* и du -sh /var/*. Эти команды покажут размеры в удобочитаемом формате и помогут определить, какие директории занимают наибольший объем.
Используйте ncdu для интерактивного анализа: инструмент позволяет быстро сортировать папки по размеру и переходить внутрь каталогов, чтобы обнаружить ненужные или устаревшие данные, которые можно удалить.
Определение крупных файлов и папок для удаления
Для освобождения пространства на dev/mapper/centos-root важно точно определить, какие файлы и каталоги занимают наибольший объем. Рекомендуется сосредоточиться на следующих локациях:
- /var/log – старые и архивные логи могут достигать нескольких гигабайт.
- /var/cache – кэш пакетов yum и временные файлы приложений.
- /tmp – временные файлы, которые не удалились автоматически.
- /home – крупные пользовательские файлы, особенно в директориях загрузок и рабочих проектов.
Для поиска крупных файлов используйте команды:
- du -ah /var | sort -rh | head -n 20 – показывает 20 самых больших объектов в /var.
- ncdu / – интерактивный анализ всего раздела с возможностью удалять ненужные файлы прямо из интерфейса.
После выявления крупных объектов рекомендуется оценить их важность. Например, устаревшие архивы логов и кэш пакетов можно удалить без риска для системы, а файлы в /home – предварительно проверить с владельцем.
Очистка кэша пакетов и старых обновлений
Кэш менеджера пакетов yum и старые обновления могут занимать сотни мегабайт на разделе dev/mapper/centos-root. Их удаление освобождает место без воздействия на работающие приложения.
Для оценки объема кэша используйте команду:
du -sh /var/cache/yum
Удаление кэша и старых пакетов выполняется через команды:
| Команда | Описание |
|---|---|
| yum clean packages | Удаляет загруженные пакеты, которые уже установлены. |
| yum clean metadata | Удаляет метаданные репозиториев для освобождения дополнительного места. |
| yum clean all | Удаляет все кэши пакетов и метаданные, освобождая максимальное пространство. |
Рекомендуется запускать yum clean all после крупных обновлений. После очистки проверьте результат командой df -h и зафиксируйте изменения для контроля использования пространства.
Удаление ненужных логов и временных файлов

Каталоги /var/log и /tmp на CentOS со временем накапливают старые логи и временные файлы, которые занимают значительное пространство на dev/mapper/centos-root. Их безопасное удаление помогает освободить гигабайты памяти.
Для удаления устаревших логов используйте команды:
find /var/log -type f -name «*.log.*» -mtime +30 -exec rm -f {} \;
Эта команда удаляет архивные логи старше 30 дней. Для текущих логов лучше использовать logrotate с параметрами сжатия и хранения.
Временные файлы в /tmp можно очищать командой:
find /tmp -type f -mtime +7 -exec rm -f {} \;
Удаляются файлы старше недели, что предотвращает случайное удаление активно используемых данных.
Для системных временных файлов можно дополнительно выполнить:
rm -rf /var/tmp/*
Эта операция безопасна для старых, неактивных файлов, но не затрагивает процессы, работающие в текущий момент.
Очистка корзины и пользовательских временных файлов

Файлы, перемещённые в корзину пользователями, продолжают занимать место на разделе dev/mapper/centos-root. Для их удаления используйте команду:
rm -rf /home/*/.local/share/Trash/files/*
Эта команда удаляет все объекты из корзин пользователей без воздействия на активные файлы.
Пользовательские временные файлы, создаваемые приложениями, обычно хранятся в /home/*/tmp или аналогичных директориях. Их можно очистить командой:
find /home -type f -name «*.tmp» -mtime +7 -exec rm -f {} \;
Удаляются файлы старше 7 дней, что снижает риск случайного удаления нужных данных.
После удаления рекомендуется проверить освобожденное пространство командой df -h и при необходимости провести повторную очистку временных директорий.
Проверка и сжатие логических томов LVM
Для контроля использования пространства на dev/mapper/centos-root выполните команду lvdisplay. Она отображает размеры логических томов, их статус и доступное пространство.
Чтобы определить эффективность использования тома, используйте lvs -a -o +seg_monitor. Эта команда покажет, какие сегменты тома заполнены, а какие можно сжать.
Для thin-пулов применяются команды:
lvconvert —thinpool —poolmetadata – проверка метаданных.
lvreduce —size [новый_размер] /dev/mapper/имя_тома – сжатие тома после анализа.
Перед уменьшением размера рекомендуется выполнить резервное копирование данных и убедиться, что файловая система смонтирована только для чтения. После операций проверьте результат командой df -h и убедитесь, что доступное пространство увеличилось.
Перезапуск служб и проверка освобожденного пространства
После удаления кэша, логов и временных файлов некоторые службы могут продолжать использовать старые дескрипторы или кэшированные данные. Для корректного освобождения пространства перезапустите критические сервисы командой:
systemctl restart имя_сервиса
Например, httpd, mysqld или docker, если они активно создают логи или временные файлы.
Для проверки состояния дискового пространства используйте:
df -h / – показывает свободное и занятое место на корневом разделе.
du -sh /* – позволяет оценить текущий размер основных директорий после очистки.
Если после перезапуска служб объем свободного пространства не изменился, проверьте открытые дескрипторы файлов командой lsof | grep deleted и перезапустите соответствующие процессы, чтобы завершить освобождение места.
Вопрос-ответ:
Какая команда покажет, сколько места занимает root-раздел на CentOS?
Для проверки используйте команду df -h /. Она отобразит общий размер раздела, объем занятого и свободного пространства, а также процент использования. Это позволяет оценить текущую загрузку корневого раздела перед началом очистки.
Как безопасно удалить старые логи, чтобы не нарушить работу системы?
Старые архивные логи можно удалять с помощью команды find /var/log -type f -name «*.log.*» -mtime +30 -exec rm -f \;. Она удаляет файлы старше 30 дней, не затрагивая текущие логи, которые активно используются службами. Для активных логов лучше настроить logrotate с сжатием и хранением определенного числа архивов.
Можно ли удалить кэш пакетов без риска для системы?
Да, удаление кэша yum безопасно. Для этого применяются команды: yum clean packages для удаления установленных пакетов из кэша, yum clean metadata для удаления метаданных, и yum clean all для полной очистки кэша и метаданных. После этого системы и установленные приложения продолжают работать корректно.
Как узнать, какие пользователи создали временные файлы и где они находятся?
Большинство временных файлов пользователей хранятся в их домашних директориях, например, /home/username/tmp или ~/.local/share/Trash/files. Для поиска файлов старше определенного времени можно использовать команду find /home -type f -mtime +7. Это позволяет определить устаревшие временные файлы и безопасно их удалить, освобождая место на root-разделе.
Что делать, если после очистки место на root не освободилось?
Иногда процессы продолжают удерживать удаленные файлы через открытые дескрипторы. Проверьте это командой lsof | grep deleted. Если такие процессы найдены, их необходимо перезапустить или завершить. После этого освободившееся пространство станет доступно, и команда df -h покажет корректные значения.
