Очистка кэша пакетов мендежера Pacman в ArchLinux. Linux статьи
Написать статью
Войдите, чтобы писать статьи

Очистка кэша пакетов мендежера Pacman в ArchLinux

38

Очистка кэша pacman в ArchLinux

Материал написан пользователем сайта.

Использую дистрибутив ArchLinux. Для управления пакетами использую пакетный менеджер pacman. У него есть одна особенность — он сохраняет в кэш все архивы пакетов, которые загружает. Кэш никогда не очищается, в нем остаются даже те версии пакетов, которые были удалены, или уже обновились и больше неактуальны. Со временем кэш начинает разрастаться, и его размер на диске может достигать нескольких гигабайт. Для удаления пакетов из кэша предназначена специальная утилита paccache. Рассмотрим, как можно очистить кэш.

Расположение и размер кэша

Кэш pacman расположен в директории /var/cache/pacman/pkg/

Узнать размер кэша:

du -sh /var/cache/pacman/pkg/

Установка утилиты paccache

Утилита paccache находится в пакете pacman-contrib. Установка:

sudo pacman -S pacman-contrib

Очистка кэша

Для удаления пакетов из кэша необходимо запустить утилиту paccache с ключом -r. Рассмотрим несколько вариантов использования утилиты.

Удалить все кэшированные пакеты, кроме трех самых последних для каждого пакета:

sudo paccache -r

В результате я очистил больше 27GB:

Результат выполнения очистки кэша.

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

sudo paccache -rk2

Удалить все кэшированные пакеты, которых уже нет в системе (уже были удалены из системы, но архивые есть в кэше) — используется ключ -u:

sudo paccache -ruk0

Справка по paccache

Просмотр всех опций команды paccache:

paccache -h
Краткая справка по опциям команды paccache.

Справка по paccache:

man paccache
Лайков: +20
войдите, чтобы ставить лайки
38
  • Опубликовано: 22.03.2024
  • TuxDriver

Комментарии

x230
Активный пользователь
Активный
22.03.2024
10:41
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+4
войдите, чтобы ставить лайки
+
Нормально, чё...
Кому-то пригодится.
Minor748
Активный пользователь
Активный
22.03.2024
19:17
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийx230Родительский комментарий
+1
войдите, чтобы ставить лайки
Спросить хотел днём да забыл: Artix ещё тискаешь или теперь Арч чистый?
x230
Активный пользователь
Активный
22.03.2024
19:24
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
0
войдите, чтобы ставить лайки
Artix у меня не идёт ни в каком варианте.
Не знаю, чего они там открутили, но вот так...
Сдаётся мне, что если бы разрабы Артикса сконцентрировались, например, только на одном openrc или на runit, то был бы толк. А по факту получается как в пословице: "за двумя заяйцами погонишься, ни одного заяйца не поймаешь!"

А с Арчем засада из-за моей лени: никак не соберусь добить archiso.
Minor748
Активный пользователь
Активный
22.03.2024
19:59
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийx230Родительский комментарий
0
войдите, чтобы ставить лайки
Ладно, это уже вопрос личных извращений …
Стоит там запасной EndeavourOS. Не знаю, как проявила бы себя EOS на постоянку, но сдаётся мне, что это всё из-за systemd — настолько глубоко встроили, что полноценно вычистить либо невозможно, либо сложно, и чтоб ничего не сломать. Поэтому несколько лет назад закрылся проект Manjaro OpenRC, как и Арч (я такой сборки тогда не нашёл, может тоже прикрыли ввиду изложенных выше причин).
Rom
Активный пользователь
Активный
22.03.2024
20:59
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
0
войдите, чтобы ставить лайки
Арч после чистки systemd работает до обновления. У меня так. Возможно потому что KDE, плюс вайланд фиг выпилишь, а он systemd требует даже если иксовая сессия. Постоянные шебуршания в системе. Глючно все. Дженту тоже не вариант - это система навсегда, по быстрому не переустановить в случае чего. Artix на 4060ti падает еще в процессе установки, монитор начинает артефачить. Из крыски manjaro приемлемо выпилилась, но мне крыска не очень
Minor748
Активный пользователь
Активный
22.03.2024
22:18
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийRomРодительский комментарий
0
войдите, чтобы ставить лайки
Когда пытался вычистить, то в процессе удаления компонентов смекнул, что стоит поставить … (вот тут не помню) … то ли LXQt, то ли Xfce, то есть что-то облегчённое, где зависимостей меньше будет. Не помню уже, чем это закончилось, но ковырять мне надоело и я просто поставил EOS, тем более, что от Манджаро я в целом не в восторге был (и остаюсь).
olegus
Активный пользователь
Активный
23.03.2024
16:09
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийx230Родительский комментарий
+1
войдите, чтобы ставить лайки
С СИ Artix'а вполне согласен. Были с ним проблемы, но версия с dinit адекватно работает.
x230
Активный пользователь
Активный
23.03.2024
16:14
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийolegusРодительский комментарий
0
войдите, чтобы ставить лайки
Учту.
Попробую на досуге (в очередной раз, - может чудо всё-таки случилось).
+
olegus
Активный пользователь
Активный
23.03.2024
16:21
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийx230Родительский комментарий
0
войдите, чтобы ставить лайки
Но: "Работоспособность - величина не постоянная"
x230
Активный пользователь
Активный
23.03.2024
17:13
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийolegusРодительский комментарий
+1
войдите, чтобы ставить лайки
Я немножко в курсе про dinit.
Эта СИ - быстрая, простая, си речь: надежная.
Но "простота" не всегда комильфо.
И для моего железа не факт, что подойдёт.
Посмотрим.
Уже скачал Artix LXDE dinit
crud
Активный пользователь
Активный
22.03.2024
10:46
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+5
войдите, чтобы ставить лайки
А еще можно создать хук который сам будет после обновлений очищать кэш

