Все об Arch Linux

Arch Linux будет тем, что вы из него сделаете!

Корневой раздел заполняется: что делать и как почистить

Корневой раздел заполняется, потому что при установке в один раздел всё — система, кэш пакетов, журналы и твои файлы — лежит в одной куче. /var/cache/pacman/pkg копит каждую скачанную версию пакета, /var/log/journal растёт с каждым логом, старые ядра висят в /boot. Лечится это чисткой кэша, ограничением журнала и, на будущее, отдельными разделами для /home и /var.

Почему корень заполняется, а /home нет

Когда при установке ты отдал весь диск под один корневой раздел, у системы нет предохранителя. Всё, что пишется в систему, пишется в корень. А /home — это просто папка внутри корня, а не отдельный раздел. Поэтому когда корень забивается, страдает и домашняя директория: системе не хватает места, программы падают, обновления не встают.

Главные пожиратели места:

  • /var/cache/pacman/pkg — кэш всех скачанных пакетов. Каждое обновление оставляет старые версии. За год легко набегает 5–10 ГБ.
  • /var/log/journal — журнал systemd. Растёт постоянно, пока не упрётся в лимит.
  • /boot — старые ядра и initramfs, если их не чистить.
  • /var/tmp и ~/.cache — временные файлы и кэши приложений.

Как найти крупные файлы

Сначала посмотри, что вообще занимает место:

du -xh --max-depth=1 / | sort -h

-x не выходит за пределы файловой системы, --max-depth=1 показывает только верхний уровень, sort -h сортирует по размеру. В конце списка — самые жирные директории. Дальше спускайся глубже:

du -xh --max-depth=1 /var | sort -h

Так ты быстро найдёшь, кто съел место: кэш pacman, журнал или что-то ещё.

Как почистить pacman-кэш

/var/cache/pacman/pkg — главный подозреваемый. Каждый обновлённый пакет остаётся там навсегда, и старых версий копится много. Чистится это утилитой paccache из пакета pacman-contrib.

paccache -r удаляет все версии пакета, кроме последних трёх:

sudo paccache -r

Если места совсем мало, оставь только последнюю версию:

sudo paccache -rk1

Жёсткий вариант — pacman -Sc: удаляет из кэша всё, кроме установленных версий. Но после этого откатить пакет на старую версию из кэша не выйдет. Для повседневной чистки хватает paccache -r.

Как ограничить журнал systemd

/var/log/journal растёт незаметно, но стабильно. Ограничить его можно двумя способами.

Разово — подрезать до нужного размера:

sudo journalctl --vacuum-size=200M

Или по времени:

sudo journalctl --vacuum-time=14d

Чтобы журнал не разрастался снова, пропиши лимит в /etc/systemd/journald.conf:

SystemMaxUse=200M

После правки перезапусти службу:

sudo systemctl restart systemd-journald

Сироты и прочий мусор

Осиротевшие зависимости — пакеты, которые остались без хозяина. Проверка:

pacman -Qtdq

Пустой вывод — сирот нет. Если список есть, удаляй:

sudo pacman -Rns $(pacman -Qtdq)

Только сначала глянь, что там. Иногда сирота оказывается нужным. Про чистку кэша и сирот я подробно писал в статье про частичное обновление pacman.

Заодно загляни в /var/tmp и ~/.cache — там тоже копится мусор. Удалять можно смело, приложения пересоздадут кэш.

Как перенести /home на отдельный раздел

Если чистка не помогла, а места всё равно мало — выноси /home на отдельный раздел. Порядок такой:

  1. Сожми корневой раздел и создай новый (fdisk, cfdisk или parted).
  2. Отформатируй его:
sudo mkfs.ext4 /dev/sdX2
  1. Смонтируй и скопируй данные:
sudo mount /dev/sdX2 /mnt
sudo rsync -aXS --progress /home/ /mnt/
  1. Узнай UUID нового раздела:
blkid /dev/sdX2
  1. Добавь строку в /etc/fstab:
UUID=... /home ext4 defaults 0 2
  1. Перезагрузись и проверь, что /home смонтирован отдельно:
findmnt /home

Перед переносом сделай бэкап. rsync на свежий раздел — это уже копия, но лишняя страховка не помешает.

Частые вопросы

Какой размер корневого раздела достаточен?

ArchWiki рекомендует минимум 23–32 ГБ для одного корневого раздела. Голая система занимает около 2 ГБ, KDE Plasma — около 10 ГБ. Плюс запас на кэш и журналы.

Можно ли удалять файлы из /var/cache/pacman/pkg вручную?

Можно, но лучше paccache -r — она сама разберётся, какие версии оставить, а какие удалить.

Что делать, если корень заполнен на 100%?

Сначала освободи место: paccache -rk1, journalctl --vacuum-size=100M, удали старые ядра. Потом разберись, что растёт, через du -xh.

Нужен ли отдельный раздел для /var?

Не обязателен, но удобен: кэш pacman и журналы не смогут забить корень. ArchWiki советует 8–12 ГБ под /var на десктопе.

Заключение

Корневой раздел заполняется не потому, что Arch «жирный», а потому что всё лежит в одной куче. Регулярная чистка paccache -r, лимит журнала и проверка сирот решают проблему на 90%. А при следующей установке разбей диск на отдельные разделы: /, /home, /var — и корень больше не будет задыхаться. Рекомендации по разметке есть в чек-листе установки Arch и в пошаговом руководстве по установке Arch 2026.

Полезные ресурсы



Не получилось? Поможем настроить

Задай вопрос в чате — отвечаем быстро, по делу и без воды.

Читайте также

Комментарии

Загрузка…

Откроется GitHub: создайте новый issue с вашим комментарием (кнопка «Submit new issue»). После отправки обновите эту страницу — комментарий появится ниже.

Telegram Max