Comments 14
Думаю, стоит упомянуть утилиту `paccache
` -- как раз подходит для регулярной очистки кэша pacman'а, можно стартовать через timer в systemd.
Да, спасибо огромное за ваш комментарий
можно стартовать через timer в systemd
если событие(установка, обновление) у нас привязано к пакману то логично будет использовать его хук а не какой-то отвлечённый таймер.
вот когда-то использовал что-то типа такого:
$ cat /etc/pacman.d/hooks/cache_clearing.hook
[Trigger]
Operation = Remove
Operation = Install
Operation = Upgrade
Type = Package
Target = *
[Action]
Description = очистка кэша pacman (hook /etc/pacman.d/hooks/cache_clearing.hook)
When = PostTransaction
#Exec = /usr/bin/paccache -rvk1
Exec = /usr/bin/paccache -rvk0
где k1
(здесь за комментирован) оставить только последнее поколение пакетов в кэше;
k0
зачистить кэш полностью
и всё это проделать после(PostTransaction) события установки/обновления/удаления пакетов
Проводите уборку раз в пару месяцев — и ваша система будет работать, как новая. А может, даже лучше.
это конечно хорошо, но как по мне лучше искоренить проблему на корню.
Зачем постоянно чистить кэш если можно его просто разместить в оперативке
$ pacman-conf CacheDir
/tmp/pacman/pkg/
а за одно и сборочный полигон от aur-хелпера, пример для yay:
$ jq -r '.buildDir' .config/yay/config.json
/tmp/yay
в общем, очистка происходит естественным образом при перезагрузке компьютера.
раньше использовал хук для пакмана который оставлял к кэше только последнее поколение пакетов вместо стандартных трёх, но сегодня считаю даже это расточительным с учетом доступности интернета и такого ресурса как https://archive.archlinux.org
У меня к примеру сейчас аптайм - 22 дня, и это, если правильно помню, из-за вынужденной перезагрузки.
А так обычно не выключается вообще...
если у вас установлена система с ролинг-релизом по типу arch-а которая подразумевает частые обновления в том числе критически важных систем вроде ядра и разных драйверов, то редкие перезагрузки системы при частом обновлении это очень плохая идея. Те же ядра обычно выпекают 1-2 раза в неделю https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/commits/main, перезагрузка после установки оных крайне рекомендуется делать, чтобы потом не гадать а что же пошло не так.
Спасибо, буду знать
Спасибо
Обновлять пакет cuda на 16-гиговой машине случайно может оказаться больно
с чего бы ?
он скорее всего даже на 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
ncdu /home
- анализирует домашний каталог
он анализирует домашние каталоги всех пользователей, поэтому если первым на диске идет папка не с вашим пользователем, то есть вероятность (несмотря на sudo) что вылетил premissions denied
Генеральная уборка. Чистим Arch Linux от мусора