Dépôt local AUR compilé
Si vous disposez de plusieurs PC sous Arch Linux, qu'ils sont raccordés sur le même réseau local, et qu'en plus ils soient tous avec la même architecture alors vous êtes dans le cas où un dépôt local est intéressant.
Lors d'une mise à jour d'un paquets provenant d'AUR sauvez le paquet compilé dans un répertoire et partagez le avec vos autres PC.
Prérequis
L'utilisation d'un programme comme Yaourt ou Yay est fortement conseillé afin de rendre l'opération de sauvegarde des paquets transparente. Dans la suite de ce document ils seront utilisés.
Les programmes pkgcacheclean ou paccache du paquet pacman-contrib et xdelta3 permettront respectivement de nettoyer le répertoire dépôt et d'utiliser la fonction delta lors de la reconstruction de la base des programmes disponibles. Plus d'informations sur paccache dans la page Ameliorer Pacman.
Configuration
Sur le PC miroir créer un répertoire cache, qui contiendra les paquets compilés, à la racine du serveur web.
..../http/<nom_du_dépôt>/x86_64
ln -s <chemin_du_répertoire> .../http/<nom_du_dépôt>/x86_64
Ajouter le répertoire de destination des paquets compilés dans le fichier de configuration de makepkg.
# PACKAGE OUTPUT PKGDEST="<chemin_du_répertoire>"
Modification du fichier de configuration de Yaourt pour la sauvegarde des paquets construits.
# Build EXPORT=1 # Export to 1: EXPORTDIR #EXPORTSRC=0 # Need EXPORT>0 to be used EXPORTDIR="<chemin_du_répertoire>" # If empty, use makepkg's configuration
Ajout du nouveau dépôt dans le fichier de configuration de pacman, sur les autres PC du réseau. À placer en fin de fichier juste avant celui d'AUR Archlinuxfr
[<nom_du_depot>] # Dépôt local pour les paquets d'AUR déjà compilés et construits SigLevel = Optional TrustAll Server = http://<adresse_ip>/<nom_du_depot>/$arch [archlinuxfr]
Utilisation
Mise à jour :
yaourt -Suay ou yay -Suy
Nettoyage du répertoire cache pour ne conserver que la dernière version de chaque paquet inclus :
pkgcacheclean -v 1 -d <chemin_du_répertoire> ou paccache -r -v -k 1 -c <chemin_du_répertoire>
L'option -v : pour afficher les paquets qui ont été supprimés.
L'option 1 : pour ne garder que la dernière version des paquets présents dans le répertoire.
pkgcacheclean -nv 1 -d <chemin_du_répertoire>
ou
paccache -r -v -z -c <chemin_du_répertoire>
Création des fichiers du contenu du répertoire : <nom_du_dépôt>.db et <nom_du_dépôt>.files
repo-add <chemin_du_répertoire>/<nom_du_depot>.db.tar.gz <chemin_du_répertoire>/*.pkg.tar.xz
Adjonction de nouveaux paquets :
repo-add -n <chemin_du_répertoire>/<nom_du_depot>.db.tar.gz <chemin_du_répertoire>/*.pkg.tar.xz
Modification de la version des paquets existants déjà dans la base après un changement de version :
repo-add -d <chemin_du_répertoire>/<nom_du_depot>.db.tar.gz <chemin_du_répertoire>/*.pkg.tar.xz