[英]Unable to run ansible adhoc commands on vagrant box?
我正在嘗試在無業游民的vms上運行ansible ad-hoc命令,但收到以下錯誤。
vagrant@10.0.0.12 | FAILED! => {
"cache_update_time": 1543885371,
"cache_updated": false,
"changed": false,
"msg": "'/usr/bin/apt-get -y -o \"Dpkg::Options::=--force-confdef\" -o \"Dpkg::Options::=--force-confold\" install 'httpd'' failed: E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)\nE: Unable to lock the administration directory (/var/lib/dpkg/), are you root?\n",
"rc": 100,
"stderr": "E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)\nE: Unable to lock the administration directory (/var/lib/dpkg/), are you root?\n",
"stderr_lines": [
"E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)",
"E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?"
],
"stdout": "",
"stdout_lines": []
我能夠對其執行ping操作,並且ping結果如下所示,
vagrant@10.0.0.1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
我搜索了幾個堆棧溢出頁面,並試圖更改權限,甚至刪除了“ / var / lib / dpkg / lock”,但沒有任何效果。
配置:Ubuntu 18.0虛擬機
流浪漢版本:流浪漢2.2.2
ansible版本: ansible 2.7.4 config file = None configured module search path = ['/Users/arunyantrapragada/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/local/lib/python3.7/site-packages/ansible executable location = /usr/local/bin/ansible python version = 3.7.1 (default, Nov 6 2018, 18:46:03) [Clang 10.0.0 (clang-1000.11.45.5)]
我要運行的命令是:
ansible servers -i inventory -m apt -a "name=httpd state=present"
有人可以解釋一下為什么會發生這種情況,以及解決安全問題和刪除“ / var / lib / dpkg / lock”中的鎖定文件的中斷的解決方案。
您需要在命令后附加--sudo
選項。 否則,ansible將嘗試以無業游民的用戶身份運行apt-get
,但是apt-get
(如錯誤消息所提示)需要以root用戶身份運行。
ansible servers -i inventory -b -m apt -a "name=httpd state=present"
要么
ansible servers -i inventory -m apt -a "name=httpd state=present" -K
(這將要求主機的sudo密碼。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.