Перейти к содержанию

Очистка и обслуживание Linux (Ubuntu/Debian)

Общий гид по поддержанию чистоты системы, управлению логами и оптимизации дискового пространства.

📦 Управление пакетами и зависимостями

Удаление ненужных пакетов

Для очистки системы от неиспользуемых зависимостей и кэша пакетов:

sudo apt-get --purge autoremove
sudo apt autoclean -y
sudo apt autoremove -y

Очистка кэша APT

Если нужно принудительно очистить кэш установленных пакетов:

sudo rm -rf /var/cache/apt/archives/*


📝 Управление логами

Systemd Journal (journald)

Проверка занимаемого места:

sudo journalctl --disk-usage

Очистка логов: - Практически полная очистка (оставить только последние секунды):

sudo journalctl --rotate && sudo journalctl --vacuum-time=1s
- Удалить логи старше одного дня:
sudo journalctl --vacuum-time=1d
- Ограничить размер логов (например, до 100 МБ):
sudo journalctl --vacuum-size=100M

Очистка других логов

  • Apache: Удаление старых логов (требуется перезапуск сервиса):
    sudo rm -rf /var/log/apache2/*.gz /var/log/apache2/*.1
    
  • Общие архивированные логи: Удаление сжатых и пронумерованных логов:
    sudo rm /var/log/*.{ [0-9],gz }
    

🧹 Очистка временных файлов и кэша

Системный кэш

sudo rm -rf /var/cache/fontconfig/   # Кэш шрифтов
sudo rm -rf /var/cache/man/           # Кэш man-страниц

Временные файлы

⚠️ Осторожно: Удаление файлов в /tmp может нарушить работу запущенных программ.

sudo rm -rf /tmp/*

Пользовательский кэш и корзина

rm -rf ~/.cache/*
rm -rf ~/.local/share/Trash/files/*

🔍 Анализ и поиск больших файлов

Инструменты анализа

Рекомендуется установить ncdu или gdu для визуального анализа диска:

sudo apt install ncdu
ncdu /

Поиск файлов более 1 ГБ

find / -type f -size +1G -exec ls -lah {} \; | cut -d" " -f 5- | sort -rnk1

⚙️ Специфические оптимизации

  • Docker: Проверьте директорию /var/lib/docker/overlay2/ — она часто занимает больше всего места.
  • PHP: Проверьте сессии в /var/lib/php/sessions/.
  • Kernel Headers: В /usr/src/ можно оставить только версию, соответствующую текущему ядру.

⏰ Автоматизация (Cron)

Для автоматического ежедневного удаления логов добавьте задачу в crontab.

  1. Откройте файл:
    sudo nano /etc/crontab
    
  2. Добавьте строку для очистки ежедневно в 00:00:
    0 0 * * * root journalctl --rotate && sudo journalctl --vacuum-time=1s