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

Эта статья особенно пригодится тем, кто при установке системы выделил слишком мало места под корневую файловую систему — да, я и сам когда-то был таким. А также всем, у кого маленький объем диска: владельцам ноутбуков с небольшими SSD или тем, кто просто ценит каждый гигабайт.

Шаг 1: Очистка кэша пакетного менеджера (pacman)

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

sudo pacman -Scc

⚠️ Будьте осторожны: Scc полностью очищает кэш. Если вы хотите оставить последние версии пакетов, используйте pacman -Sc — он удалит только устаревшие.

Шаг 2: Удаление неиспользуемых зависимостей

Со временем после удаления программ остаются зависимости, которые больше нигде не используются. Их можно безопасно удалить.

Найдём такие пакеты:

pacman -Qdt

Если вывод не пуст — это "сироты" (orphaned packages). Удаляем их:

sudo pacman -Rns $(pacman -Qdtq)

⚠️ Внимание: убедитесь, что вы не удаляете важные пакеты. Если сомневаетесь — проверьте каждый вручную через pacman -Qi <имя_пакета>.

Шаг 3: Очистка кэша AUR-хелперов

Если вы используете AUR-хелперы (например, yay, paru, pikaur), они тоже кэшируют исходники и сборки.

yay -Scc 

или

paru -Scc

Это удалит исходники и собранные .tar.zst пакеты из ~/.cache/yay или ~/.cache/paru.

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

Я использую две основные утилиты для борьбы с мусором: ncdu и BleachBit.

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

А вот BleachBit — уже настоящий «уборщик». Он активно чистит кэш, историю браузеров, временные файлы и остатки ненужных данных. При этом отлично предупреждает, если собирается удалить что-то потенциально важное.

Установить обе программы в Arch Linux можно так:

sudo pacman -S bleachbit ncdu 

Ncdu принимает множество аргументов, но я, думаю, и вы тоже будете пользоваться только одним.ncdu ПУТЬ_ДО_КАТАЛОГА.
Например:
ncdu / - анализирует всю корневую систему
ncdu /home - анализирует домашний каталог

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

Итог: чистота — залог стабильности

Генеральная уборка Arch Linux — это не прихоть, а важная часть ухода за системой. Даже самая аккуратная установка со временем накапливает мусор: кэши, старые пакеты, временные файлы, дубликаты. Всё это постепенно съедает место, особенно критичное на небольших SSD или при скромном выделении под корневую файловую систему.

Мы прошли основные шаги очистки:

  • почистили кэш pacman и AUR-хелперов,

  • избавились от неиспользуемых зависимостей,

  • разобрались с мусором в /home с помощью ncdu и BleachBit.

