Практическое руководство по очистке системы Linux

За годы использования Linux (а Debian у меня стоит уже не первый год) накопилось немало опыта в борьбе с «цифровым хламом». Сегодня поделюсь тем, что реально работает, а что — пустая трата времени или может нанести вред.

Начинаем с диагностики

Первое правило — никогда не удаляй ничего вслепую. Сначала нужно понять, где именно «сидит» проблема.

Самая простая команда для начала:

df -h

Показывает общую картину по разделам. Но это только верхушка айсберга. Для реальной работы я использую du — утилиту, которая стала моим лучшим другом в этом деле.

du -sh /* 2>/dev/null | sort -h

Эта команда покажет размер каждой папки в корне системы. Обычно самые «жирные» — это /home, /var, /usr. Иногда неожиданно большими оказываются /tmp или /opt.

Но есть нюанс, который меня когда-то поставил в тупик. Команда выше не показывает скрытые файлы и папки. А именно в них часто скрывается основная проблема! Особенно в домашней папке пользователя.

du -sh ~/.* 2>/dev/null | sort -h

Вот тут-то и начинается самое интересное. У меня однажды папка ~/.cache весила 15 гигабайт! А ~/.local/share — еще 8.

Когда кэш становится проблемой

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

APT кэш — первый кандидат на удаление:

du -sh /var/cache/apt/archives/

У меня там было 3.2 ГБ старых .deb файлов. Почистить можно так:

sudo apt clean

Эта команда безопасна на 100%. Худшее, что может случиться — при повторной установке пакетов они заново скачаются из интернета.

Пользовательские кэши — тут интереснее. Firefox, Chrome, различные Python утилиты — все они создают свои кэши.

du -sh ~/.cache/* | sort -h

Моими «чемпионами» по размеру оказались:

  • ~/.cache/mozilla — 2.1 ГБ
  • ~/.cache/pip — 1.8 ГБ
  • ~/.cache/yarn — 900 МБ

Все это можно удалить без последствий:

rm -rf ~/.cache/mozilla/
rm -rf ~/.cache/pip/
rm -rf ~/.cache/yarn/

Правда, Firefox потом пару дней загружался чуть медленнее, пока кэш не восстановился.

Логи: когда система слишком разговорчива

Однажды я обнаружил, что /var/log весит 4 гигабайта. Оказалось, что одна из служб писала в лог каждую секунду уже полгода.

Посмотреть размер логов:

sudo du -sh /var/log/* | sort -h

Systemd журналы можно почистить вот так:

journalctl --disk-usage
sudo journalctl --vacuum-time=30d

Первая команда покажет, сколько места занимают журналы, вторая — оставит только записи за последний месяц.

Со старыми логами в /var/log нужно быть осторожнее. Я обычно делаю так:

sudo find /var/log -name "*.gz" -mtime +30 -delete
sudo find /var/log -name "*.old" -mtime +30 -delete

Это удалит сжатые и старые логи, которым больше 30 дней.

Когда snap съедает диск

Если используете snap пакеты, приготовьтесь к сюрпризу. Система по умолчанию хранит по 3 версии каждого пакета. Для браузеров и больших приложений это может быть несколько гигабайт.

snap list --all

Увидите что-то вроде:

firefox    108.0    2800  latest/stable  mozilla  disabled
firefox    109.0    2813  latest/stable  mozilla  -

Строчка с «disabled» — это старая версия, которая просто занимает место.

Почистить можно командой:

sudo snap set system refresh.retain=2

А потом вручную удалить старые версии:

snap list --all | grep disabled | awk '{print $1" --revision="$3}' | xargs -I {} sudo snap remove {}

Команда выглядит страшно, но работает отлично. Только будьте аккуратны с копированием — один пробел не в том месте, и ничего не получится.

Полезные утилиты для анализа

За время использования Linux я перепробовал множество утилит для анализа дискового пространства. Поделюсь теми, которые реально пригодились:

ncdu — интерактивный анализатор дискового пространства:

sudo apt install ncdu
ncdu /

Эта штука показывает размеры папок в виде удобного списка, по которому можно перемещаться стрелочками. Очень наглядно.

baobab (для тех, кто любит графику):

sudo apt install baobab

Показывает диаграммы использования диска. Иногда легче понять проблему визуально.

duf — современная замена df:

wget https://github.com/muesli/duf/releases/download/v0.8.1/duf_0.8.1_linux_amd64.deb
sudo dpkg -i duf_0.8.1_linux_amd64.deb

Показывает информацию о дисках в красивом цветном виде.

Автоматизация: чтобы не делать вручную каждый раз

Со временем понял, что лучше автоматизировать рутинные задачи очистки. Написал простой скрипт:

#!/bin/bash
# cleanup.sh

echo "Начинаем очистку системы..."

# APT кэш
echo "Очищаем APT кэш..."
sudo apt clean
sudo apt autoclean
sudo apt autoremove

# Журналы systemd
echo "Очищаем журналы..."
sudo journalctl --vacuum-time=30d

# Пользовательские кэши
echo "Очищаем пользовательские кэши..."
rm -rf ~/.cache/thumbnails/
rm -rf ~/.cache/pip/ 
rm -rf ~/.cache/yarn/

# Временные файлы
echo "Удаляем старые временные файлы..."
sudo find /tmp -type f -atime +7 -delete 2>/dev/null

echo "Очистка завершена!"
df -h /

Запускаю его раз в месяц, и проблем с местом больше не возникает.

Что НЕ стоит удалять

Новички часто совершают ошибки, которые могут привести к проблемам. Вот чего я никогда не трогаю:

  • /usr/lib и /usr/share — системные библиотеки и данные
  • ~/.config — настройки программ (можно потерять конфигурацию)
  • /etc — конфигурация системы
  • /boot — файлы загрузчика (можете не загрузиться)

Также осторожно с очисткой логов активных сервисов — иногда они нужны для диагностики проблем.

Поддержание чистоты в файловой системе — это как уборка в квартире. Лучше делать понемногу, но регулярно, чем доводить до критического состояния.

Основные принципы, которые я вынес для себя:

  1. Регулярно мониторить использование диска
  2. Очищать кэши раз в месяц
  3. Не хранить большие файлы в домашней папке без необходимости
  4. Использовать автоматизацию для рутинных задач

И помните — всегда лучше удалить меньше, но быть уверенным в безопасности, чем агрессивно чистить все подряд и потом восстанавливать систему.

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *