2017-10-10 158 views
0

以下是我正在努力实现的目标。我必须与依赖关系一起安装一个包。我正在尝试安装telnet软件包。对于这两个软件包必须按我的要求进行安装,这些软件包是telnet和telnet-server。在某些服务器中,telnet已安装,但未安装telnet-server。如果已经安装了telnet软件包,那么如果我在提示中通过telnet- *,则它不会安装telnet-server。下面是剧本执行如何通过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]$ 

回答

0

大概不会回答你正在寻找,但我会明确地安装2个包。使用globs进行软件包安装有可能安装您不需要或不需要的东西。

- name: Install the provided package 
    yum: 
    pkg: "{{ item }}" 
    state: latest 
    with_items: 
    - telnet 
    - telnet-server