Voici exactement ce que j'essaie de réaliser. Je dois installer un paquet avec des dépendances. J'essaye d'installer le paquet de telnet. Pour cela, deux paquets doivent être installés selon mes besoins: telnet et telnet-server. Sur certains serveurs telnet est déjà installé mais pas telnet-server. Si le paquet telnet est déjà installé alors il n'installe pas telnet-server si je passe telnet- * dans l'invite. Ci-dessous l'exécution du playbookComment installer des sous-paquets via yum
[[email protected] ansible]$ cat prompt.yml
--- # Install the package which is provided through command line
- hosts: target
user: test
become: yes
connection: ssh
gather_facts: no
vars_prompt:
- name: pkgtoinstall
prompt: which package need to install?
private: no
tasks:
- name: Install the provided package
yum: pkg={{ pkgtoinstall }} state=latest
[[email protected] ansible]$
Before Installation -:
[[email protected] opt]$ rpm -qa | grep telnet
[[email protected] opt]$
[[email protected] ansible]$ ansible-playbook prompt.yml
which package need to install?: telnet*
PLAY [target]
***************************************************************************************************************************************************************
TASK [Install the provided package] *****************************************************************************************************************************************
changed: [192.168.56.102]
PLAY RECAP ******************************************************************************************************************************************************************
192.168.56.102 : ok=1 changed=1 unreachable=0 failed=0
[[email protected] ansible]$
After Installation -:
[[email protected] opt]$ rpm -qa | grep telnet
telnet-0.17-64.el7.x86_64
telnet-server-0.17-64.el7.x86_64
[[email protected] opt]$
Now i have removed telnet-server manually and tried to install by giving telnet-*. It is not getting installed.
[[email protected] opt]$ sudo yum remove telnet-server
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package telnet-server.x86_64 1:0.17-64.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================================================================================================================
Package Arch Version Repository Size
=============================================================================================================================================================================
Removing:
telnet-server x86_64 1:0.17-64.el7 @base 55 k
Transaction Summary
=============================================================================================================================================================================
Remove 1 Package
Installed size: 55 k
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : 1:telnet-server-0.17-64.el7.x86_64 1/1
Verifying : 1:telnet-server-0.17-64.el7.x86_64 1/1
Removed:
telnet-server.x86_64 1:0.17-64.el7
Complete!
[[email protected] opt]$ rpm -qa | grep telnet
telnet-0.17-64.el7.x86_64
[[email protected] opt]$
[[email protected] ansible]$ ansible-playbook prompt.yml
which package need to install?: telnet*
PLAY [target] ***************************************************************************************************************************************************************
TASK [Install the provided package] *****************************************************************************************************************************************
ok: [192.168.56.102]
PLAY RECAP ******************************************************************************************************************************************************************
192.168.56.102 : ok=1 changed=0 unreachable=0 failed=0
[[email protected] opt]$ rpm -qa | grep telnet
telnet-0.17-64.el7.x86_64
[[email protected] opt]$