Кеш pacman

akorop
Логичнее удалять … непосредственно перед очередным обновлением:
pacman -Sc
pacman -Syyu
Тогда более логично будет запускать хук очистки кеша перед транзакцией:
When = PreTransaction
Это будет и автоматически и без скрипта из двух строк.
---
Простите мою невнимательность. Только заметил, что об этом уже писал red.
red
тогда нужно использовать две 'c' (-Scc), так как одна просто удаляет из кеша только те пакеты которые больше не используются
Вот именно. Удаляются старые версии, а текущие - остаются. Будет на что откатиться, если что. У меня именно так и работает, не первый год. И ТС, насколько я понял, именно этого хочет.
А про --noconfirm не понял, у меня его нет, и непонятно, зачем нужен. Обновление я запускаю только вручную, и на пару вопросов в начале процесса мне ответить не западло.
Aivar
Тогда более логично будет запускать хук очистки кеша перед транзакцией:
When = PreTransaction
Это будет и автоматически и без скрипта из двух строк.
Мой вариант: скрипт из двух строчек. И возможность запустить pacmab "в лоб", без очистки (мало ли почему может захотеться).
Ваш вариант: установить добавочный пакет, разобраться и написать хук на девять строчек, и при этом потерять гибкость.
Если второй вариант логичнее, то, наверно, у меня что-то с головой, потому что такая логика в ней не укладывается.
vall
Ещё один, схожий вариант.
Статья.
Да вот же хук двухлетней давности (ну да, 9 строчек). Без всяких дополнительных пакетов. Обновился и тут же очистил кэш на необходимую глубину (всё удалил, 1 версию пакетов оставил и т.д.). Любое решение на выбор.

У меня прекрасно работает)
akorop
Вот именно. Удаляются старые версии, а текущие - остаются. Будет на что откатиться, если что.
а, ну да, действительно, здесь достаточно будет одного 'c'

akorop
А про –noconfirm не понял, у меня его нет, и непонятно, зачем нужен.
$ pacman -Sh | grep noconfirm
--noconfirm не спрашивать подтверждения
ну, мы же говорили про скрипт который автоматизирует рутинные действия, а параметр noconfirm хорошо для этого подходит
akorop
и на пару вопросов в начале процесса мне ответить не западло.
в данном случае я не вижу причин зачем тратить лишнее действие пользователя на подтверждение (Sc), ведь если это ему не нужно то как ты сам нанаписал ниже:
akorop
И возможность запустить pacman "в лоб", без очистки (мало ли почему может захотеться). .

akorop
Мой вариант: скрипт из двух строчек. …
Ваш вариант: установить добавочный пакет, разобраться и написать хук на девять строчек
как говорится: "Лучше день потерять, потом за пять минут долететь", да и "разобраться и написать хук на девять строчек" это сильно преувеличено, в самой вики раздела Pacman#Cleaning_the_package_cache есть сноска на пример с хуком, который интуитивно понятен и требует лишь внесение малых изменений.
Согласен что действий займет немного больше, хотя ненамного, но и сделать их нужно только единожды, зато, например, эффект по уменьшению потребления ресурсов при обновлении будет практически постоянным [ (скрипт + pacman -Sc) vs (hooks + paccache) ]

akorop
и при этом потерять гибкость
гибкость тоже довольно относительная штука, если действие полезно и нужно практически постоянно, то глупо это не автоматизировать, мало кому нужно N-ное количество поколений установочных пакетов в замен непомерно раздутого кеша на десятки гиг, подавляющему большинству хватит и последней стабильной что была у них установлена. (это как с тем системным журналом которого если не ограничить будет жрать не в меру)
поэтому тот же хук который оставляет последние версии перед обновлением у меня установлен на постоянной основе и не вижу причин от него отказываться.

p.s.
я вообще считаю что данную опцию(количества хранимых поколений установочных пакетов) не плохо было бы прописать в самом pacman.conf добавив его на ряду с параметром выбора папки для кеша.

p.s.2
сам хук
[Trigger]
Operation = Upgrade
Type = Package
Target = *
[Action]
Description = Очистка кеша pacman... [ хук /etc/pacman.d/hooks/clean_cache.hook ]
When = PreTransaction
Exec = /usr/bin/paccache -ruk1
опечатка постом выше, вместо -ruk1 использовать -rqk1 о чем и писалось в начале
[Trigger]
Operation = Upgrade
Type = Package
Target = *
[Action]
Description = Очистка кеша pacman... [ хук /etc/pacman.d/hooks/clean_cache.hook ]
When = PreTransaction
Exec = /usr/bin/paccache -rqk1
 
Зарегистрироваться или войдите чтобы оставить сообщение.