Messages : 281
Sujets : 69
Inscription : Sep 2016
Réputation :
0
05-02-2020, 18:57:32
(Modification du message : 05-02-2020, 18:58:53 par cyrille.)
Bon ça avance.
Première chose : je n'ai toujours pas séparer le serveur du client... je le ferai plus tard.
C'est sur le git, branche devel, fichier acn-v2.py
https://github.com/CyrilleBiot/scripts/b.../acn-v2.py
Donc version 2
Coté serveur
Installation du serveur et de cron-apt pour automatiser les update
Configuration automatique de cron-apt : scan des repo à la recherche des update de sécurité et création d'un fichier ne contenant que les entrées sécurité
config de cron-apt pour utiliser ces update de sécurité et les installer automatiquement (que celles de sécurité, c'est du stable, ça ne devrait pas poser de soucis)
Les mises à jour se font dans la nuit à 4h
Coté client
Possibilité de choisir un port d'écoute différente du 3142 en cas d'install customisée
Installation de cron-apt pour auto les mises à jour de sécurité
Amélioration diverses
Fix des soucis dans la fonction de reconnaissance de la distribution
Split de la fonction d'installation de paquet
Amélioration à droite et à gauche
Tests
Pas l'école , c'est mercredi. Testé avec ce que j'ai sous la main
- DEBIAN SID : OK pas de soucis (par contre pas d'update de securité sous SID..)
- Mint 18 : OK pas de soucis
- ubuntu qui traine : pas de soucis
Voici les conf apportées (plus value ?) en terme de config
- config du proxy d'ACN
- écriture source.list de securité
- écriture d'un fichier de conf spéfique pour cron-apt
Code : [== Undefined ==]
libres09@libres09-Latitude-E6410 ~ $ ls -l /etc/apt/apt.conf.d/00aptproxyANC && cat /etc/apt/apt.conf.d/00aptproxyANC
-rw-r--r-- 1 root root 49 févr. 5 18:26 /etc/apt/apt.conf.d/00aptproxyANC
Acquire::http::Proxy "http://192.168.0.20:3142";
libres09@libres09-Latitude-E6410 ~ $ ls -l /etc/apt/sources.list.d/s && cat /etc/apt/sources.list.d/security-primtuxACN.list
security-primtuxACN.list stephane_magnenat-xenial-xenial.list
libres09@libres09-Latitude-E6410 ~ $ ls -l /etc/apt/sources.list.d/security-primtuxACN.list && cat /etc/apt/sources.list.d/security-primtuxACN.list
-rw-r--r-- 1 root root 137 févr. 5 18:26 /etc/apt/sources.list.d/security-primtuxACN.list
# Security Update. For Primtux Apt-cacher-ng.
deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
libres09@libres09-Latitude-E6410 ~ $ ls -l /etc/cron-apt/action.d/5-primtuxACN-security && cat /etc/cron-apt/action.d/5-primtuxACN-security
-rw-r--r-- 1 root root 238 févr. 5 18:26 /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"
All you need : #!/bin/bash
Messages : 1,391
Sujets : 95
Inscription : Oct 2016
Réputation :
1
Ok.
En revanche, va falloir supprimer "def installNmapModule(distrib)".
C'est à ton système de paquet (apt) de gérer les dépendances, pas à ton soft.
pip ça doit rester un outil pour du dev, pas pour les utilisateurs : c'est le meilleur moyen de flinger une distrib et d'avoir des bugs non reproductibles parce que t'as des libs avec des versions diff non compatibles.
En plus, pip va prendre la version la plus récente donc si au moment ou t'as créer ton script t'es sur la v1.2 et que dans 1 an, y'a la v2.0 qui sort, ben il va utiliser cette version.
Enfin, si tu gères pip3, il faudra l'inclure dans les dépendances du paquet debian : ça fait doublon et ça va télécharger une dépendance inutile.
Je pense que ça part d'un bon sentiment mais en voulant trop bien faire, tu risques d'entrainer plus de soucis que d'en résoudre.
Messages : 281
Sujets : 69
Inscription : Sep 2016
Réputation :
0
Oui tout as fait tu soulèves un soucis auquel je me suis heurté.
Le hic c'est que sur mon PC, si j'installe python-nmap via apt sans par la suite faire un pip3 install nmap, je n'arrive pas à faire un import nmap dans python (module not found...)...
D'où la fonction
Donc je suis bien d'accord, mais je ne sais trop comment remédier à cela.
Si tu as la solution pour régler cela, ce serait nickel 
thx pour l'interet
All you need : #!/bin/bash
Messages : 1,391
Sujets : 95
Inscription : Oct 2016
Réputation :
1
Comme ça, je dirais que t'as du perdre quelque chose sur ton PYTHONPATH : une variable global qui va indiquer à ton interpréteur ou chercher les dépendances.
Il faut que tu ais /usr/lib/python3/dist-packages dans le PYTHONPATH pour que ça fonctionne.
En réalité, quand on dev en python, on utilise virtualenv ou pyenv pour avoir des dépendances indépendantes de son système.
Dans cet env, tu configures tes dépendances via un fichier requirements.txt avec des versions précises : un exemple rapide.
Du coup, pip va se caler sur ces versions.
Sinon, y'a aussi docker qui est vraiment sympa : tu peux bosser sur une distrib "neuves" et vérifier que ton soft marche sur plusieurs versions d'ubuntu par exemple.
Messages : 281
Sujets : 69
Inscription : Sep 2016
Réputation :
0
PythonPATH
Ok je regarde cette piste
(pour l'instant j'utilise des virtualenv...)
Je vais regarder ce fameux fichier
Je vais jeter un oeil sur docker (d'habitude c'est plutot des virtualbox ou des schroot)
Et je vire asap installNmapModule()
Un peu débordé ces jours ci....
All you need : #!/bin/bash
Messages : 1,391
Sujets : 95
Inscription : Oct 2016
Réputation :
1
Pas de prob.
Je te conseil le mode opératoire :
1. pour la phase de dev => virtualenv avec des libs équivalentes à la distrib cible. (donc pas besoin de retoucher le PYTHONPATH)
2. le jour ou tu crées ton paquet deb, tu recettes ton softs avec les déps installé par dpkg.
docker, c'est un outil complémentaire qui peut être pratique pour le dev mais pas non plus indispensable.
Prend ton temps pour apprendre à t'en servir, évalue quand ça te sert vraiment...
Messages : 281
Sujets : 69
Inscription : Sep 2016
Réputation :
0
All you need : #!/bin/bash
Messages : 1,391
Sujets : 95
Inscription : Oct 2016
Réputation :
1
Alors, merci tout d'abord d'avoir pris le temps d'écrire de la doc.
Mon avis :
1. Je suis pas fan des wget et installation via un dépôt git, il va falloir rapidement passer sur
un paquet debian.
2. un paquet debian va simplifier drôlement la doc : pas de recommandation selon si on est sur une base debian ou ubuntu ni les dépendances nécessaires.
3. je sais pas pourquoi tu t'acharnes à proposer un script serveur :
Pour moi, la doc peut se résumer à :
Code : apt-get install apt-cacher-ng
et votre serveur de cache est opérationnel et écoute sur le port 3142.
A la rigueur, tu peux proposer juste un script complémentaire pour mettre à jour le port ou activer un cron.
4. Je te déconseille de recommander un installation à partir d'une branche GIT.
Une branche, ça peut être instable. Le mieux c'est d'avoir des tags et de pointer vers une version précise.
Messages : 3,234
Sujets : 41
Inscription : Dec 2021
Réputation :
11
Faudra regarder si ctparental n'est pas aussi sur le 3142, d'ailleurs on le voit souvent celui-là, il y a une explication? Pourquoi 3142 et pas 4589?
Messages : 1,391
Sujets : 95
Inscription : Oct 2016
Réputation :
1
Autre points :
- tu peux ne mettre QUE les commandes à lancer et non les résultats et les préfix de ton shell.
Je trouve que ça embrouille : l'utilisateur (novice) ne distingue pas bien quelles actions il doit mener.
- le script à la fin ne sert à rien.
Je pense dans l'ensemble que tu veux trop bien faire. L'intention est plus que bonne, le résultat est plus mitigé.
Il faut que tu arrives à synthétiser.
Si tu veux plus détailler, tu peux toujours renvoyer sur une FAQ par exemple directement dans ton dépôt git.
Messages : 281
Sujets : 69
Inscription : Sep 2016
Réputation :
0
OK ok, je revois ça asap.
Sinon l'install côté serveur n'installe pas que apt-cacher-ng mais également cron-apt et des fichiers de conf spécifiques.
Je mets la page du wiki en attente . Je la ré écriirai plus tard
All you need : #!/bin/bash
Messages : 3,234
Sujets : 41
Inscription : Dec 2021
Réputation :
11
Bon ben je me réponds à moi-même... ctparental semble utiliser 8888 et 8080, le ssh sous 8022, 54 en ipv6. Sous dansguardian et tinyproxy c'était 8888 pour le proxy et 8080 poour dansguardian. Ça paraît peut-être débile comme question mais on ne sait jamais...
Messages : 281
Sujets : 69
Inscription : Sep 2016
Réputation :
0
si tu veux je peux changer le port 3142 pour un autre si ça risque de poser pb. Je rajoute alors au TODO
All you need : #!/bin/bash
Messages : 3,234
Sujets : 41
Inscription : Dec 2021
Réputation :
11
Non justement là c'est bon, touche plus! De toute manière dans les tests d'intégration si ça ne va pas c'est juste un numéro à changer. Ton soft est hyper-important pour répondre aux détracteurs avec leurs kwartz. Bon je fais mon chiant la prochaine étape ça sera l'installation du même soft sur plusieurs postes en même temps...
Messages : 281
Sujets : 69
Inscription : Sep 2016
Réputation :
0
OK steph, le paquet debian est quasi fini. Je viens de finir le man.
Journée chargée demain, peut être demain soir si tout va bien.
All you need : #!/bin/bash
Messages : 281
Sujets : 69
Inscription : Sep 2016
Réputation :
0
paquet deb dispo sur la branche devel. Premier jet à l'arrache. Testé sous debian sid. Passe. ++
All you need : #!/bin/bash
Messages : 1,391
Sujets : 95
Inscription : Oct 2016
Réputation :
1
La question sur les ports n'est jamais "débile" Steph : c'est toujours un peu le nerd de la guerre.
T'as des ports qui sont standardisés par l'IANA (les 1024 premiers en tout cas) donc en général il faut une raison en béton pour changer ces derniers.
Pour le reste, c'est assez ouvert.
Après quelques recherches, le port 3142 est quand même réservé à apt-cacher donc vaut mieux laisser tel quel.
Rien n'empêche en revanche de se faire une page wiki de mémo avec les différents ports potentiellement utilisés pour éviter des blagues de softs qui peuvent rentrer en conflit.
@cyril : désolé d'encore te solliciter.
Je pense que l'idéal serait de créer un dépôt git à part pour ton soft.
Serait-t-il également possible de mettre les sources de ton paquet debian et le process de compil dans un README.md ?
L'idée c'est vraiment d'avoir un paquet reproductible que l'on peut compiler chacun de notre côté.
Tu peux t'inspirer de https://github.com/mothsART/fluxboxlauncher
Messages : 281
Sujets : 69
Inscription : Sep 2016
Réputation :
0
10-02-2020, 14:18:34
(Modification du message : 10-02-2020, 14:18:59 par cyrille.)
oui pas de soucis, mothsart
Juste que là entre les coupures d'électricité et le vrai taf et la vie à coté, je pars un peu dans tous les sens 
Mais c'est noté et je fais ça asap
et @cyril : désolé d'encore te solliciter.
Pas de soucis, ça me fait du bien de travailler en équipe et d'avoir des retours même si je semble ronconner de temps et temps
All you need : #!/bin/bash
Messages : 1,391
Sujets : 95
Inscription : Oct 2016
Réputation :
1
No pression : t'as pas de deadline.
Justement, j'essai de te répondre tôt pour t'éviter de faire et refaire.
Et oui, plus on est nombreux et plus les règles communes et les échanges sont importants.
Si il faut répartir ton travail, tu peux aussi découper les besoins et j'en ferais une partie.
Messages : 281
Sujets : 69
Inscription : Sep 2016
Réputation :
0
Bsr,
Comme demandé un git à part
https://github.com/CyrilleBiot/acn-py
Les paquets debian et les sources (source et debian).
Je vois le reste asap
All you need : #!/bin/bash
Messages : 281
Sujets : 69
Inscription : Sep 2016
Réputation :
0
All you need : #!/bin/bash
Messages : 1,391
Sujets : 95
Inscription : Oct 2016
Réputation :
1
Bel effort ! Je regarde ça à tête reposé dans les jours qui viennent.
|