Заметки о решаемых задачах АйТишников

Сделал - запиши. Нашёл - сохрани :)

Прошу прощения за рекламу на сайте. Я постарался сделать это максимально ненавязчиво и по минимуму. При чтении заинтересовавших вас статей она не будет вам мешать.
И если есть возможность поставить мой сайт в исключения у блокировщика рекламы, я буду очень признателен вам.

Глубокая чистка Linux: Освобождаем место и оптимизируем систему

Глубокая чистка Linux: Освобождаем место и оптимизируем систему

 

 

 

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

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


Важное предупреждение перед началом:

  • Всегда делайте резервные копии! Хотя большинство описанных действий относительно безопасны, при работе с системными файлами всегда есть минимальный риск.
  • Понимайте, что вы делаете. Не запускайте команды, смысл которых вам непонятен. Мы старались максимально подробно объяснить каждое действие.
  • Команды в статье ориентированы преимущественно на дистрибутивы на базе Debian/Ubuntu, но принципы и аналогичные команды существуют для Fedora/RHEL/CentOS (dnf) и Arch Linux (pacman).

План действий по чистке Linux:

Шаг 1: Обновление системы и удаление неиспользуемых пакетов (очень важно и безопасно)

Это первый и самый безопасный шаг, который часто освобождает много места.

  1. Обновление списков пакетов и установленных пакетов: Перед любой чисткой рекомендуется обновить систему. Это может автоматически удалить некоторые устаревшие компоненты.

    sudo apt update        # Обновить списки доступных пакетов
    sudo apt upgrade       # Обновить установленные пакеты
    

    Аналоги для других дистрибутивов:

    • Fedora/RHEL/CentOS: sudo dnf update
    • Arch Linux: sudo pacman -Syu
  2. Удаление автоматически установленных, но более не используемых пакетов (неиспользуемые зависимости): Это одна из самых мощных команд для освобождения места. Она удаляет пакеты, которые были установлены как зависимости для других программ, но теперь эти программы удалены, и сами зависимости стали "сиротами". Эта команда часто удаляет и старые версии ядер, которые больше не используются, но иногда они остаются, и тогда потребуется ручное вмешательство (см. Шаг 2).

    sudo apt autoremove
    

    Аналоги для других дистрибутивов:

    • Fedora/RHEL/CentOS: sudo dnf autoremove
    • Arch Linux: sudo pacman -Rns $(pacman -Qtdq)
  3. Очистка кэша загруженных пакетов: Менеджеры пакетов хранят загруженные файлы .deb (или другие форматы) в локальном кэше. Они могут занимать значительное пространство. Их можно безопасно удалить, так как при необходимости пакеты будут загружены снова.

    sudo apt clean
    

    Аналоги для других дистрибутивов:

    • Fedora/RHEL/CentOS: sudo dnf clean all
    • Arch Linux: sudo pacman -Scc

Шаг 2: Удаление старых версий ядер Linux (освобождаем гигабайты!)

Даже после autoremove иногда остаются старые ядра, которые занимают сотни мегабайт каждое. Удаление их вручную может значительно освободить место.

  1. Проверьте текущую используемую версию ядра:

    uname -r
    

    Запомните эту версию. Ни в коем случае не удаляйте текущее используемое ядро!

  2. Просмотрите список всех установленных пакетов ядра:

    dpkg --list | grep linux-image
    

    Вы увидите список установленных ядер и их заголовков (headers). Ищите те, которые отличаются от вашей текущей версии. Рекомендуется оставлять текущую версию и, возможно, предыдущую (на случай отката), а остальные удалять.

  3. Удалите старые ядра (замените [version] на реальную версию старого ядра): Например, если ваша текущая версия 5.15.0-76-generic, а вы видите 5.15.0-20-generic, вы можете удалить старое:

    sudo apt purge linux-image-5.15.0-20-generic linux-headers-5.15.0-20-generic
    

    Повторите эту команду для всех старых ядер, которые вы хотите удалить.

  4. Обновите конфигурацию GRUB (загрузчика): После удаления ядер важно обновить загрузчик, чтобы он "знал" о произведенных изменениях.

    sudo update-grub
    

    Аналоги для других дистрибутивов:

    • Fedora/RHEL/CentOS: Старые ядра обычно удаляются автоматически через dnf autoremove.
    • Arch Linux: Управление ядрами более ручное. Пользователи сами выбирают, какие ядра устанавливать и удалять.

Шаг 3: Очистка пользовательских кэшей и временных файлов

