Page 1 sur 1

[ en cours ] cache pacman [ question ]

Publié : dim. 16 nov. 2025, 10:50
par iznobe
Bonjour , j' ai trouvé ce post : viewtopic.php?t=21367 et celui-ci https://www.reddit.com/r/archlinux/comm ... rge/?tl=fr , mais du coup j ' hesite ...
Actuellement un état rapide du système :

Code : Tout sélectionner

[iznobe@archlinux ~]$ df -Th
Sys. de fichiers Type          Taille Utilisé Dispo Uti% Monté sur
dev              devtmpfs         16G       0   16G   0% /dev
run              tmpfs            16G    9,8M   16G   1% /run
efivarfs         efivarfs        256K     67K  185K  27% /sys/firmware/efi/efivars
/dev/nvme0n1p3   ext4             29G     24G  3,6G  88% /
tmpfs            tmpfs            16G       0   16G   0% /dev/shm
tmpfs            tmpfs           1,0G    209M  816M  21% /home/iznobe/.cache
mergerfsPool     fuse.mergerfs    20T    7,4T   12T  39% /Vidéos
tmpfs            tmpfs            32G     12K   32G   1% /tmp
tmpfs            tmpfs           1,0G     84K  1,0G   1% /var/log
tmpfs            tmpfs            32G       0   32G   0% /var/tmp
/dev/sdc3        ext4            2,7T    1,3T  1,4T  48% /datas
/dev/sdb2        ext4            512G    450G   62G  88% /media/SAUV
/dev/sdd1        ext4            1,9T    964G  973G  50% /media/Disques/WD8PRO1_P1
/dev/sdd2        ext4            5,4T     21G  5,4T   1% /media/Videos/WD8PRO1_P2
/dev/sdb1        ext4            6,7T    4,4T  2,3T  66% /media/Videos/WD8
/dev/sde1        ext4            7,3T    3,1T  4,3T  42% /media/Videos/WD8PRO2
/dev/nvme0n1p2   vfat            999M     58M  941M   6% /efi
tmpfs            tmpfs           3,2G     68K  3,2G   1% /run/user/1000
tmpfs            tmpfs           1,0M       0  1,0M   0% /run/credentials/systemd-journald.service
[iznobe@archlinux ~]$
et :

Code : Tout sélectionner

[iznobe@archlinux ~]$ sudo du /var -haxd3 | sort -rh | head -20
15G     /var/cache/pacman/pkg
15G     /var/cache/pacman
15G     /var/cache
15G     /var
152M    /var/lib
102M    /var/lib/flatpak
92M     /var/lib/flatpak/appstream
46M     /var/lib/pacman
38M     /var/lib/pacman/local
27M     /var/cache/swcatalog/cache
27M     /var/cache/swcatalog
9,7M    /var/lib/flatpak/repo
8,3M    /var/lib/pacman/sync
3,5M    /var/lib/sddm/.cache
3,5M    /var/lib/sddm
2,3M    /var/cache/fontconfig
1,1M    /var/cache/fontconfig/923e285e415b1073c8df160bee08820f-le64.cache-9
784K    /var/cache/fontconfig/923e285e415b1073c8df160bee08820f-le32d4.cache-9
328K    /var/lib/systemd
292K    /var/lib/systemd/catalog
[iznobe@archlinux ~]$ 
le fichier de config :

Code : Tout sélectionner

[iznobe@archlinux ~]$ cat /etc/pacman.conf
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
#Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
ParallelDownloads = 5
DownloadUser = alpm
#DisableSandbox

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

#[core-testing]
#Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

#[extra-testing]
#Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

#[multilib]
#Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

[sublime-text]
Server = https://download.sublimetext.com/arch/stable/x86_64
[iznobe@archlinux ~]$ 
Quelle serait donc la meilleure strategie a adopter pour eviter de me retrouver avec une racine pleine au niveau du cache pacman ?

Re: [ en cours ] cache pacman [ question ]

Publié : dim. 16 nov. 2025, 12:49
par benjarobin
Bonjour,
C'est très personnel, mais cela ne m'arrive jamais ou presque de devoir réinstaller un paquet avec la version courante, et cela m'arrive tout aussi rarement de devoir revenir en arrière.
Il faut comprendre à quoi sert le cache de pacman, juste d'éviter de retélécharger un paquet. Mais si celui-ci a été installé, il n'a plus jamais besoin d'être retéléchargé (sauf si tu le demandes explicitement de le faire, mais comme indiqué, cela ne m'arrive presque jamais).
De plus, aujourd'hui, on a des connexions très rapides. Et pour revenir en arrière, il y a https://wiki.archlinux.org/title/Arch_Linux_Archive

Et si tu dois revenir en arrière, tu dois très souvent conserver N-1 (voire N-2) versions au moins de chacun des paquets, ce qui représente beaucoup d’espace disque, pour une action à réaliser au maximum une fois tous les deux ans (et juste pour revenir en arrière sur un seul paquet…).

