On 5/17/23 21:58, RogerT wrote:
Ce n’est pas un peu démesuré ?
Je ne connais pas Ansible en pratique.
Peut-être est-ce très simple…

Il me semble qu’il s’agit juste de lister toutes les tâches que l’on fait tous quand on crée un hôte de zéro. C’est tellement habituel qu’on ne sait plus exactement tout ce qu’on fait. Il y a aussi ce système debian qui permet d’automatiser l’installation d’un hôte. Ex : https://debian-handbook.info/browse/fr-FR/stable/sect.automated-installation.html



Le 17 mai 2023 à 13:52, Sébastien Dinot <sebastien.di...@free.fr> a écrit :

Bonjour,

RogerT a écrit :
Existe-t-il un outil en CLI pour tester que l’hôte mis à disposition
par l’utilisateur est correctement configuré ?

De nos jours, j'aurais tendance à répondre « Ansible » :

https://www.ansible.com/



Si j'ai bien compris la question, c'est théoriquement impossible de manière statique. A cause du théorème de Rice:

https://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_de_Rice

et en lien avec le problème de l'arrêt: https://fr.wikipedia.org/wiki/Probl%C3%A8me_de_l%27arr%C3%AAt

Et en pratique, ça demeure souvent impossible parce qu'un (ou le) logiciel fourni (considéré) peut:

embarquer un interprète comme Lua http://www.lua.org/ ou RefPerSys http://refpersys.org/ ou GNU guile https://www.gnu.org/software/guile/ ou Python https://python.org/ et https://docs.python.org/3/extending/index.html


générer du code ou des scripts (l'exemple classique c'est GNU emacs ou PostGreSQL) qui dépendent des données futures de ce logiciel en utilisant https://gcc.gnu.org/onlinedocs/jit/ ou https://asmjit.com/

utiliser et charger des greffons fourni par l'utilisateur (et qui peuvent manquer à l'installation), (voir par exemple https://arxiv.org/pdf/1109.0779.pdf et https://gcc.gnu.org/onlinedocs/gccint/Plugins.html ...) - ce que savent faire GNU emacs, firefox, geany, des variantes de vim, etc...

générer à l'exécution, en fonction des données, du code temporaire (qui aurait besoin d'autres logiciels installés) dans un greffon chargé par https://man7.org/linux/man-pages/man3/dlopen.3.html

générer à l'exécution, en fonction des données, du code machine utilisant d'autres logiciels. Les exemples connus sont http://sbcl.org/ ou le logiciel CAIA de Jacques Pitrat (voir https://fr.wikipedia.org/wiki/Jacques_Pitrat ou le code C -autogénéré- en https://github.com/bstarynk/caia-pitrat ; Jacques Pitrat a écrit plusieurs livres expliquant cette approche, disponibles à la bibliothèque MIR de l'université Paris 6 Jussieu. Voir aussi les exposés en https://afia.asso.fr/journee-hommage-j-pitrat/


Il me semble donc qu'il faut restreindre la question posée, et dans le cas particulier où le logiciel fourni est codé en C, envisager (c'est complexe et demande des efforts et du temps) d'en analyser le code source avec l'outil Frama-C disponible en https://frama-c.com/

C'est l'une des raisons pour laquelle le packaging Debian demeure un art difficile.


Librement


--
Basile Starynkevitch                  <bas...@starynkevitch.net>
(only mine opinions / les opinions sont miennes uniquement)
92340 Bourg-la-Reine, France
web page: starynkevitch.net/Basile/

Répondre à