1

I'm trying to learn Ansible, but I have strange thing. I have below playbook:

---
- name: "Uninstall apache server"
  hosts: all
  become: true
  tasks:
    - name: "Uninstall packages"
      apt:
        name: nginx
        state: absent
    - name: "Stop nginx"
      service:
        name: nginx
        state: stopped
        enabled: no

Problem is with execution, I mean I got: enter image description here That mean package is not installed, but in console I see enter image description here When I write

apt-get remove nginx

I got

enter image description here

But why my services exist and is running? I did this step:

  1. Install nginx by ansible playbook - state present
  2. Uninstall nginx by ansible playbook - state absent

Result is: package is removed but services still exist and working. What I do wrong?

1 Answer 1

2

This is normal behavior, it has nothing to do with ansible. If you do the same steps manually (on an Ubuntu at least) you get the same result.

The reason is, the service does not belong to the nginx package, but to nginx-common, which was installed as a dependency.

To resolve this you need to run apt autoremove, which removes all packages that were not installed explicitly and are not longer needed.

In ansible you can do this by setting the autoremove attribute, which is set to no by default.

- name: "Uninstall packages"
  apt:
    name: nginx
    state: absent
    autoremove: yes
1
  • Ok, thanks for help :)
    – PawelC
    Jun 30, 2022 at 11:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.