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)
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
JBFW
19.08.2025 14:04У меня к примеру сейчас аптайм - 22 дня, и это, если правильно помню, из-за вынужденной перезагрузки.
А так обычно не выключается вообще...
xotkot
19.08.2025 14:04если у вас установлена система с ролинг-релизом по типу arch-а которая подразумевает частые обновления в том числе критически важных систем вроде ядра и разных драйверов, то редкие перезагрузки системы при частом обновлении это очень плохая идея. Те же ядра обычно выпекают 1-2 раза в неделю https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/commits/main, перезагрузка после установки оных крайне рекомендуется делать, чтобы потом не гадать а что же пошло не так.
andreymal
19.08.2025 14:04Обновлять пакет cuda на 16-гиговой машине случайно может оказаться больно
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
kaspary
19.08.2025 14:04ncdu /home
- анализирует домашний каталогон анализирует домашние каталоги всех пользователей, поэтому если первым на диске идет папка не с вашим пользователем, то есть вероятность (несмотря на sudo) что вылетил premissions denied
meixnt
Думаю, стоит упомянуть утилиту `
paccache
` -- как раз подходит для регулярной очистки кэша pacman'а, можно стартовать через timer в systemd.zeroqxq Автор
Да, спасибо огромное за ваш комментарий
xotkot
если событие(установка, обновление) у нас привязано к пакману то логично будет использовать его хук а не какой-то отвлечённый таймер.
вот когда-то использовал что-то типа такого:
где
k1
(здесь за комментирован) оставить только последнее поколение пакетов в кэше;k0
зачистить кэш полностьюи всё это проделать после(PostTransaction) события установки/обновления/удаления пакетов
zeroqxq Автор
Спасибо это очень поможет