如何使用Ansible对特定任务的用户进行身份validation?

我得到'味精:无法lockingapt独家操作'当试图安装一些依赖关系在一个使用apt的aptbook,与stream浪的用户。 我怀疑它告诉我这是因为它无法在运行任务时validationstream浪用户。

这是我正在使用的angular色声明。

- name: ruby installer hosts: all sudo: True sudo_user: vagrant roles: - ruby 

这是失败的任务:

  - name: Install ruby building dependencies apt: name={{ item }} state=installed update_cache=yes with_items: - dependency 

当删除“update_cache = yes”并重新运行剧本时,我得到:E:无法lockingpipe理目录(/ var / lib / dpkg /),你是root用户吗?

很明显,当用root运行它时,它工作得很好,但是我需要它在不同于root的用户下运行,因为一些ruby(rvm,rbenv特定的)任务。

在运行我的手册时,如何正确authenticationstream浪使用者? 有人能指出我正确的方向吗?

我结束了这个angular色声明:

 - name: ruby installer hosts: all sudo: True user: vagrant roles: - ruby 

而这个安装依赖关系的任务:

 - name: Install ruby building dependencies apt: name={{ item }} state=installed update_cache=yes sudo_user: root with_items: -dependency 

它现在使用root来执行apt任务,并且在剧本中用于其他ruby任务。

apt安装系统级包,因此使用apt需要root相当的权限。

如果您需要以其他用户身份执行进一步的应用程序部署步骤,则需要将这些步骤从deb软件包安装过程中提取出来。