通过ansible安装deb包

问题描述 投票:0回答:2

我正在尝试使用 ansible 在远程服务器上安装 deb 包,使用以下结构

- name: Install deb
  delegate_to: app1
  apt:
    deb: https://example.com/deb/package.deb

- name: Install deb
  delegate_to: app1
  apt:
    deb: /path/to/deb

playbook 可以工作,说一切正常,但实际上软件包尚未安装,如果您连接到远程服务器并手动运行

apt install /path/to/deb
,则软件包已安装。我尝试使用ansible将deb复制到服务器并通过从Internet资源下载包来安装它,结果总是相同的

ansible deb
2个回答
6
投票

对于 Ansible,您必须使用 权限升级 方法

become
become_method: sudo
。安装软件包需要
sudo
权限。

- name: Install deb
  delegate_to: app1
  apt:
    deb: /path/to/deb
  become: true

1
投票

对任务进行以下修改有帮助

- name: Install deb
  command: apt install /path/to/package.deb -y --allow-downgrades

apt模块的allow_downgrade指令出现了,从ansible 2.12版本开始,在我的2.9中它不起作用,因为force指令不起作用,我不得不使用不太好的方法来实现任务。

© www.soinside.com 2019 - 2024. All rights reserved.