[Dépôt local] Utiliser le cache comme miroir (Terminé)

Questions et astuces concernant l'installation et la configuration d'archlinux
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1195
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

[Dépôt local] Utiliser le cache comme miroir (Terminé)

Message par karhu »

Bonjour
L'intérêt serait d'éviter les doubles ou triples téléchargements ainsi que la re-compilation d'un même paquet x fois, tous mes PC (5) étant sous Arch Linux x64_86. Ils sont installés et configurés d'une manière très semblable.
En m'inspirant de ce qui se fait chez Debian/Ubuntu je pensais créer un répertoire à la racine de mon serveur web Local/os/x64-86 qui pointerait par un lien symbolique vers /var/cache/pacman/pkg (ou ailleurs ?). Je ne laisserai que la dernière version dans ce répertoire.
Dans /etc/pacman.conf je rajoute :

Code : Tout sélectionner

[Local]
# Dépôt local pour gagner de la bande passante
SigLevel = Optional TrustAll
Server = http://192.168.1.15/$repo/os/$arch
Maintenant les questions :
Comment le référencer comme dépôt dans la base de données ?
Comment définir la liste des paquets qu'il contient ? Et la mettre à jour en même temps que celles des dépôts légaux ?
Comment le définir comme dépôt prioritaire lors des mises à jour sur les autres PC ?

Merci.
Dernière modification par karhu le dim. 07 mai 2017, 15:39, modifié 3 fois.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17222
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Dépôt local] Utiliser le cache comme mirroir

Message par benjarobin »

Bonjour,
Il existe plein de solution pour cela, je ne saurais te dire la meilleur : https://wiki.archlinux.org/index.php/Pa ... cman_cache ou https://wiki.archlinux.org/index.php/Pacserve
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1195
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [Dépôt local] Utiliser le cache comme miroir

Message par karhu »

Une fois le fichier /etc/pacman.conf modifié avec l'adjonction du nouveau dépôt sur les PC "esclaves", c'est bien sur eux que je dois lancer la commande :

Code : Tout sélectionner

repo-add 
mais je n'ai pas trouvé (pas compris :mrgreen: ) comment initialiser sur le dépôt Local cette liste de paquets contenus Local.db.tar.gz.
Dernière modification par karhu le lun. 24 avr. 2017, 23:39, modifié 1 fois.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17222
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Dépôt local] Utiliser le cache comme mirroir

Message par benjarobin »

Pourquoi tu fais compliqué ? Pourquoi ne pas considérer la chose comme un cache, voir les liens que je donne
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1195
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [Dépôt local] Utiliser le cache comme miroir

Message par karhu »

Je n'avais pas vu le deuxième lien !!! :oops:
Je regarde comment utiliser pacserve qui semble effectivement plus simple à mettre en œuvre. Pour l'instant je n'ai pas encore vu comment configurer le fichier /etc/pacman.d/pacserve ni bien compris si on doit utiliser pacsrv à la place de pacman ou avec.
Dernière modification par karhu le lun. 24 avr. 2017, 23:39, modifié 1 fois.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17222
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Dépôt local] Utiliser le cache comme mirroir

Message par benjarobin »

Le premier propose plein d'autres solutions aussi... Mais clairement il n'y a rien de trivial.
Mais en effet j'avais un peu oublier les paquets de AUR, toutes les solutions proposées ne couvrent pas ce cas d'usage, tu seras obligé dans ce cas de créer je pense un dépôt locale...

En faite tout dépend de comment tu veux partager les paquets (un serveur et des clients ou pleins de serveurs qui se synchronise entre eux).
Et s'il n'y a qu'un serveur, est-ce que le "serveur" sera toujours allumé, comment veux tu que cela fonctionne quand il est éteint ?
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1195
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [Dépôt local] Utiliser le cache comme miroir

Message par karhu »

Je commence toujours la mise à jour hebdomadaire par mon PC principal, puis pour les autres quand je les utilise au cours de la semaine.
Donc je dirai que ce PC principal sera le seul à avoir un cache partagé. C'est pour cette raison que j'envisageais plutôt la solution de miroir local.
Pour l'instant je n'ai installé pacserve que sur lui et demain je testerai sur un autre pour voir ce que cela donne. En fonction du résultat j'étendrai cette fonction, je créerai un miroir local sur mon serveur web ou je laisserai tomber. Non je plaisante. :D
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1195
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [Dépôt local] Utiliser le cache comme miroir

Message par karhu »

Bon le résultat n'est pas terrible.
J'ai modifié /etc/yaourtrc pour qu'il utilise pacsrv au lieu de pacman.
Sur la machine miroir-cache j'ai des erreurs de récupération des bases de données :

Code : Tout sélectionner