Проводите уборку раз в пару месяцев — и ваша система будет работать, как новая. А может, даже лучше.

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


  1. meixnt
    19.08.2025 14:04

    Думаю, стоит упомянуть утилиту `paccache` -- как раз подходит для регулярной очистки кэша pacman'а, можно стартовать через timer в systemd.


    1. zeroqxq Автор
      19.08.2025 14:04

      Да, спасибо огромное за ваш комментарий


    1. xotkot
      19.08.2025 14:04

      можно стартовать через timer в systemd

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

      $ cat /etc/pacman.d/hooks/cache_clearing.hook 
      [Trigger]
      Operation = Remove
      Operation = Install
      Operation = Upgrade
      Type = Package
      Target = *
      
      [Action]
      Description = очистка кэша pacman (hook /etc/pacman.d/hooks/cache_clearing.hook)
      When = PostTransaction
      #Exec = /usr/bin/paccache -rvk1
      Exec = /usr/bin/paccache -rvk0
      

      где k1(здесь за комментирован) оставить только последнее поколение пакетов в кэше;
      k0 зачистить кэш полностью
      и всё это проделать после(PostTransaction) события установки/обновления/удаления пакетов


      1. zeroqxq Автор
        19.08.2025 14:04

        Спасибо это очень поможет


  1. xotkot
    19.08.2025 14:04

    Проводите уборку раз в пару месяцев — и ваша система будет работать, как новая. А может, даже лучше.

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

    $ pacman-conf CacheDir
    /tmp/pacman/pkg/
    

    а за одно и сборочный полигон от aur-хелпера, пример для yay:

    $ jq -r '.buildDir' .config/yay/config.json
    /tmp/yay
    

    в общем, очистка происходит естественным образом при перезагрузке компьютера.

    раньше использовал хук для пакмана который оставлял к кэше только последнее поколение пакетов вместо стандартных трёх, но сегодня считаю даже это расточительным с учетом доступности интернета и такого ресурса как https://archive.archlinux.org


    1. JBFW
      19.08.2025 14:04

      У меня к примеру сейчас аптайм - 22 дня, и это, если правильно помню, из-за вынужденной перезагрузки.

      А так обычно не выключается вообще...


      1. xotkot
        19.08.2025 14:04

        если у вас установлена система с ролинг-релизом по типу arch-а которая подразумевает частые обновления в том числе критически важных систем вроде ядра и разных драйверов, то редкие перезагрузки системы при частом обновлении это очень плохая идея. Те же ядра обычно выпекают 1-2 раза в неделю https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/commits/main, перезагрузка после установки оных крайне рекомендуется делать, чтобы потом не гадать а что же пошло не так.


    1. zeroqxq Автор
      19.08.2025 14:04

      Спасибо, буду знать


    1. zeroqxq Автор
      19.08.2025 14:04

      Спасибо


    1. andreymal
      19.08.2025 14:04

      Обновлять пакет cuda на 16-гиговой машине случайно может оказаться больно


      1. xotkot
        19.08.2025 14:04

        с чего бы ?
        он скорее всего даже на 8-гиговой машине установиться без проблем

        загружаемый пакет весит порядка 3гиг, а точнее

        $ sudo pacman -S cuda
        разрешение зависимостей...
        проверка конфликтов...
        
        Пакет (4)            Новая версия                Изменение размера  Размер загрузки
        
        extra/gcc14          14.3.1+r25+g42e99e057bd7-1         172,66 MiB        43,40 MiB
        extra/gcc14-libs     14.3.1+r25+g42e99e057bd7-1           0,87 MiB         0,30 MiB
        extra/opencl-nvidia  580.76.05-4                         85,55 MiB         5,65 MiB
        extra/cuda           12.9.1-2                          7191,42 MiB      2788,18 MiB
        
        Будет загружено:    2837,52 MiB
        Будет установлено:  7450,51 MiB
        
        :: Приступить к установке? [Y/n] 
        

        даже если предположить что размер /tmp оставлен по дефолту а это 50% от ОЗУ, то для 8-гиговой в запасе еще останется чуть больше 1 гига для загрузки остальных пакетов и той "мишуры" что обычно по дефолту лежит в /tmp
        (понятное дело что для пользования 8-гиговой машинкой нужен определённый аскетизм в плане DE, браузера со 100500 запущенных вкладок и других программ одновременно нагружающими машину, конечно можно использовать своп и другие приблуды по типу zram, но тут уже кто как может так и ...)
        На саму распаковку(~7.5 гиг) tar/zst тратить довольно мало памяти, порядка 40 мб если судить по htop, упор в основном идёт на использование процессора.
        Ну а чтобы не оставлять эти несколько гиг лежать мёртвым грузом до перезагрузки то можно воспользоваться хуком из моего комментария выше, тогда после установки пакетов ОЗУ станет девственно чистой как и до их установки.

        p.s.
        для более эффективного задействования ОЗУ через /tmp, ведь туда можно скидывать не только кэши пакмана но и много чего еще для увеличения быстродействия и сохранения ресурса диска, можно задать в /etc/fstab размер \tmp в 70,80 или даже 90%

        tmpfs /tmp tmpfs rw,nosuid,nodev,noswap,size=90% 0 0
        


  1. kaspary
    19.08.2025 14:04

    ncdu /home - анализирует домашний каталог

    он анализирует домашние каталоги всех пользователей, поэтому если первым на диске идет папка не с вашим пользователем, то есть вероятность (несмотря на sudo) что вылетил premissions denied