Назад | Перейти на главную страницу

Ansible Unable Пользователь без полномочий root не может установить с помощью APT

Я создаю нового пользователя с помощью ansible под названием nginx, nginx является частью группы sudo a, но когда я пытаюсь выполнить подходящую установку с этим пользователем, я получаю следующую ошибку

: FAILED! => {"changed": false, "msg": "Failed to lock apt for exclusive operation"}

В чем причина ошибки и как ее исправить?

Ниже мой playbook, playbook запускается, пока не попытается запустить задачу Install aptitude using apt

- name: Install Nginx Ubuntu
  hosts: web
  remote_user: "{{ NGINX_USER }}"
  become: yes
  become_method: sudo
  become_user: "{{ NGINX_USER }}"
  connection: ssh
  gather_facts: no
  vars:
    NGINX_VERSION: nginx-1.17.10
    NGINX_SBIN_PATH: /usr/sbin/
    NGINX_ERROR_LOG_PATH: /var/log/nginx/error.log
    NGINX_HTTP_LOG_PATH: /var/log/nginx/access.log
    NGINX_PID_PATH: /var/run/nginx.pid
  vars_files:
    - ../vars/global.yaml
  tasks:
    - name: Check if Nginx Exists
      stat: path=/etc/init.d/nginx
      register: nginx_status
      become: yes
    - name: Stop nginx Service
      service: name=nginx state=stopped
      when: nginx_status.stat.exists
      register: service_stopped
    - name: Make sure a systemd is not running
      systemd:
        state: stopped
        name: nginx
    - name: Install aptitude using apt
      apt:
        name: aptitude
        state: latest
        update_cache: yes
        force_apt_get: yes
    - name: Update apt repo
      apt:
        update_cache: yes
        cache_valid_time: 3600
    - name: Install required system packages
      apt: name={{ item }} state=latest update_cache=yes
      loop:
        [
          "build-essential",
          "libpcre3",
          "libpcre3-dev",
          "zlib1g",
          "zlib1g-dev",
          "libssl-dev",
        ]

Не уверен, но я думаю, что вы переходите к тому же пользователю.

  • Попробуй использовать become_user: root (если вы можете)
  • Проверить группу a получил достаточно прав для установки пакета
  • и надеюсь, что вы запустите его несколько раз; но просто убедитесь, что никакой другой пользователь / программа не использует apt одновременно.

Попробуй.