我用Ansible管理2个客户端(centos8),我想在Web服务器上安装mod-ssl,在所有主机上安装python-passlib,并在所有主机上安装firewalld。 Playbook每次运行时都应进行检查,以确保这3个软件包是最新的。
我已经写过一本剧本,但是我收到了错误消息:没有名为“ python-passlib”的软件包。
在centos8上此软件包是否还有其他名称? 而且我认为我安装此mod-ssl软件包的方式也是错误的……你们可以检查我的Playbook并给我一个提示吗? :D
这是我的剧本:
- hosts: all
become: yes
tasks:
- name: Install different services and keep them up-to-date
dnf:
name:
- firewalld
- python-passlib
state: latest
- hosts: webserver
become: yes
tasks:
- name: Install mod-ssl and keep it up-to-date
dnf:
name: mod-ssl
- hosts: webserver
become: yes
tasks:
- name: Insert a index.php site
copy:
src: /home/mike/devops_live_demo/index.php
dest: /var/www/html/
owner: mike
mode: '0644'
- hosts: webserver
become: yes
tasks:
- name: Reboot the Webserver
reboot:
提前谢谢你们!! 问候 迈克
答案 0 :(得分:0)
python-passlib 在更高版本的RHEL 7中已弃用,并已在RHEL 8中完全删除(因此在CentOS 8中也已删除)。它可能在EPEL存储库中可用,但是目前不存在。有一个开放的RFE,其中包含here
要在此期间安装python-passlib,可以使用Ansible pip
模块并安装passlib
。您可以提供passlib的第三方打包RPM,但除非您信任该来源,否则我建议您这样做。
mod_ssl ,您只需要在任务中调整软件包名称(您有mod-ssl
,但应该为mod_ssl
)。如果您想使其保持最新状态,还需要添加state: latest
:
- name: Install mod-ssl and keep it up-to-date
dnf:
name: mod_ssl
state: latest