Ansible installer paquet en forçant la configuration ou licence

Hello World !!! :slight_smile:

Je suis nouveau dans ce forum et je n’ai pas encore fait les présentations … Sorry ^^'
En fait j’ai besoin de votre aide :slight_smile:

Je suis en alternance dans une entreprise où on a un besoin industrialiser avec Ansible.
Souci, mon entreprise utilise un paquet .deb pour une application et il faut accepter la licence (ou la configuration).

Pour installer ce paquet j’utilise la tâche suivante :

  • name: installer les paquets
    apt: deb=/chemin/de/{{item}}.deb force=yes
    tag: NomTag
    with_items:
    • paquet1
    • paquet2
    • paquet3
    • paquet4
    • paquet5

Voici l’erreur que cela me retourne quand j’exécute mon playbook avec la tâche :

“msg”: “dpkg --force-confdef --force-confold --force-all -i /chemin/du/paquet.deb failed”,
“stderr”: “\nsun-dlj-v1-1 license could not be presented\ntry ‘dpkg-reconfigure debconf’ to select a frontend other than noninteractive\n\ndpkg: error processing /chemin/du/paquet.deb (–install):\n subprocess new pre-installation script returned error exit status 2\nErrors were encountered while processing:\n /chemin/du/paquet.deb\n”,
“stdout”: “(Reading database … 36808 files and directories currently installed.)\nUnpacking paquet (from …/paquet.deb) …\n”,
“stdout_lines”: [
"(Reading database … 36808 files and directories currently installed.)",
“Unpacking paquet (from …/paquet.deb) …”

Nota : Tout ce qui est en gras est remplacer par le terme “paquet” ou “/chemin/du/paquet.deb” au lieu du vrai nom ou du chemin du paquet existant.

Ce que j’aurai besoin, c’est de pouvoir installer un paquet sans demande de confirmation ou d’acceptation de licence de ma part.
Donc, de la réaliser en ligne de commande.

  • Est-ce qu’il y a des personnes qui savent d’où peut provenir mon problème ?

N’hésitez pas à me poser des questions pour plus de précisions et je vous remercie par avance :wink:

Cordialement,

Z4k1ra,

#################### Modif : 14/12/16 à 14h49 ####################

Alors j’ai trouvé la solution pour descendre les paquets.deb !

Grossièrement, il faut :

  1. Préparer les paquets pour confirmer leur configuration avec le module “debconf”.

  2. Puis par la suite, installer les paquets avec le module “apt”.

La version code YAML est la suivante :

  • name: configure les paquets de paquet
    debconf: pkg=/chemin/du/paquet/{{item}}.deb value=true vtype=select question=shared/accepted-sun-dlj-v1-1
    with_items:

    • paquet1
    • paquet2
    • paquet3
  • name: installer les paquets de paquet
    apt: deb=/chemin/du/paquet/{{item}}.deb force=yes

    #state=build-dep --> Ne veut pas installer les paquets avec build-dep sans forcer
    with_items:

    • paquet1
    • paquet2
    • paquet3

Cependant, ce que je ne sais pas, c’est comment obtenir la valeur de la clé “question” du module debconf.

J’ai eu de la chance à force de faire de la recherche sur internet ><

Voici le lien qui m’a permis de savoir comment obtenir la valeur de la clé “question” : https://kozlex.blogspot.fr/2013/04/install-java6-sun-on-scripts-with-non.html

Est-ce que vous savez comment on peut obtenir l’information " shared/accepted-sun-dlj-v1-1 " à l’aide de la commande dpkg ou avec une autre ?

Je vous remercie par avance et à bientôt :0)

Z4k1ra,

1 J'aime

Alors j’ai trouvé la solution pour descendre les paquets.deb !

Grossièrement, il faut :

  1. Préparer les paquets pour confirmer leur configuration avec le module “debconf”.

  2. Puis par la suite, installer les paquets avec le module “apt”.

La version code YAML est la suivante :

  • name: configure les paquets de paquet
    debconf: pkg=/chemin/du/paquet/{{item}}.deb value=true vtype=select question=shared/accepted-sun-dlj-v1-1
    with_items:

    • paquet1
    • paquet2
    • paquet3
  • name: installer les paquets de paquet
    apt: deb=/chemin/du/paquet/{{item}}.deb force=yes

    #state=build-dep --> Ne veut pas installer les paquets avec build-dep sans forcer
    with_items:

    • paquet1
    • paquet2
    • paquet3

Cependant, ce que je ne sais pas, c’est comment obtenir la valeur de la clé “question” du module debconf.

J’ai eu de la chance à force de faire de la recherche sur internet ><

Voici le lien qui m’a permis de savoir comment obtenir la valeur de la clé “question” : https://kozlex.blogspot.fr/2013/04/install-java6-sun-on-scripts-with-non.html

Est-ce que vous savez comment on peut obtenir l’information " shared/accepted-sun-dlj-v1-1 " à l’aide de la commande dpkg ou avec une autre ?

Je vous remercie par avance et à bientôt :0)

Zakira,