erreur : échec de récupération du fichier « core.db » depuis localhost:15678 : The requested URL returned error: 400
 core                                124,3 KiB  9,34M/s 00:00 [#################################] 100%
.....
normal ??? La mise à jour commence par le miroir cache qui ne contient qu'un dépôt : cache. Non déclaré dans /etc/pacman.conf puisqu'il ne peut pas contenir de paquets plus récents que ceux installés. Si je le déclare la mise à jour plante car il ne trouve pas cache.db.
Première question comment créer ce fichier et où le mettre ?

Pour le PC devant utiliser ce dépôt intermédiaire ça plante dans les deux cas suivants de la définition du dépôt [cache] décrit dans /etc/pacman.conf

Code : Tout sélectionner

[cache]
SigLevel = Optional TrustAll
Include = /etc/pacman.d/pacserve
#Server = http://localhost/pacman/cache/x86_64
ou

Code : Tout sélectionner

[cache]
SigLevel = Optional TrustAll
#Include = /etc/pacman.d/pacserve
Server = http://localhost/pacman/cache/x86_64
mon fichier /etc/pacman.d/pacserve, pour la machine miroir cache

Code : Tout sélectionner

# Adjust the port to match options in /etc/conf.d/pacserve
Server = http://localhost:15678/pacman/cache/$arch
et pour les autres

Code : Tout sélectionner

# Adjust the port to match options in /etc/conf.d/pacserve
Server = http://192.168.1.15:15678/pacman/cache/$arch
Des idées ? Ou je reviens sur ma décision d'économiser de la bande passante.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17222
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Dépôt local] Utiliser le cache comme miroir

Message par benjarobin »

Euh, c'est quoi ce dépôt cache ?
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1195
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [Dépôt local] Utiliser le cache comme miroir

Message par karhu »

C'est le nom du dépôt que je lui ai donné, local était déjà réservé. En fait il s'agit du contenu de /var/cache/pacman/pkg qui contient les dernière version des paquets mis à jour.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17222
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Dépôt local] Utiliser le cache comme miroir

Message par benjarobin »

Mais /var/cache/pacman/pkg n'est pas un dépôt, c'est le cache... Je ne comprend pas vraiment ce que tu essayes de faire...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1195
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [Dépôt local] Utiliser le cache comme miroir

Message par karhu »

Je voudrais utiliser ce répertoire cache comme dépôt local pour mes autres PC. Comme cela après la mise à jour de mon PC principal il contiendra les dernières versions des paquets que j'utilise sur presque tous mes autres PC.
De cette façon si ces derniers pouvaient aller regarder dedans en premier ils pourraient se mettre à jour à leur tour en téléchargeant par mon réseau interne au lieu d'aller sur internet, ce qui me diminuerait ma bande passante. En plus dans le cas de paquets AUR ils auraient déjà été compilés sur mon PC principal qui est un I7 à 12 cœurs d'où un gain de temps appréciable puisque les paquets seraient donc prêts à être installés.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17222
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Dépôt local] Utiliser le cache comme miroir

Message par benjarobin »

Euh, c'est le but de pacserve,
Tu peux utiliser un dépôt locale pour les paquets de AUR, mais pour le reste je te déconseille vivement de mettre les paquets des dépôts officiels dans un dépôt local car comment compte tu gérer la cohérence entre les versions des paquets ? C'est sûr à 100% que tu vas casser tes Arch Linux avec une telle méthode (qui n'est d'ailleurs pas listée dans les nombreuses méthodes pour partager un cache...)
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1195
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [Dépôt local] Utiliser le cache comme miroir

Message par karhu »

Je pense que hélas tu as raison. Je n'utilise pas pacserve complètement mais juste pour une partie qui n'est même pas incluse dedans, ou alors bien cachée. Demain je vais regarder comment utiliser un miroir tout simple, sans tous les dépôts pour y ranger les paquets en provenance d'AUR.
Sais tu comment créer ce p...... :non: de fichier <dépôt>.db et où le mettre ?
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1195
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [Dépôt local] Utiliser le cache comme miroir

Message par karhu »

En attendant de trouver une solution propre, genre dépôt local, je vais me contenter d'une solution bancale mais fonctionnelle.
Je sauvegarderai dans un répertoire, partagé sur le réseau, tous les paquets venant d'AUR après compilation sur mon PC principal.
Dans un premier temps je me contenterai d'un petit pacman -U <paquet>, (pas de remarque SVP) tout en continuant à chercher comment en faire un miroir. Créer le fichier <dépôt>.db et ou le mettre.
Je passe ce topic en suspendu en espérant le reprendre pour indiquer comment faire. :mrgreen:
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1195
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [Dépôt local] Utiliser le cache comme miroir (suspendu)

Message par karhu »