Эти файлы накапливаются в вашей домашней директории (~) и могут быть удалены без вреда для системы, но с осторожностью.

  1. Очистка кэша миниатюр (thumbnails): Ваша система автоматически создаёт миниатюры изображений для быстрого просмотра в файловых менеджерах. Их можно безопасно удалить. Они будут пересозданы при необходимости.

    rm -rf ~/.cache/thumbnails/*
    
  2. Очистка кэша браузера: Браузеры создают собственные большие кэши. Рекомендуется очищать их через настройки самого браузера (например, Chrome, Firefox), так как это часто включает и управление историей, куки и т.д.

  3. Общая очистка пользовательских кэшей (~/.cache/): В директории ~/.cache/ хранится множество кэшей различных приложений. Будьте осторожны! Удаление всего подряд может привести к потере некоторых настроек или замедлению первого запуска приложений после очистки.

    • Сначала проверьте размер этой директории:
      du -sh ~/.cache/
      
    • Если вы хотите удалить, выбирайте конкретные подпапки, например, кэш конкретного приложения, которое вы давно не используете.
    • НЕ удаляйте ~/.cache целиком без крайней необходимости и понимания возможных последствий.
  4. Временные файлы в /tmp: Большинство дистрибутивов Linux настроены на автоматическую очистку содержимого директории /tmp при каждой перезагрузке. Если вы давно не перезагружали систему и /tmp занимает много места, можно удалить его содержимое.

    sudo rm -rf /tmp/*
    

    Осторожно: Выполнение этой команды может прервать работу программ, использующих /tmp в данный момент. Используйте только если уверены, что никаких важных процессов не пострадает.

Шаг 4: Управление системными логами

Системные логи (журналы) могут расти, но современные системы обычно управляют ими с помощью logrotate или journald.

  1. Проверка и управление логами journald (для систем с systemd):

    • Проверить текущий размер логов:
      sudo journalctl --disk-usage
      
    • Ограничить размер логов (например, до 500 МБ) или срок хранения (например, до 1 месяца):
      sudo journalctl --vacuum-size=500M  # Оставить только 500 МБ логов
      sudo journalctl --vacuum-time=1M    # Оставить логи только за последний месяц
      
  2. Удаление старых сжатых логов: Файлы логов, которые уже были ротированы и сжаты (обычно имеют расширение .gz), можно безопасно удалить.

    sudo find /var/log -type f -name "*.gz" -delete
    

Шаг 5: Очистка кэшей Snap и Flatpak (если используете)

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

  1. Snap (удаление старых ревизий пакетов): Snap по умолчанию хранит несколько старых ревизий каждого установленного приложения.

    set -eu
    snap list --all | awk '/disabled/{print $1, $3}' |
        while read snapname revision; do
            sudo snap remove "$snapname" --revision="$revision"
        done
    

    Вы также можете настроить, сколько ревизий хранить (по умолчанию 3): sudo snap set system refresh.retain=2 (для хранения только двух последних ревизий)

  2. Flatpak (удаление неиспользуемых рантаймов): Flatpak хранит общие компоненты (рантаймы), которые могут оставаться после удаления приложений.

    flatpak uninstall --unused
    

Шаг 6: Опустошение корзины

Не забудьте проверить и очистить корзину! Файлы в корзине всё ещё занимают место на диске.

  • В графическом интерфейсе: Обычно достаточно открыть корзину и нажать кнопку "Очистить".
  • В командной строке:
    rm -rf ~/.local/share/Trash/*
    

Шаг 7: Использование сторонних инструментов (опционально)

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

  • BleachBit: Мощный инструмент, доступный для Linux. Может очищать кэши браузеров, временные файлы, кэши пакетов и многое другое. Будьте крайне осторожны с функцией "Глубокая очистка" (Deep Clean), так как она может удалить больше, чем вы ожидаете.
    sudo apt install bleachbit
    
    Запускайте его сначала без sudo для очистки пользовательских данных, а затем, если нужно, с sudo для системных файлов.
  • Stacer: Ещё одна утилита для мониторинга и оптимизации системы, включающая функции очистки.

Заключение

Регулярная чистка Linux-системы — это хорошая практика, которая помогает поддерживать её в оптимальном состоянии, освобождает дисковое пространство и может незначительно улучшить общую отзывчивость. Начните с шагов по управлению пакетами (apt autoremove и apt clean) и уделяйте особое внимание удалению старых ядер, так как они наиболее безопасны и часто приносят наибольший эффект. Помните о важности резервного копирования и всегда старайтесь понять, что именно делает каждая команда, прежде чем её выполнять.

 

11 октября 2025, 16:08    Александр Linux 0    0 0

 

 

 

 



Комментарии ()

    Вы должны авторизоваться, чтобы оставлять комментарии.