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

Вам понравился мир Linux, но со временем диск стал «заполненным» — это нормально. Простые системные команды и несколько инструментов помогут быстро вернуть гигабайты свободного пространства.

Быстрый метод (для систем с apt/apt-get)
Если вы используете Debian/Ubuntu и производные, начните с этих двух команд:
sudo apt-get autoremoveКоманда удаляет зависимости (packages), которые были установлены как вспомогательные и сейчас почти не используются.
sudo apt-get cleanЭта команда удаляет все кешированные .deb-файлы в /var/cache/apt/archives, которые остаются после установки пакетов. Их безопасно удалять — при следующей установке пакеты будут скачаны снова.
Важно: на некоторых системах предпочтительнее использовать apt вместо apt-get (например, sudo apt autoremove и sudo apt clean). Также существует sudo apt-get autoclean — оно удаляет только старые версии кеша.
Анализ занятого места
Перед удалением полезно понять, что именно занимает пространство.
- Показать свободное/занятое пространство:
df -h- Найти большие каталоги в корне (глубина 1):
du -h --max-depth=1 /- Интерактивный обзор (удобно для удаления файлов вручную):
sudo apt install ncdu # если не установлен
sudo ncdu /ncdu показывает каталоги в порядке занимаемого места и позволяет быстро переходить внутрь для анализа.
Команды для других менеджеров пакетов
Если вы не на Debian-производных, используйте эквиваленты:
- DNF (Fedora/RHEL):
sudo dnf autoremove
sudo dnf clean all- Pacman (Arch):
sudo pacman -Rns $(pacman -Qdtq) # удалить неиспользуемые зависимости
sudo pacman -Sc # очистить кеш пакетов- Zypper (openSUSE):
sudo zypper packages --unneeded
sudo zypper clean --all- Flatpak:
flatpak uninstall --unused
flatpak repair- Snap (старые ревизии занимают место):
# показать все ревизии
snap list --all
# удалить отключённые ревизии (пример)
sudo snap list --all | awk '/disabled/{print $1, $2}' | while read name rev; do sudo snap remove "$name" --revision="$rev"; done- Docker (объекты занимают много места):
docker system df
sudo docker system prune -a --volumes # удаляет контейнеры, образы и тома, осторожноОчистка логов и временных файлов
Системные журналы systemd могут расти; безопасно уменьшить их размер:
sudo journalctl --vacuum-size=200M
# или по времени
sudo journalctl --vacuum-time=2weeksВременные файлы в /tmp и пользовательских каталогах можно удалить вручную, но проверяйте, что не удаляете нужные файлы.
Мини-методология: проверить — проанализировать — очистить — подтвердить
- Проверить: df -h, free -h
- Проанализировать: du / ncdu, docker system df
- Очистить безопасно: apt autoremove, apt clean, journalctl, snap/flatpak prune
- Подтвердить: снова df -h и ncdu
Примеры полезных сниппетов
- Быстро удалить кеш apt и неиспользуемые пакеты в одной строке:
sudo apt-get autoremove && sudo apt-get autoclean && sudo apt-get clean- Найти 20 самых больших файлов в системе:
sudo find / -type f -exec du -Sh {} + | sort -rh | head -n 20- Очистить старые ревизии snap (см. выше) — полезно на системах с ограниченным SSD.
Когда эти методы не помогут (контрпримеры)
- Если диск заполнен из-за большого файла базы данных (Postgres, MySQL) — нужно чистить внутри СУБД или увеличить диск.
- LVM-снимки (snapshots) и точки сохранения снапшота могут удерживать пространство даже при удалении файлов; их надо удалять через LVM-инструменты.
- Если раздел зашифрован, визуально место может быть занято структурой контейнера — требуются специальные шаги.
Риски и мерки предосторожности
Важно: не удаляйте файлы в /var/lib вручную без понимания последствий. Всегда делайте резервные копии важных данных перед агрессивной очисткой. Для критичных серверов применяйте очистку сначала на тестовой машине.
Критерии приёмки
- После операций свободное место выросло заметно (проверяется df -h)
- Не нарушены зависимости сервисов (проверить systemctl status и логи сервисов)
- Никакие пользовательские данные не были удалены по ошибке
Чек-листы по ролям
Для настольного пользователя:
- Запустить apt-get autoremove и clean
- Проверить папки Загрузки и Видео на старые большие файлы
- Очистить кеш браузера и временные файлы
Для разработчика:
- Очистить локальные контейнеры/образы Docker
- Удалить временные сборки и node_modules (если не нужны)
- Проверить логи приложений
Для системного администратора:
- Проверить LVM и снимки
- Проанализировать использование томов и мигрировать данные при необходимости
- Автоматизировать ротацию логов и настройку retention
1‑строчный глоссарий
- autoremove — удаление неиспользуемых зависимостей;
- clean — удаление кеша скачанных пакетов;
- autoclean — удаление старых версий кеша;
- journalctl –vacuum — уменьшение размера журналов systemd.
Итог
Быстрые команды вроде sudo apt-get autoremove и sudo apt-get clean действительно могут вернуть свободное место за несколько секунд. Но для длительного контроля полезно анализировать, что именно занимает пространство, и настроить политику ротации кэша и логов. Начните с анализа (df, ncdu), затем применяйте безопасные команды очистки и подтверждайте результат.
Важно: перед массовыми удалениями сделайте резервную копию критичных данных.
Источник изображения: «Linux on a Laptop» — фото fatmawati achmad zaenuri via Shutterstock
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента