Ssh

Packer 來自本地作品的 ansible 但來自另一台伺服器的請求 root 權限

  • March 8, 2018

對於一些上下文,我正在使用帶有 ansible 配置程序的打包程序在 AWS 上創建 AMI 圖像。

packer和ansible的相關部分:

打包器.json

"provisioners": [{
 "type": "shell",
 "inline": [
   "sleep 15",
   "sudo apt-get update",
   "sudo apt-get install -y aptitude python"
 ]
}, {
 "type": "ansible",
 "playbook_file": "../provision/ansible-playbook.yml",
 "groups": ["webworker"],
 "extra_arguments": [
   "--become-method=sudo"
 ]
}]

任務.yml

- name: Install tools
 become: true
 apt:
   name: "{{ item }}"
   state: latest
 with_items:
   - build-essential
   - git

在我的本地機器上,一切正常。

但是作為 CI 的一部分,這是使用我們的 Jenkins 伺服器執行這個打包腳本,但是它在第一個有become適當位置的 ansible 任務上失敗,在這種情況下,第一步是通過apt模組安裝一些工具:

amazon-ebs:         "W: chmod 0700 of directory /var/lib/apt/lists/partial failed - SetupAPTPartialDirectory (1: Operation not permitted)",
amazon-ebs:         "E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)",
amazon-ebs:         "E: Unable to lock directory /var/lib/apt/lists/",
amazon-ebs:         "W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)",
amazon-ebs:         "W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)",
amazon-ebs:         "E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)",
amazon-ebs:         "E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?"

我已經檢查了權限、使用者,即使apt在後台執行的另一個有鎖:什麼都沒有。

更有趣的是,如果我將 ansible 替換為 acommandsudo aptitude ...可以了,而且在 ansible 任務之前,還有一個 shell 配置程序也可以正常執行apt-get

同樣,這項工作來自我的機器(以及其他兩台電腦),而不是來自伺服器。我在任何機器上都沒有 ansible.cfg(甚至沒有預設機器)。

我使用 packer 為 Ubuntu 16.04 創建 AWS AMI 時遇到了這個問題。你在使用 Ubuntu 嗎?

Ubuntu 16.04 預設自動執行 uattended-upgrades(開箱即用)。發生的情況是,第一次啟動一個盒子時,無人值守升級鎖定 apt(請參閱 /var/lib/dpkg/lock),然後如果他們通過 apt 安裝任何東西,則配置腳本會出錯。

請參閱此處了解更多詳細資訊https://github.com/ansible/ansible/issues/4355#issuecomment-286184925

也在這裡:- https://github.com/geerlingguy/packer-ubuntu-1604/issues/3

引用自:https://serverfault.com/questions/873282