我正在尝试使用 ansible 在远程服务器上安装 deb 包,使用以下结构
- name: Install deb
delegate_to: app1
apt:
deb: https://example.com/deb/package.deb
Run Code Online (Sandbox Code Playgroud)
或者
- name: Install deb
delegate_to: app1
apt:
deb: /path/to/deb
Run Code Online (Sandbox Code Playgroud)
playbook 有效,说一切正常,但实际上该软件包尚未安装,如果您连接到远程服务器并手动运行apt install /path/to/deb,则该软件包已安装。我尝试使用ansible将deb复制到服务器并通过从Internet资源下载包来安装它,结果总是相同的
小智 9
您必须使用Ansible的权限提升方法。安装软件包需要特权。becomebecome_method: sudosudo
- name: Install deb
delegate_to: app1
apt:
deb: /path/to/deb
become: true
Run Code Online (Sandbox Code Playgroud)
对任务的以下修改有帮助
- name: Install deb
command: apt install /path/to/package.deb -y --allow-downgrades
Run Code Online (Sandbox Code Playgroud)
apt模块的allow_downgrade指令出现了,从ansible 2.12版本开始,在我的2.9中它不起作用,因为force指令不起作用,我不得不使用一个不太好的方法来实现该任务。
| 归档时间: |
|
| 查看次数: |
13483 次 |
| 最近记录: |