/etc/pacman.d/hooks/remove_old_cache.hook

[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *

[Action]
Description = Purning package cache...
When = PostTransaction
Exec = /usr/bin/paccache -rk2

И в /etc/pacman.conf раскоментировать строку

HookDir = /etc/pacman.d/hooks/
Rom
Активный пользователь
Активный
22.03.2024
11:03
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийcrudРодительский комментарий
+1
войдите, чтобы ставить лайки
+ вот про хуки уже интереснее
vantiki
Активный пользователь
Активный
22.03.2024
11:36
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+2
войдите, чтобы ставить лайки
+, явно кому то будет полезно.

Добавлю, чтобы автоматически чистить кэш, можно настроить paccache-юнит в systemd. В таймере просто выставить промежуток в неделю, месяц или как будет удобно. Все автоматом будет чиститься, без лишних заморочек со стороны пользователя.
vantiki
Активный пользователь
Активный
22.03.2024
11:39
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийvantikiРодительский комментарий
+3
войдите, чтобы ставить лайки
Строки ниже добавить в /etc/systemd/system/paccache.timer:

[Unit]
Description=Clean-up old pacman pkg

[Timer]
OnCalendar=monthly # можно заменить на daily, чтобы чистить каждый день

Persistent=true

[Install]
WantedBy=multi-user.target

Ну и включим службу:

sudo systemctl enable paccache.timer
LexD
Активный пользователь
Активный
22.03.2024
18:16
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийvantikiРодительский комментарий
0
войдите, чтобы ставить лайки
Люблю заморочки.
Rom
Активный пользователь
Активный
22.03.2024
13:08
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+4
войдите, чтобы ставить лайки
Мда. Неправ я был. Такие статьи тоже нужны. Сайт наполняется. Постепенно появятся статьи и обсуждения о решении сложных проблем. От меня тоже +
choice
Активный пользователь
Активный
22.03.2024
13:22
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийRomРодительский комментарий
+1
войдите, чтобы ставить лайки
Не каждый так скажет - оценил.
Kaa
22.03.2024
13:45
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+2
войдите, чтобы ставить лайки
sudo pacman -Scc
Зачем специальная утилита?
Minor748
Активный пользователь
Активный
22.03.2024
16:14
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийKaaРодительский комментарий
0
войдите, чтобы ставить лайки
pacman -Sc — очистка кэша неустановленных пакетов
pacman -Scc — очистка кэша пакетов
yranehor
22.03.2024
13:47
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+3
войдите, чтобы ставить лайки
pacman -Sc - удалит кеш пакетов, оставив последние версии оных
pacman -Scc - удалит кеш всех пакетов.
Куда еще проще.
Petwell
Активный пользователь
Активный
22.03.2024
13:56
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
"В результате я очистил больше 27GB"... У меня юбунта со снапами занимает 8GB на диске, однако.
xKDE
Активный пользователь
Активный
22.03.2024
13:56
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+3
войдите, чтобы ставить лайки
Что только не придумают, лишь бы нормальный пакетный менеджер не писать)
Minor748
Активный пользователь
Активный
22.03.2024
14:00
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
0
войдите, чтобы ставить лайки
По типу apt, который в многопоток не умеет?
Одна причин появления nala, которая мало того что умеет, так ещё и оформление приятное (читай удобное) имеет.
xKDE
Активный пользователь
Активный
22.03.2024
14:10
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
+1
войдите, чтобы ставить лайки
Для начала apt умеет в многопоток)
Nala не пробовал, ибо не нужен. Если apt не хватает запускайте apt-fast.
А pacman... Ну такое себе поделие)
vantiki
Активный пользователь
Активный
22.03.2024
14:18
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
+3
войдите, чтобы ставить лайки
Чего же вам так pacman то не угодил? Быстрый, можно хоть 20 параллельных загрузок сделать, гибкий очень, те же хуки, например. Считаю одним из самых лучших пакетников в принципе, сравниться с ним может разве что войдовский xbps, имхо.
xKDE
Активный пользователь
Активный
22.03.2024
14:31
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийvantikiРодительский комментарий
0
войдите, чтобы ставить лайки
Да мне он, собственно, побоку. Тут дело личных предпочтений. Portage, apt, rpm мне как-то больше нравятся архитектурно. А хотите скорости - попробуйте apk. Но "быстрые драндулеты" мне уже не по возрасту)
scorpii
Активный пользователь
Активный
22.03.2024
18:19
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
+2
войдите, чтобы ставить лайки
а какие могут быть предпочтения у пользователей арч? каким боком им пришить себе арт? а главное - зачем?
точно так же как пакман не нужен дебиан, генту, красной шапочке.
AkhmedSataja
Активный пользователь
Активный
22.03.2024
18:36
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийscorpiiРодительский комментарий
+1
войдите, чтобы ставить лайки
мне pkg_add, pkg_delete, pkg_info хватает.
scorpii
Активный пользователь
Активный
22.03.2024
19:24
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийAkhmedSatajaРодительский комментарий
0
войдите, чтобы ставить лайки
Очень рад за Вас, но как это связано с темой статьи?
AkhmedSataja
Активный пользователь
Активный
22.03.2024
19:40
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийscorpiiРодительский комментарий
0
войдите, чтобы ставить лайки
я бы был благодарен за совет, как кэш почистить в опенке.
scorpii
Активный пользователь
Активный
22.03.2024
19:42
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийAkhmedSatajaРодительский комментарий
0
войдите, чтобы ставить лайки
Ну так изучите тему, напишите статью, Вам это уж точно под силу. Кроме Вас тут практически нет реальных пользователей.
vantiki
Активный пользователь
Активный
22.03.2024
19:44
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийAkhmedSatajaРодительский комментарий
0
войдите, чтобы ставить лайки
Вроде через pkg_check можно. Как минимум удаляет недоустановленные пакеты.

