首页 > 解决方案 > 如何反向安装ansible角色?(如何卸载角色)

问题描述

我已经在我的服务器上安装了一个角色。现在我想删除它。执行此操作的正确命令是什么?

例如:

  roles:
    - role: lean_delivery.java
    - role: lean_delivery.solr_standalone

如何删除lean_delivery.java 角色?

标签: ansible

解决方案


您需要了解的是,ansible 不是包管理器。您不是在服务器上“安装”一个可以再次删除的角色,例如使用 apt 安装和删除软件包。
使用 ansible 时,您在配置(角色、剧本等)中定义一个状态,并且 ansible 会注意机器稍后将具有该状态。它不会记录所做的更改,因此可以在以后撤消它们。(例如,如果您包含自定义脚本,这是不可能的)。
因此,要恢复更改,您需要在运行 playbook 之前定义机器的状态,以便 ansible 可以创建该状态。
这很容易,对于很多模块,您可以指定state: absent(例如文件,已安装的软件包)将删除添加的内容。但这也可能非常困难,如果您有在原始角色上运行的自定义脚本,您需要编写一个脚本来恢复原始脚本在系统上所做的所有更改。
但是您需要撤消的操作取决于您在这些角色中所做的工作。


推荐阅读