0

我用 Ansible 管理 2 个客户端(centos8),我想在网络服务器上安装 mod-ssl,在所有主机上安装 python-passlib,在所有主机上安装 firewalld。Playbook 应该在每次运行时检查 3 个包是否是最新可用的。

我已经写了一本剧本,但我收到错误消息,没有名为“python-passlib”的包

这个包在centos8上还有别的名字吗?而且我认为我安装这个 mod-ssl 包的方式也是错误的......你们能检查我的剧本并给我一个提示吗?: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:      

提前谢谢各位!!问候迈克

4

1 回答 1

0

python-passlib在更高版本的 RHEL 7 中被弃用,并在 RHEL 8 中完全删除(因此在 CentOS 8 中也被删除)。它可能在 EPEL 存储库中可用,但目前不存在。这里有一个开放的 RFE

同时要安装 python-passlib,可以使用 Ansiblepip模块并安装passlib. 您可以获取第 3 方打包的 passlib RPM,但除非您信任该来源,否则我建议您不要这样做。

mod_ssl可以从 RPM 存储库安装,您只需在任务中调整包名称(您有mod-ssl,但应该是mod_ssl)。state: latest如果您想让包保持最新,您还需要添加:

  - name: Install mod-ssl and keep it up-to-date
    dnf:
      name: mod_ssl
    state: latest
于 2019-11-05T21:40:38.340 回答