Search
Write a publication
Pull to refresh

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

Собственно к чему это. Я просто привел пример. Причем выше я указал пример для любого каталога.

Прочитай про права в Linux. И Permission denied не возникнет, так как рут имеет полный доступ практически ко всему.

Sign up to leave a comment.

Articles