Все об 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