Linux

Полная очистка Linux: освобождаем место на диске безопасно

Этот гайд поможет вам безопасно очистить Linux-систему от временных файлов, кэша и ненужных пакетов, чтобы освободить место на диске без потери важных данных.

Обновлено 14 февраля 2026 г.
15-20 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 22.04+Debian 11+Fedora 38+Arch Linux

Полная очистка Linux: освобождаем место на диске безопасно

С течением времени любой Linux-системе, особенно на серверах или старых ноутбуках с SSD, начинает не хватать места на диске. Это может вызывать ошибки обновления, сбои в работе сервисов и замедление системы. В этом гайде вы узнаете, как безопасно и эффективно очистить систему от временных файлов, кэша пакетов и ненужных данных, не затрагивая пользовательские документы и конфигурации.

Почему это важно?

Заполненный корневой раздел (/) — частая причина сбоев. Многие службы (например, MySQL, Docker, веб-серверы) требуют свободного места для работы. Регулярная очистка — часть базового обслуживания системы. Мы сосредоточимся на безопасных методах, которые не удалят ваши личные файлы.

Шаг 1: Анализ использования диска

Прежде чем удалять что-либо, узнайте, что именно занимает место.

1.1 Проверка свободного места на разделах

df -h

-h выводит размеры в удобочитаемом формате (МБ, ГБ). Обратите внимание на процент использования в столбце Use%. Критично, если он выше 85-90%.

1.2 Поиск крупных каталогов

