Очистка Ubuntu Server: безопасное руководство
Серверы без регулярной чистки накапливают устаревшие пакеты, старые ядра, журналы systemd и архивы Snap. Это приводит к деградации дискового пространства и увеличению времени бэкапов. Ниже — последовательный и безопасный workflow для LTS-серверов без GUI.
1. Базовая очистка APT
APT хранит кэш скачанных пакетов и зависимости, которые больше не требуются. Эти команды абсолютно безопасны:
sudo apt update
sudo apt autoremove --purge
sudo apt autoclean
sudo apt clean
Что делают:
| Команда | Назначение |
|---|---|
autoremove --purge |
Удаляет неиспользуемые пакеты и их конфиги |
autoclean |
Чистит старые кэш-файлы пакетов |
clean |
Полностью очищает APT-кэш |
2. Удаление старых ядер
Ядра занимают наибольший объём на /boot и /lib/modules.
Рекомендуемый и безопасный способ
sudo apt install --reinstall linux-generic
sudo apt autoremove --purge
APT автоматически удалит все ядра, кроме используемого и последнего резервного.
Альтернативный метод (оставить только 2 последних ядра)
sudo apt install byobu
sudo purge-old-kernels --keep 2 -qy
!!!⛔Никогда не удаляйте текущее ядро (uname -r). Проверяйте вывод перед подтверждением.
3. Очистка журналов systemd
journalctl по умолчанию хранит логи без ограничений. Для серверов с высокой нагрузкой это может быть гигабайты данных.
sudo journalctl --vacuum-time=14d
sudo journalctl --vacuum-size=150M
| Параметр | Эффект |
|---|---|
--vacuum-time |
Удаляет записи старше указанного срока |
--vacuum-size |
Ограничивает общий размер журнала |
4. Очистка Snap-пакетов
Snap сохраняет старые ревизии, которые не удаляются автоматически.
LANG=C snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
Дополнительно (очистка snapshot-ов Snap):
sudo snap saved | awk 'NR>1 && $NF=="disabled" {print $1,$2}' |
while read set rev; do sudo snap forget "$set"; done
5. Удаление временных файлов сервера
sudo rm -rf /var/tmp/*
sudo rm -rf /tmp/*
sudo find /var/cache -type f -name "*.old" -delete
⛔Выполняйте rm -rf /tmp/* только если уверены, что нет активных временных процессов.
6. Очистка старых логов сервера
sudo find /var/log -type f -name "*.gz" -delete
sudo find /var/log -type f -name "*.1" -delete
sudo find /var/log -type f -name "*.old" -mtime +60 -delete
Удаляются только архивированные и старые файлы.
7. Контроль результатов
df -h
du -sh /var/cache /var/log /var/lib/snapd/snaps /boot
Рекомендуемый универсальный порядок
sudo apt update
sudo apt autoremove --purge
sudo apt autoclean
sudo apt clean
sudo journalctl --vacuum-time=30d
sudo journalctl --vacuum-size=300M
sudo purge-old-kernels --keep 2 -qy
LANG=C snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do sudo snap remove "$snapname" --revision="$revision"; done
df -h
Итог
На типичном сервере освобождается 2–15+ ГБ.
Это снижает нагрузку на файловую систему, ускоряет бэкапы и предотвращает переполнение раздела /boot.
Оставьте комментарий