【问题标题】:yum database corruption check/fix moduleyum 数据库损坏检查/修复模块
【发布时间】:2019-09-25 09:18:31
【问题描述】:

我正在寻找一个 Ansible 模块来识别“rpmdb open failed”的 Red Hat 或 CentOS yum 数据库错误?我希望主动识别我们定期修补的服务器,以便在修补之前了解并在发生此错误时为我们报告。然后让 Ansible 修复错误。有人见过这种类型的模块/修复吗?

谢谢。

【问题讨论】:

    标签: ansible


    【解决方案1】:

    这样的模块不存在,但是您可以为 yum 模块使用list 参数。它不会对您提供的包执行除yum list 之外的任何任务,并且无论是否安装包,结果都会成功,当然除非您遇到rpmdb 错误。

    您需要忽略错误并注册结果,如下所示:

        - yum:
            list: kernel
          ignore_errors: yes
          register: result
    
        - debug: var=result
    

    result 变量将包括 failed=truemsgstderr,您应该能够将它们一起用于识别 rpmdb 错误。基于此识别,您可以启动有条件的shell 任务来修复错误。

    【讨论】:

    • 非常感谢马特的回复。我可以看到这对我们有什么好处。感谢您的回复!
    猜你喜欢
    • 2018-01-02
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 2011-01-12
    • 1970-01-01
    • 2017-08-29
    相关资源
    最近更新 更多