sudo du -sh /* 2>/dev/null | sort -rh | head -20

Эта команда показывает размеры верхних каталогов в корне (/), сортирует по убыванию и выводит топ-20. Обычно самые большие — /usr, /var, /home.

💡 Совет: Для более детального анализа установите ncdu (sudo apt install ncdu). Это интерактивный инструмент, который позволяет "путешествовать" по файловой системе и видеть размеры каталогов. Запустите sudo ncdu /.

Шаг 2: Очистка кэша пакетного менеджера

Все дистрибутивы сохраняют загруженные файлы пакетов (.deb, .rpm) для возможной повторной установки. Их можно безопасно удалить.

2.1 Для Debian/Ubuntu (APT)

# Очистка всего кэша (все загруженные .deb файлы)
sudo apt clean

# Более щадящий вариант: удалить только устаревшие файлы
sudo apt autoclean

После clean при следующем apt upgrade пакеты придётся скачивать заново.

2.2 Для Fedora/RHEL/CentOS (DNF)

sudo dnf clean all

Удаляет все кэши DNF, включая метаданные репозиториев.

2.3 Для Arch Linux (Pacman)

# Очистка кэша пакетов (старые версии удалятся, текущие останутся)
sudo paccache -r

# ОЧЕНЬ агрессивная очистка: удаляет ВСЕ кэшированные пакеты
# sudo pacman -Scc  # ВНИМАНИЕ! Используйте с осторожностью, только если уверены

Шаг 3: Удаление ненужных зависимостей и старых ядер

При обновлениях системы часто остаются старые версии библиотек и ядра Linux. Они могут занимать сотни мегабайт.

3.1 Для Debian/Ubuntu

# Удаляет пакеты, которые были установлены как зависимости,
# но больше не нужны ни одному установленному пакету.
# --purge также удаляет конфигурационные файлы этих пакетов.
sudo apt autoremove --purge

Важно: Команда предложит удалить пакеты. Внимательно проверьте список. Если вы вручную установили какой-то пакет через apt install, он не будет удалён autoremove.

3.2 Для Fedora/RHEL

sudo dnf autoremove

3.3 Удаление старых ядер вручную (если autoremove не справился)

# Показать установленные ядра
dpkg -l 'linux-image*' | grep ^ii  # Debian/Ubuntu
rpm -qa | grep kernel             # Fedora/RHEL

# Удалить конкретное старое ядро (пример)
sudo apt remove linux-image-5.4.0-42-generic

Оставляйте как минимум одно рабочее ядро (текущее и предыдущее на случай отката).

Шаг 4: Очистка временных файлов и логов

4.1 Временные файлы в /tmp

# Удалить файлы старше 10 дней в /tmp (безопасно)
sudo find /tmp -type f -atime +10 -delete

# Удалить пустые каталоги в /tmp
sudo find /tmp -type d -empty -delete

⚠️ Важно: Не удаляйте всё в /tmp агрессивно (rm -rf /tmp/*). Некоторые приложения могут использовать этот каталог для работы сейчас. Лучше удалять старые файлы.

4.2 Логи в /var/log

Логи сервисов могут разрастаться. Очищайте их, если уверены, что они не нужны для отладки.

# Очистить старые логи (например, старше 7 дней)
sudo find /var/log -type f -name "*.log" -mtime +7 -delete

# Очистить логи конкретного сервиса (например, nginx)
sudo truncate -s 0 /var/log/nginx/access.log
sudo truncate -s 0 /var/log/nginx/error.log

Альтернатива: Используйте logrotate — он автоматически ротирует и сжимает логи. Проверьте его конфигурацию в /etc/logrotate.conf.

4.3 Логи systemd (journal)

# Оставить логи только за последние 3 дня (или укажите нужный объём: --vacuum-size=100M)
sudo journalctl --vacuum-time=3d

# Показать текущий размер журнала
sudo journalctl --disk-usage

Шаг 5: Поиск и удаление крупных лишних файлов

Иногда место занимают несистемные файлы: загрузки, iso-образы, кэши браузеров.

5.1 Поиск файлов больше 100 МБ

sudo find / -type f -size +100M 2>/dev/null | head -20

2>/dev/null скрывает ошибки доступа (например, к /proc). Вручную проверьте найденные пути перед удалением.

5.2 Очистка кэша браузеров (пример для Firefox)

# Кэш Firefox для текущего пользователя
rm -rf ~/.cache/mozilla/firefox/*.default/cache2/

Замените *.default на имя вашего профиля (посмотрите в ~/.mozilla/firefox/).

5.3 Удаление старых загрузок

# Показать файлы в ~/Downloads старше 30 дней
find ~/Downloads -type f -mtime +30 -ls

# Удалить их (сначала проверьте список!)
find ~/Downloads -type f -mtime +30 -delete

Шаг 6: Проверка результата

После всех очисток снова выполните:

df -h

Вы должны увидеть увеличение свободного места в разделе / (обычно на 1-5 ГБ, в зависимости от системы).

Автоматизация (опционально)

Чтобы не забывать о чистке, настройте регулярные задачи.

Для APT-систем (Debian/Ubuntu)

Создайте файл /etc/apt/apt.conf.d/02autoremove с содержимым:

DPkg::Post-Invoke {"if [ -x /usr/bin/apt-autoremove ]; then apt-autoremove -y; fi";};

Это автоматически запустит autoremove после каждого apt upgrade. Используйте с осторожностью на продакшн-серверах.

Для systemd-журнала

В файле /etc/systemd/journald.conf установите:

SystemMaxUse=100M

Это ограничит размер журнала 100 МБ.

Заключительные рекомендации

  • Не удаляйте вручную файлы в /usr, /bin, /sbin, /lib. Это сломает систему.
  • Создавайте резервные копии важных данных перед массовыми операциями.
  • Регулярность — ключ к успеху. Очистка раз в месяц предотвратит проблемы.
  • Для мониторинга свободного места добавьте в ~/.bashrc алиас:
    alias dfh='df -h | grep -E "^(/dev|Filesystem)"'
    
    Теперь dfh быстро покажет состояние дисков.

Следуя этому гайду, вы поддерживаете систему в чистоте и избегаете критических ситуаций с нехваткой дискового пространства.

Часто задаваемые вопросы

Опасно ли удалять кэш пакетов в Linux?
Можно ли автоматизировать регулярную очистку?
Чем отличается `apt autoclean` от `apt clean`?
Почему после очистки место не освободилось?

Полезное

Проверьте текущее использование диска
Очистите кэш пакетного менеджера
Удалите ненужные зависимости и старые ядра
Очистите временные файлы и логи
Найдите и удалите крупные лишние файлы

Эта статья помогла вам решить проблему?

Похожее

Как проверить свободное место на диске в Linux: команды df и du

В этом гайде вы освоите основные команды для анализа использования дискового пространства в Linux. Вы сможете быстро определить, какие папки и файлы занимают больше всего места, и предотвратить ошибки из-за нехватки диска.

Обновление Linux: полное руководство для всех дистрибутивов

Этот гайд подробно объясняет процесс обновления операционной системы Linux. Вы научитесь правильно подготавливать систему, выполнять обновления через менеджеры пакетов и проверять результат, обеспечив безопасность и стабильность.

Ошибка 'No space left on device' в Linux: причины и решение

В этой статье вы узнаете, как диагностировать и устранить ошибку 'No space left on device' (ENOSPC) в Linux. Мы рассмотрим конкретные команды для анализа дискового пространства, способы безопасной очистки и настройку профилактики.