Bonjour à tous,
Je cherche actuellement à créer un script qui permettrait l'installation d'un logiciel. Petit problème, l'installation demande de rentrer diverses informations : soit simplement un Y/N en ligne de commande (je sais qu'il est possible de le faire avec la commande echo par exemple) soit des informations à compléter via une interface graphique, tel que sélectionner une des options ou entrer un mot de passe. J'ai effectué quelques recherches pour savoir comment automatiser la réponse aux GUI mais je n'ai rien trouvé d'intéressant.
Quelqu'un aurait-il une piste pour pouvoir réaliser cela?
Merci d'avance :)
# Dialog pour les TUI et Zenity pour les GUI
Posté par Atem18 (site web personnel) . Évalué à 1.
Pour Dialog : https://aplicacionesysistemas.com/fr/dialog-crear-menus-tus-scripts/
Pour Zenity : https://doc.ubuntu-fr.org/zenity
[^] # Re: Dialog pour les TUI et Zenity pour les GUI
Posté par Alyesia . Évalué à 2.
Salut,
merci pour ta réponse. Dans mon problème, je ne cherche pas à créer les menus, je cherche à y répondra via un script.
Merci d'avance,
Alyesia
[^] # Re: Dialog pour les TUI et Zenity pour les GUI
Posté par Atem18 (site web personnel) . Évalué à 3.
Salut, au vu de tes autres réponses, je te conseillerai aussi d'utiliser Ansible pour configurer Postgresql. Et tu peux passer les questions avec : DEBIAN_FRONTEND=noninteractive apt-get -yq install [packagename] où tu remplace [packagename] par postgresql par exemple.
Pour gérer PostgreSQL avec Ansible :
https://docs.ansible.com/ansible/latest/modules/list_of_database_modules.html#postgresql
La seule chose dont tu ais besoin c'est un accés SSH à la machine distante ou alors executer le playbook sur ta machine avec une connection locale : https://gist.github.com/alces/caa3e7e5f46f9595f715f0f55eef65c1
Si tu as besoin de plus d'infos, n'hésite pas :)
# xdotool ?
Posté par _kaos_ . Évalué à 1.
Salut,
Je ne suis pas certain d'avoir bien compris le problème, mais peut-être que xdotool peut faire le boulot ?
Matricule 23415
[^] # Re: xdotool
Posté par Alyesia . Évalué à 1. Dernière modification le 19 mai 2020 à 10:54.
Merci pour vos réponses.
Je pense avoir mal décrit mon problème. Pour être plus claire, j'installe le paquet Postgresql depuis la commande apt-get install. Le problème est qu'il est nécessaire de configurer postgresql depuis une GUI, comme montré sur l'image:
Texte du lien
Ceci pose problème dans mon cas étant donné que j'aimerai bien automatiser l'installation et la configuration de Postgresql.
à première vue, xdotool, zenity et l'autre paquet ne correspondent pas à mon cas.
Merci d'avance :)
[^] # Re: xdotool
Posté par _kaos_ . Évalué à 1. Dernière modification le 19 mai 2020 à 11:51.
Salut,
Désolé, ce n'est toujours pas clair pour moi…
Tu peux tenter en pipant la commande
yes
, alors, du coup, non ?Ça te fera une installation sans aucune personnalisation, charge à ton script de faire le reste du boulot.
Edit : la commande en dessous est peut-être meilleure, désolé pour le bruit…
Matricule 23415
# (Outre) Passer l'interface de configuration
Posté par raum_schiff . Évalué à 5.
La réponse se trouve peut-être par ici (pour Debian) : https://unix.stackexchange.com/questions/332909/update-upgrade-debian-and-skip-any-interactions
La distrib va installer les paquets avec une config par défaut et/ou vide/minimale.
Par contre ton script devra lui même éditer les fichiers de config avec les valeurs voulues suivant le prompt que tu donneras à l'utilisateur.
# Automatisation (v2)
Posté par _kaos_ . Évalué à 1.
Re salut,
Comme j'ai l'impression de ne toujours pas comprendre à quel niveau tu place la barre, as-tu regardé les logiciels comme :
Et il y en a probablement d'autres.
Matricule 23415
# En ligne de commande c'est possible
Posté par deuzene (site web personnel) . Évalué à 6.
Je ne sais pas pour les GUI/TUI, mais en ligne de commande tu peux automatiser les entrées attendues avec expect.
« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »
[^] # Re: En ligne de commande c'est possible
Posté par NeoX . Évalué à 4.
Je suis d'accord avec cette réponse, il doit falloir personnaliser la variable 'TERM' pour qu'apt ne lance pas les questions en ncurses mais en shell de base, et avec expect tu peux script les entrées/sorties en fonction de ce qui apparait à l'écran.
# S'agissant d'automatiser une installation
Posté par guitou . Évalué à 2.
Perso, je me tournerais vers ansible ou puppet
++
Gi)
# sikulix
Posté par bzubzu . Évalué à 1. Dernière modification le 19 mai 2020 à 22:44.
Si ton applicatif à automatiser n'a pas d'option en ligne de commande ou d'installation silencieuse tu peux regarder du côté de sikulix.
http://sikulix.com/
Tu as des tutos sur youtube si tu veux voir si ça correspond à ton besoin, ça marche par reconnaissance d'image et simule une souris et un clavier.
# apt-get quiet
Posté par Nodeus . Évalué à 3. Dernière modification le 19 mai 2020 à 23:52.
En posisionnant avant
DEBIAN_FRONTEND=noninteractive
export DEBIAN_FRONTEND
En utilisant apt-get -yq paquet
ça doit fonctionner mais un script de configuration de postgres est ensuite à créer
pour executer ce script Ansible peut être intéressant.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.