Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
linuxaddict:administrer:aptcacherng [20/09/2018, 04:24] – [En cas de serveur DHCP non maîtrisé] Claude Clerc | linuxaddict:administrer:aptcacherng [26/07/2023, 19:37] (Version actuelle) – [Préparation] Claude Clerc | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
====== apt-cacher-ng le proxy-cache de paquets pour un LAN ====== | ====== apt-cacher-ng le proxy-cache de paquets pour un LAN ====== | ||
- | ===== Installation ===== | + | Apt-cacher-ng |
- | Tout est parfaitement expliqué [[https:// | + | |
- | ===== En cas de serveur DHCP non maîtrisé ===== | + | Tout est parfaitement expliqué [[https:// |
- | FIXME | + | En résumé et en prenant en compte les paquets spécifiques à LinuxMint : |
+ | |||
+ | ===== Sur le serveur local ===== | ||
+ | Par la suite, il est convenu que ce serveur tourne sous Debian. | ||
+ | ==== Installation ==== | ||
+ | Rien de plus simple : | ||
+ | sudo apt install apt-cacher-ng debdelta ca-certificates | ||
+ | |||
+ | ==== Miroirs de Linux Mint ==== | ||
+ | Vous devez installer le paquet '' | ||
+ | |||
+ | Vérifiez à l'aide votre navigateur, en visitant la page [[https:// | ||
+ | cd | ||
+ | export MMV=1.2.4 | ||
+ | wget https:// | ||
+ | sudo dpkg -i mint-mirrors_${MMV}_all.deb | ||
+ | rm -f mint-mirrors_${MMV}_all.deb | ||
+ | |||
+ | Créez un fichier '' | ||
+ | grep -vE ' | ||
+ | |||
+ | Copiez ensuite le fichier '' | ||
+ | sudo cp mint_mirrors / | ||
+ | |||
+ | ==== Connaître l'IP de votre serveur ==== | ||
+ | Pour connaître l'IPv4 de votre serveur : | ||
+ | ip a | grep -A 1 -B 1 ether | grep inet | awk ' | ||
+ | La réponse est un ensemble de 4 nombres compris entre 0 et 255, séparés par des points. | ||
+ | |||
+ | |||
+ | Pour connaître l'IPv6 de votre serveur (si votre réseau fonctionne en IPv6 exclusivement) : | ||
+ | ip a | grep -A 3 -B 1 ether | grep inet6 | awk ' | ||
+ | La réponse est un ensemble de 8 nombres hexadécimaux, | ||
+ | |||
+ | L'IP que vous choisirez (généralement l' | ||
+ | ==== Configuration ==== | ||
+ | Éditer avec les droits root le fichier de configuration ''/ | ||
+ | |||
+ | Vérifier et dé-commenter les lignes suivantes, en supprimant l' | ||
+ | <sxh plain> | ||
+ | |||
+ | LogDir: / | ||
+ | |||
+ | SupportDir: / | ||
+ | |||
+ | Port:3142 | ||
+ | |||
+ | BindAddress: | ||
+ | |||
+ | Remap-debrep: | ||
+ | Remap-uburep: | ||
+ | [... Commenter les lignes Remap qui ne vous concernent pas ...] | ||
+ | Remap-secdeb: | ||
+ | Remap-mint: file: | ||
+ | |||
+ | ReportPage: acng-report.html | ||
+ | |||
+ | ExThreshold: | ||
+ | |||
+ | FollowIndexFileRemoval: | ||
+ | |||
+ | VfilePatternEx: | ||
+ | |||
+ | SVfilePatternEx: | ||
+ | |||
+ | LocalDirs: acng-doc / | ||
+ | </ | ||
+ | |||
+ | ==== Relancer le service apt-cacher-ng ==== | ||
+ | sudo systemctl restart apt-cacher-ng.service | ||
+ | |||
+ | Pour vérifier que ce service fonctionne bien : | ||
+ | sudo systemctl status apt-cacher-ng.service | ||
+ | |||
+ | Dans la réponse à cette commande doit apparaître : '' | ||
+ | |||
+ | ==== Connaître la taille de votre cache ==== | ||
+ | Sur le serveur : | ||
+ | du -sh / | ||
+ | |||
+ | ==== Consulter les logs ==== | ||
+ | Sur le serveur, cette commande donne la liste des logs, du plus récent au plus ancien : | ||
+ | ls -lth / | ||
+ | |||
+ | |||
+ | ==== Pre-chaching (optionnel) ==== | ||
+ | Le pre-caching consiste à vérifier régulièrement (par exemple chaque heure) si des mises à jour de paquets sont disponibles et, si tel est le cas, de les télécharger sur le serveur afin de les rendre disponibles immédiatement. Ainsi, même le premier de vos ordinateurs qui demandera une mise à jour l' | ||
+ | |||
+ | === Préparation === | ||
+ | Il s'agit de décider quelles mises à jour seront vérifiées et pré-téléchargées. | ||
+ | |||
+ | Sur le serveur : | ||
+ | cd / | ||
+ | ls -d */ | egrep -v ^_ | ||
+ | La liste des caches s' | ||
+ | <sxh bash> | ||
+ | debrep/ | ||
+ | live.linuxmint.com/ | ||
+ | mint/ | ||
+ | ports.ubuntu.com/ | ||
+ | ppa.launchpad.net/ | ||
+ | security.ubuntu.com/ | ||
+ | uburep/ | ||
+ | </ | ||
+ | |||
+ | Supposons que vous soyez intéressé par les mises à jour de '' | ||
+ | |||
+ | Listez les contenus des sous-dossiers '' | ||
+ | ls mint/dists/ security.ubuntu.com/ | ||
+ | Exemple de retour : | ||
+ | <sxh bash> | ||
+ | uma una vanessa | ||
+ | |||
+ | security.ubuntu.com/ | ||
+ | focal-security | ||
+ | |||
+ | uburep/ | ||
+ | focal focal-backports | ||
+ | </ | ||
+ | |||
+ | La version '' | ||
+ | |||
+ | Modifiez alors, avec les droits root, le fichier ''/ | ||
+ | |||
+ | '' | ||
+ | |||
+ | Remarque : L' | ||
+ | |||
+ | Une fois cette modification effectuée, relancez le service apt-cacher-ng : | ||
+ | sudo systemctl restart apt-cacher-ng.service | ||
+ | |||
+ | === Effectuer un premier pre-caching manuel === | ||
+ | Visitez avec un navigateur (à partir d'un de vos ordinateurs) la page : '' | ||
+ | |||
+ | Rendez-vous à la section //Guided precaching (Mirroring)// | ||
+ | * Calculate and display download size (//Calculer et afficher la taille du téléchargement// | ||
+ | * Download package files (initialement décochée) (// | ||
+ | * Restrict to packages related to previously cached files (// | ||
+ | |||
+ | Cliquez alors sur le bouton [Start Mirroring]. | ||
+ | |||
+ | La page suivante met du temps à se télécharger. Elle vous indique pas à pas les actions effectuées. Une fois complètement affichée, votre cache est à jour. | ||
+ | |||
+ | === Automatiser le pre-caching === | ||
+ | S'il fallait toujours effectuer manuellement un pre-caching pour mettre à disposition de tous vos ordinateurs la dernière version des paquets, cela perdrait vite de son intérêt. | ||
+ | |||
+ | Pour automatiser ce pre-caching et l' | ||
+ | <sxh bash># | ||
+ | wget " | ||
+ | exit 0 | ||
+ | </ | ||
+ | |||
+ | Rendez ce script exécutable : | ||
+ | sudo chmod +x / | ||
+ | |||
+ | Relancez le service cron : | ||
+ | sudo systemctl restart cron.service | ||
+ | |||
+ | C'est fait ! | ||
+ | ===== Sur chaque ordinateur du réseau local ===== | ||
+ | |||
+ | ==== Installer netcat ==== | ||
+ | apt install -y netcat | ||
+ | |||
+ | Cela permet d' | ||
+ | |||
+ | ==== Configuration d'apt ==== | ||
+ | '' | ||
+ | |||
+ | Créez avec les droits root le script ''/ | ||
+ | <sxh bash># | ||
+ | # Renseigner correctement les deux lignes suivantes. | ||
+ | proxy=IP_DU_SERVEUR | ||
+ | port=3142 | ||
+ | |||
+ | # Ne rien modifier ci-dessous. | ||
+ | synconf=/ | ||
+ | |||
+ | nc -zw1 $proxy $port && { | ||
+ | [[ -f $synconf ]] && { | ||
+ | cat $synconf | sed s/useProxy\ \" | ||
+ | } | ||
+ | echo http:// | ||
+ | } || { | ||
+ | [[ -f $synconf ]] && { | ||
+ | cat $synconf | sed s/useProxy\ \" | ||
+ | } | ||
+ | echo DIRECT | ||
+ | } | ||
+ | </ | ||
+ | Remplacez IP_DU_SERVEUR par la valeur déterminée auparavant. | ||
+ | |||
+ | Rendez ce script exécutable : | ||
+ | sudo chmod +x / | ||
+ | |||
+ | Créez le fichier ''/ | ||
+ | <sxh plain> | ||
+ | </ | ||
+ | |||
+ | |||
+ | Vérifier que ce proxy-cache des paquets est bien pris en compte : | ||
+ | apt-config dump | grep Proxy | ||
+ | |||
+ | La réponse doit être exactement la ligne que vous venez d' | ||
+ | |||
+ | Vérifier que tout fonctionne en lançant la commande : | ||
+ | apt update | ||
+ | |||
+ | ==== Configuration de synaptic ==== | ||
+ | Ouvrez le **Gestionnaire de paquets Synaptic** (qui se trouve dans la partie // | ||
+ | |||
+ | Dans Synaptic, menu // | ||
+ | |||
+ | Cliquer sur [Recharger]. | ||
+ | |||
+ | ==== Configuration de mintupdate ==== | ||
+ | La configuration par défaut de mintupdate devrait convenir. | ||
+ | |||
+ | Vérifiez toutefois en ouvrant mintupdate (icône {{mdi> | ||
+ | |||
+ | {{: | ||
+ | |||
+ | C'est fait. | ||
+ | |||
+ | ===== Liens ===== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | {{counter|today| personne a visité cette page aujourd' |