Comme toujours j'ai appliqué le bon vieux principe : pourquoi faire simple quand on peut faire compliqué !
Le wiki anglais fournit une possibilité de créer un dépôt local.
Pour l'instant j'ai testé en distant et en local le contenu d'un dépôt local nommé : paquets, accessible sur mon serveur local. Ce répertoire ne contient actuellement que les paquets compilés en provenance d'AUR. Bien sûr je n'ai actuellement pas de mise à jour à faire venant d'archlinuxfr :mrgreen: , toutes ont été faites de l'ancienne façon (en direct).
Avant de passer en résolu j'attendrai quand même une première réalisation avec des paquets construits.
Puis avec le cache de ma machine principale, pourquoi pas.
Ensuite je pensais mettre à jour le wiki français en fonction des résultats, mais dans quel article ?
Les dépôts
Améliorer pacman
ou où ?
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Fanch
archer
Messages : 144
Inscription : lun. 01 déc. 2008, 21:16

Re: [Dépôt local] Utiliser le cache comme miroir (suspendu)

Message par Fanch »

karhu a écrit : lun. 01 mai 2017, 12:13 Ensuite je pensais mettre à jour le wiki français en fonction des résultats, mais dans quel article ?
Les dépôts
Améliorer pacman
ou où ?
Salut,
Tu peux aussi créer une nouvelle page puisque c'est un sujet à part entière.
"The three principal virtues of a programmer are Laziness, Impatience, and Hubris." -> man perl
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1195
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [Dépôt local] Utiliser le cache comme miroir (suspendu)

Message par karhu »

Bonjour

Bon mon dépôt-cache local fonctionne bien. Pour l'instant il n'est utilisé que pour les paquets d'AUR compilés, mais il n'y a juste que le chemin d'un répertoire à changer pour le transformer en miroir cache. :D Y aura plus qu'à ......
Je pense mettre à jour le wiki Améliorer pacman ce qui correspondrait à peu près à la rubrique anglaise pacman/Tips and tricks.
Pour ceux impatients de lire ma prose voici un compte rendu pour l'utilisation d'un dépôt-cache par les PC d'un même réseau local.
Prérequis : tous les PC voulant bénéficier de ce dépôt-cache devront avoir la même architecture que lui.

PC avec le dépôt-cache
Prérequis : avoir un serveur web local en service sur le PC servant de dépôt-cache.
installer le paquet xdelta3 d'installer pour pouvoir utiliser la commande : redo-add -d
installer le paquet pkgcacheclean pour nettoyer facilement et en sécurité
Serveur web
à la racine du serveur créer le répertoire ou faire un lien symbolique vers lui :
http/<nom_du_depot>/x86_64 ou http/<nom_du_depot>/i686
Dépôt de paquets d'AUR compilés créer le répertoire devant les contenir
/etc/yaourtrc
# Build
EXPORT=1 # Export to 1: EXPORTDIR or PKGDEST
#EXPORTSRC=0 # Need EXPORT>0 to be used
EXPORTDIR="<chemin_du_répertoire>"
Dépôt de paquets mis à jour pour un gain de bande passante
/etc/yaourtrc
# Build
EXPORT=2 # 2: pacman cache (as root)
#EXPORTSRC=0 # Need EXPORT>0 to be used
EXPORTDIR="/var/cache/pacman/pkg"
Important :
Le PC contenant le dépôt-cache doit être mis à jour en premier !
Puis le répertoire doit être nettoyé pour ne contenir que la dernière version d'un paquet
pour un répertoire des paquets d'AUR compilés
pkgcacheclean 1 -d /<chemin_du_répertoire>
pour le cache
pacman -Sc ou pkgcacheclean 1
La liste de la base des paquet doit être mise à jour (ou refaite à chaque fois )
cd <chemin_du_répertoire>
repo-add <nom_du_depot>.db.tar.gz *.pkg.tar.xz # création
repo-add -n <nom_du_depot>.db.tar.gz *.pkg.tar.xz # ajout des nouveaux
repo-add -d <nom_du_depot>.db.tar.gz *.pkg.tar.xz # prise en compte des différences de version

PC utilisateurs
En fin du fichier juste avant [archlinuxfr] pour un dépôt de paquets d'AUR compilés
En début de fichier avant [core] pour un dépôt contenant tous les paquets mis à jour
/etc/pacman.conf
[<nom_du_depot>]
SigLevel = Optional TrustAll
Server = http://<adresse_ip>/paquets/$arch
Si ce n'est pas assez clair, merci de me corriger avant la mise à jour du wiki.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17222
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Dépôt local] Utiliser le cache comme miroir (Terminé)

Message par benjarobin »

Je t'ai déjà dit que faire un dépôt cache était une très mauvaise idée (sauf si tu ne mets que des paquets de AUR) ! Ne met pas ceci dans le Wiki ! Tu vas casser ton système, si tu ne vois pas le problème je ne peux rien pour toi
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1195
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [Dépôt local] Utiliser le cache comme miroir (Terminé)

Message par karhu »

D'accord.
En fait c'est comme cela que je l'utilise, en cache pour les paquets d'AUR compilés sur mon PC le plus puissant.
Je montrais juste la possibilité de partager un cache avec un serveur web, plutôt qu'avec un montage NFS comme décrit dans le wiki.
Si tu estimes que c'est une mauvaise idée je m'abstiendrai donc.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Répondre