使用ad-hoc执行一次远程命令,注意观察返回结果的颜色
绿色: 代表被管理端没有被修改
黄色:代表被管理端主机发现变更
红色:代表出现了故障,注意查看提示
[root@blog ~ 17:51:32]$ansible 192.168.85.251 -m yum -a "name=httpd,state=present" -i ~/procject1/hosts
192.168.85.251 | FAILED! => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"msg": "No package matching 'state=present' found available, installed or updated",
"rc": 126,
"results": [
"No package matching 'state=present' found available, installed or updated"
]
}
## 安装apache软件
[root@blog ~ 17:56:55]$ansible 192.168.85.251 -m yum -a "name=httpd state=present" -i ~/procject1/hosts # 参数 是以 空格作为 分隔
192.168.85.251 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": true,
"changes": {
"installed": [
"httpd"
]
},
"msg": "",
"rc": 0,
"results": [
"Loaded plugins: fastestmirror\nLoading mirror speeds from cached hostfile\n * base: mirrors.aliyun.com\n * extras: mirrors.aliyun.com\n * updates: mirrors.aliyun.com\nResolving Dependencies\n--> Running transaction check\n---> Package httpd.x86_64 0:2.4.6-90.el7.centos will be installed\n--> Processing Dependency: httpd-tools = 2.4.6-90.el7.centos for package: httpd-2.4.6-90.el7.centos.x86_64\n--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-90.el7.centos.x86_64\n--> Running transaction check\n---> Package httpd-tools.x86_64 0:2.4.6-90.el7.centos will be installed\n---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package Arch Version Repository Size\n================================================================================\nInstalling:\n httpd x86_64 2.4.6-90.el7.centos base 2.7 M\nInstalling for dependencies:\n httpd-tools x86_64 2.4.6-90.el7.centos base 91 k\n mailcap noarch 2.1.41-2.el7 base 31 k\n\nTransaction Summary\n================================================================================\nInstall 1 Package (+2 Dependent packages)\n\nTotal download size: 2.8 M\nInstalled size: 9.6 M\nDownloading packages:\n--------------------------------------------------------------------------------\nTotal 2.7 MB/s | 2.8 MB 00:01 \nRunning transaction check\nRunning transaction test\nTransaction test succeeded\nRunning transaction\n Installing : httpd-tools-2.4.6-90.el7.centos.x86_64 1/3 \n Installing : mailcap-2.1.41-2.el7.noarch 2/3 \n Installing : httpd-2.4.6-90.el7.centos.x86_64 3/3 \n Verifying : mailcap-2.1.41-2.el7.noarch 1/3 \n Verifying : httpd-tools-2.4.6-90.el7.centos.x86_64 2/3 \n Verifying : httpd-2.4.6-90.el7.centos.x86_64 3/3 \n\nInstalled:\n httpd.x86_64 0:2.4.6-90.el7.centos \n\nDependency Installed:\n httpd-tools.x86_64 0:2.4.6-90.el7.centos mailcap.noarch 0:2.1.41-2.el7 \n\nComplete!\n"
]
}
[root@blog ~ 18:00:06]$
## 删除apache软件
[root@blog ~ 18:04:57]$ansible 192.168.85.251 -m yum -a "name=httpd state=absent" -i ~/procject1/hosts
## 安装最新版本的apache软件
[root@blog ~ 18:05:52]$ansible 192.168.85.251 -m yum -a "name=httpd state=latest" -i ~/procject1/hosts
# 通过指定的源,安装最新版本apache软件
root@blog ~ 18:08:43]$ansible 192.168.85.251 -m yum -a "name=httpd state=latest enablerepo=epel" -i ~/procject1/hosts
# 通过公网url安装rpm软件包,要没有依赖的
[root@blog ~ 18:16:29]$ansible 192.168.85.251 -m yum -a "name=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.19-1.el7.x86_64.rpm state=present" -i ~/procject1/hosts
# 更新所有的软件包,但排除和kernel及foo相关的
[root@blog ~ 18:16:29]$ansible 192.168.85.251 -m yum -a "name=* state=latest exclude=kernel*,foo*" -i ~/procject1/hosts
# 删除apache软件包
[root@blog ~ 18:19:01]$ansible 192.168.85.251 -m yum -a "name=httpd state=absent" -i ~/procject1/hosts