如何解决Ansible在Ubuntu安装libssl-dev的deb-src源错误?
问题修复方案
错误原因
你使用的state: build-dep是用于安装指定软件包的构建依赖项,该操作要求系统的sources.list中配置有deb-src类型的软件源,但当前目标主机未配置这类源,因此触发报错。
解决方案
根据你的实际需求选择以下任意一种方案:
方案1:仅安装libssl-dev包本身
如果你的目标只是安装libssl-dev包,不需要它的构建依赖,直接修改Ansible任务,将state改为present(确保包存在)或latest(确保是最新版本):
- name: Install libssl-dev package ansible.builtin.apt: pkg: libssl-dev state: present become: true
方案2:启用deb-src源后安装构建依赖
如果确实需要安装libssl-dev的构建依赖(比如用于编译相关源码),先通过Ansible启用deb-src源,再执行build-dep操作:
# 启用Ubuntu默认的deb-src源 - name: Enable deb-src repositories ansible.builtin.apt_repository: repo: "deb-src http://archive.ubuntu.com/ubuntu {{ ansible_distribution_release }} main restricted universe multiverse" state: present become: true # 更新apt缓存 - name: Update apt cache ansible.builtin.apt: update_cache: true become: true # 安装libssl-dev的构建依赖 - name: Install build dependencies for libssl-dev ansible.builtin.apt: pkg: libssl-dev state: build-dep become: true
其中{{ ansible_distribution_release }}会自动获取目标主机的Ubuntu版本代号(如jammy、focal),无需手动指定。
内容的提问来源于stack exchange,提问作者fr0zt
相关产品推荐
相关产品推荐

