Outils pour utilisateurs

Outils du site


python:acn-py-installer

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
python:acn-py-installer [2020/02/09 00:32] crustpython:acn-py-installer [2020/02/12 21:08] (Version actuelle) – [Installation et lancement du script] crust
Ligne 1: Ligne 1:
 ====== Serveur de cache APT  / cron-apt ====== ====== Serveur de cache APT  / cron-apt ======
 +
 +
 +===== Installation et lancement du script =====
 +
 +Télécharger la dernière version depuis le git (version stable et devel - de préférence prenez la stable) :
 +  * [[https://github.com/CyrilleBiot/acn-py | acn-py, git master]]
 +
 +Les sources debian sont également disponibles
 +Pour construire le paquet 
 +<code bash>$ git clone https://github.com/CyrilleBiot/acn-py.git
 +Clonage dans 'acn-py'...
 +remote: Enumerating objects: 58, done.
 +remote: Counting objects: 100% (58/58), done.
 +remote: Compressing objects: 100% (43/43), done.
 +remote: Total 58 (delta 12), reused 50 (delta 6), pack-reused 0
 +Dépaquetage des objets: 100% (58/58), 47.63 Kio | 541.00 Kio/s, fait.
 +$ cd acn-py
 +$ debuild -us -uc</code>
 +
 +Le paquet est alors disponible
 +<code bash>$ ls
 +acn-py_2.0.2+nmu5_all.deb          acn-py_2.0.2+nmu5.dsc     README.md
 +acn-py_2.0.2+nmu5_amd64.build      acn-py_2.0.2+nmu5.tar.gz  source
 +acn-py_2.0.2+nmu5_amd64.buildinfo  debian
 +acn-py_2.0.2+nmu5_amd64.changes    LICENSE</code>
 +
 +===== Utilités de ce script =====
  
  
 Script d'auto configuration d'un **serveur de cache pour APT, côté serveur et client**. Script d'auto configuration d'un **serveur de cache pour APT, côté serveur et client**.
 Installation d'un **cron-apt récupérant les mises  à jour la nuit** et **installant automatiquement les mises à jour de sécurité** des repo. présentes sur votre système. Installation d'un **cron-apt récupérant les mises  à jour la nuit** et **installant automatiquement les mises à jour de sécurité** des repo. présentes sur votre système.
-Gestion de la configuration d'installation client / serveur.+Gestion de la configuration aussi bien niveau **installation client / serveur**.
  
 Ce script peut être installé via un compte **root**  (base debian) mais également via  **sudo** (base ubuntu, mint...). Il est écrit en **python3** et doit être lancé avec les droits administrateur. Ce script peut être installé via un compte **root**  (base debian) mais également via  **sudo** (base ubuntu, mint...). Il est écrit en **python3** et doit être lancé avec les droits administrateur.
  
-Utilité dans le cadre de la gestion d'un parc de laptop. Un PC est défini comme serveur et sera le seul à utiliser la bande passante de l'Internet pour récupérer les mises à jour. Les clients se connectent, eux, à ce PC et donc utilisent le réseau local. Le parc de client peut être hétérogène (au niveau de la distribution mais aussi de leurs versions : Debian Stable / SID / Mint / Lubuntu / Mandriva ...) du moment qu'ils utilisent des paquets au format Debian (.deb).+Utilité dans le cadre de la gestion d'un parc de PC. Un PC est défini comme **serveur** et sera le seul à utiliser la bande passante de l'Internet pour récupérer les mises à jour. **Les clients** se connectent, eux, via ce PC uniquement pour **apt** et donc utilisent le réseau local. **Le parc de client** peut être **hétérogène** (au niveau de la distribution mais aussi de leurs versions : Debian Stable / SID / Mint / Lubuntu / Mandriva ...) du moment qu'ils utilisent **des paquets au format Debian (.deb)**.
  
 La mise à jour du cache se fera depuis le serveur, mais également dès l'accès à ce serveur par un client. La mise à jour du cache se fera depuis le serveur, mais également dès l'accès à ce serveur par un client.
Ligne 27: Ligne 54:
     * apt-cacher-ng permet d'intégrer des images ISO (DVD) et des importations de cache apt     * apt-cacher-ng permet d'intégrer des images ISO (DVD) et des importations de cache apt
  
-===== Configurations du script ===== +===== Spéficités du script ===== 
-  * Configuration, côté serveur+ 
 +==== Configuration, côté serveur==== 
 + 
 +Installation des paquets :  
 + 
 +  * apt-cacher-ng 
 +  * cron-apt 
 + 
 + 
 +Lisez les messages du terminal, ils contiennent des données importantes : 
 + 
 +<code bash>........ 
 +Traitement des actions différées (« triggers ») pour man-db (2.9.0-2) ... 
 +Traitement des actions différées (« triggers ») pour libc-bin (2.29-9) ... 
 +============================================== 
 +Le serveur de cache est dès lors opérationnel 
 +Le port d'écoute est : 3142 
 +Page d'aministration : http://192.168.0.20:3142/acng-report.html 
 +Notez bien l'ip de votre serveur, elle vous sera indispensable pour la configuration des clients. 
 +L'IP du serveur est : 192.168.0.20  
 +Indispensable : cette IP doit être FIXE (réglage sur votre BOX ou serveur DHCP). 
 +Cette machine est un serveur, mettre de ne l'arrêter. Les mises à jour s'effectuant la nuit. 
 +....................... 
 + 
 +Dès lors, le système installera les mises à jour de sécurité, toutes les nuits  à 4 heures. 
 +.......................</code> 
 + 
 +Voir config** cron-apt** plus bas. 
 + 
 + 
 +==== Configuration, côté client ==== 
 +__**Paquets installés**__ 
 + 
 +  * cron-apt 
 +  * python-nmap 
 + 
 +Le script va scanner, depuis la reconnaissance de l'IP du PC, le réseau local à la recherche d'une machine dont le port spécifique à **Acn-cacher-ng** est ouvert (**port 3142** par défaut mais modifiable). 
 + 
 +__**Fichier crée**__ 
 +Un fichier de proxy apt pointant sur l'IP du serveur est créé à cet endroit avec ce contenu 
 + 
 +<code bash>root@Fenrir:/etc/apt/apt.conf.d# cat /etc/apt/apt.conf.d/00aptproxyANC  
 +Acquire::http::Proxy "http://192.168.0.20:3142"; 
 +</code> 
 + 
 +__Le scan du réseau peut avoir à 3 solutions :__ 
 +  * Aucune machine n'est détecter. il faut revoir la configuration du serveur. 
 +  *Une seule machine est détectée : elle est proposée par défaut. 
 +  *Plusieurs machines sont détectée. Une Liste de choix est proposée.  
 + 
 +A chaque niveau, des choix sont possibles (**modification des IP ou du port**) afin de mettre la jour la configuration en cas de modification des paramètres serveur. 
 + 
 +<code bash>root@Fenrir:/home/ragnarok/PycharmProjects/PRIMTUX-ACN# python3 acn-v2.py  
 +Vous utilisez un système Debian (su pour administration). 
 +Type d'installation (client/serveur) : client 
 +Installation de type client 
 +Utiliser le port par défaut 3142 (recommandé) ?. [Oui / Non] Oui 
 +Type d'installation (client/serveur) : client 
 +Installation de type client 
 +======================================== 
 +Votre machine possède l'ip 192.168.0.20. 
 +Le motif de scan sera donc : 192.168.0.0 
 +---------------------------------------------------- 
 +Host : 192.168.0.15 () 
 +State : up 
 +---------------------------------------------------- 
 +Host : 192.168.0.20 () 
 +State : up 
 +---------------------------------------------------- 
 +Host : 192.168.0.254 () 
 +State : up 
 +======================================== 
 +Résultats du scan réseau : (True si port Apt-cache-server trouvé. 
 +192.168.0.15 : Le port est fermé. Code d'erreur de retour; 111. Pas de serveur ACN 
 +192.168.0.15  :  False .  Pas de port ACN ouvert 
 +192.168.0.20 : Le port 3142 est ouvert. Possibilié de serveur ACN. 
 +192.168.0.20  :  True .  Eventuel Serveur ACN. 
 +192.168.0.254 : Le port est fermé. Code d'erreur de retour; 111. Pas de serveur ACN 
 +192.168.0.254  :  False .  Pas de port ACN ouvert 
 +Serveur ACN possible :  192.168.0.20 
 +Valider ce choix ? (Oui / Non)</code>  
 + 
 +==== cron-apt, configuration ==== 
 + 
 +Le script automatise sa configuration, vous n'avez rien à faire. Voici ce qu'il modifie sur votre système/ 
 + 
 +**__Paquet installé__** 
 +  * **cron-apt** 
 + 
 +**__Fichiers spécifiques créées__** 
 +  * **/etc/apt/sources.list.d/security-primtuxACN.list**  
 + 
 +Scanne des entrées du dossier contenant les repos de votre système. Récupère uniquement les entrées de "security" et crée un fichier spécifique qui sera appelé par **cron-apt**. 
 + 
 +Ce fichier commence par cette entête : 
 +<code bash>root@Fenrir:/home/ragnarok/PycharmProjects/PRIMTUX-ACN# cat /etc/apt/sources.list.d/security-primtuxACN.list  
 +# Security Update. For Primtux Apt-cacher-ng. 
 +deb http://security.debian.org/debian-security buster/updates main contrib non-free</code> 
 +  * __**/etc/cron-apt/action.d/5-primtuxACN-security**__ 
 + 
 +Ce fichier contient les information de configuration pour utiliser avec cron-apt le fichier précédant.  
 + 
 +<code bash># cat /etc/cron-apt/action.d/5-primtuxACN-security  
 +upgrade -y -o APT::Get::Show-Upgraded=true 
 +OPTIONS="-o quiet=1 -o APT::Get::List-Cleanup=false -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security-primtuxACN.list -o Dir::Etc::SourceParts=\"/dev/null\"" 
 +MAILTO="root" 
 +MAILON="always"</code> 
 + 
 +Contrairement aux autres mises à jour qui ne sont que télécharger et dont l'installation dépend de l'administrateur de la machine, les mises à jour de sécurité sont installées dès leur téléchargement sans intervention humaine. Le risque est assez faible étant donné que ce ne sont que des patchs de sécurité, normalement stables et testés. 
 + 
 +==== Import de .deb dans acn-cacher-ng ==== 
 +Faire pointer un navigateur sur le serveur avec le port d'écoute d'acn-server-ng. 
 +Ce sera un url de ce type : http://192.168.0.20:3142/acng-report.html 
 + 
 +L'url correspondant à votre configuration est donné en retour d'installation serveur. 
 + 
 +{{ :python:capture_d_ecran_2020-02-09_01-15-06.png.jpg?direct&400 |}}
  
-Insta 
  
  
-  * Configuration, côté client 
 ===== Le script ===== ===== Le script =====
 Ci dessus la version 2.0.0 Ci dessus la version 2.0.0
python/acn-py-installer.1581204746.txt.gz · Dernière modification : 2020/02/09 00:32 de crust