https://man.openbsd.org/pkg_check
xKDE
Активный пользователь
Активный
23.03.2024
07:42
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийAkhmedSatajaРодительский комментарий
0
войдите, чтобы ставить лайки
А что, 'pkg clean -a' не рабочий уже.
На постоянку
pkg.conf
AUTOCLEAN=true
xKDE
Активный пользователь
Активный
23.03.2024
07:45
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийscorpiiРодительский комментарий
0
войдите, чтобы ставить лайки
Пакетник и политика мейнтейнеров отличает один линь от другого. Ничего пришивать не нужно, нравятся "драндулеты" - ездят на них, не нравятся - пересаживаются!)
Minor748
Активный пользователь
Активный
22.03.2024
15:35
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
0
войдите, чтобы ставить лайки
По мне, так его по причинам оформления хотя бы стоит использовать. Но да, кому btop, кому htop, а кому-то "top в топе"
https://pingvinus.ru/gallery/4327
xKDE
Активный пользователь
Активный
23.03.2024
08:07
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
0
войдите, чтобы ставить лайки
У меня обновление скриптом выполняется, вывод в терминале мне не интересен, с рюшечками он или без)
LexD
Активный пользователь
Активный
22.03.2024
17:55
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+2
войдите, чтобы ставить лайки
+
Нормально.
Мне пригодилось.

sudo paccache -rk2
==> finished: 453 packages removed (disk space saved: 2.04 GiB)

sudo paccache -ruk0
==> finished: 94 packages removed (disk space saved: 266.59 MiB)
Алекс
22.03.2024
23:34
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Нормально пригодилось)))
это я удачно зашел)
70Гб кэш был!

Написать комментарий

Ваше имя:
Текст комментария:
  • Уважать других.
  • Не ругаться.
  • Без оскорблений.
  • Без грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
Правила