Donc, en résumé je ne garde aucun cache. Et quand je fais une mise à jour, je fais toujours cette suite d'actions : viewtopic.php?p=179773#p179773
En résumé, je vais exactement cela :
  • yay : mise à jour
  • yay -Qma : Liste les paquets qui ne sont plus dans les dépôts officiels (donc AUR, ...), s'il y a un paquet qui ne doit pas être là, je le supprime (par exemple, car supprimé des dépôts officiels)
  • yay -Qdtt : J'analyse la sortie, voir lien précédent pour plus de détails
  • yay -Rscn $( pacman -Qdttq ) : Si je veux supprimer tout ce qui n'est plus nécessaire. Attention de bien savoir ce que l'on fait avec cette commande. Si tu n'as pas un système bien maintenu, tu peux te retrouver à désinstaller l'intégralité des paquets !
  • yay -Scc : Supprime tous les caches
  • Il faut aussi gérer les .pacnew, mais je ne le fais pas tout le temps
  • reboot
  • fstrim -v -a : Après le reboot, on force directement un trim de tout l'espace libre. Ton SSD te dira merci, après tu peux attendre son déclenchement automatique toutes les semaines, mais je recommande cette méthode. Note bien le faire après le reboot, sinon cela ne sert à rien, car les fichiers sont toujours présents (les vieilles versions des fichiers sont réellement supprimées à la fermeture des applications les utilisant, donc à l'extinction du PC).
Si tu veux un système à minima entretenu, tu dois faire toutes ces actions à chaque mise à jour.

Re: [ en cours ] cache pacman [ question ]

Publié : dim. 16 nov. 2025, 18:56
par iznobe
Bonjour et merci pour la réponse .

j ' ai donc supprimé le cache , puis modifier pour mettre le cache en RAM .
redémarrage + fstrim .
Curieusement , je n' ai pas trouvé le résultat très probant :

Code : Tout sélectionner

[iznobe@archlinux ~]$ fstrim -v -a
[iznobe@archlinux ~]$ df -Th
Sys. de fichiers Type          Taille Utilisé Dispo Uti% Monté sur
/dev/nvme0n1p3   ext4             29G     24G  3,7G  87% /
devtmpfs         devtmpfs        4,0M       0  4,0M   0% /dev
tmpfs            tmpfs            16G       0   16G   0% /dev/shm
efivarfs         efivarfs        256K     67K  185K  27% /sys/firmware/efi/efivars
tmpfs            tmpfs           6,3G     18M  6,3G   1% /run
tmpfs            tmpfs           1,0M       0  1,0M   0% /run/credentials/systemd-journald.service
tmpfs            tmpfs           1,0G     46M  979M   5% /home/iznobe/.cache
mergerfsPool     fuse.mergerfs    20T    7,4T   12T  39% /Vidéos
tmpfs            tmpfs            32G    4,0K   32G   1% /tmp
tmpfs            tmpfs           1,0G     44K  1,0G   1% /var/log
tmpfs            tmpfs            32G       0   32G   0% /var/tmp
/dev/sdc3        ext4            2,7T    1,3T  1,4T  48% /datas
/dev/sdd1        ext4            1,9T    964G  973G  50% /media/Disques/WD8PRO1_P1
/dev/sdb2        ext4            512G    450G   62G  88% /media/SAUV
/dev/sdd2        ext4            5,4T     21G  5,4T   1% /media/Videos/WD8PRO1_P2
/dev/sdb1        ext4            6,7T    4,4T  2,3T  66% /media/Videos/WD8
/dev/sde1        ext4            7,3T    3,1T  4,3T  42% /media/Videos/WD8PRO2
/dev/nvme0n1p2   vfat            999M     58M  941M   6% /efi
tmpfs            tmpfs           3,2G     64K  3,2G   1% /run/user/1000
[iznobe@archlinux ~]$ sudo du /var -haxd3 | sort -rh | head -2
[sudo] Mot de passe de iznobe : 
15G     /var/cache/pacman/pkg
15G     /var/cache/pacman
[iznobe@archlinux ~]$ 
puis je ( dois je ) supprimer manuellement le contenu du dossier " /var/cache/pacman/pkg " ?

Code : Tout sélectionner

[iznobe@archlinux ~]$ history 15
  488  sudo pacman -Syu vlc
  489  top
  490  pacman -Qdt
  491  pacman -Qm
  492  sudo nano /etc/pacman.conf
  493  sudo pacman -Scc
  494  sudo nano /etc/pacman.conf
  495  sudo pacman -Scc
  496  sudo nano /etc/pacman.conf
  497  sudo reboot
  498  fstrim -v -a
  499  df -Th
  500  sudo du /var -haxd3 | sort -rh | head -2
  501  history 10
  502  history 15
[iznobe@archlinux ~]$ 

Re: [ en cours ] cache pacman [ question ]

Publié : dim. 16 nov. 2025, 20:08
par iznobe
Bon , en fait je ne repondais pas " o " ... et la réponse par défaut est " N " à la 1ere question ( pour vider le cache ) , bref , c ' est bon maintenant :

Code : Tout sélectionner

[iznobe@archlinux ~]$ sudo du /var -haxd3 | sort -rh | head -2
183M    /var
153M    /var/lib
[iznobe@archlinux ~]
je suis repassé a 34 % d ' espace utilisé pour racine .

Merci .

Re: [ en cours ] cache pacman [ question ]

Publié : dim. 16 nov. 2025, 20:21
par benjarobin
iznobe a écrit : dim. 16 nov. 2025, 18:56puis modifier pour mettre le cache en RAM .
Je te déconseille vivement de faire une telle chose.
Premièrement si c'est mal fait c'est une faille de sécurité. Je ne sais pas quel dossier tu as utilisé pour cela.
De plus cela nécessite beaucoup de RAM pour certaine mise à jour. Après si tu 32 Go ou plus ce n'est pas forcément un problème.