首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ansible from ppa不会安装python相关的软件包。

Ansible from ppa不会安装python相关的软件包。
EN

Ask Ubuntu用户
提问于 2017-03-05 09:10:19
回答 2查看 7.5K关注 0票数 1

当我构建我的dockerfile时,它执行以下操作:

代码语言:javascript
复制
FROM debian:jessie
...
RUN echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" > /etc/apt/sources.list \
    && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 \
    && apt-get update \
    && apt-get install ansible

我得到:

代码语言:javascript
复制
The following packages have unmet dependencies:
 ansible : Depends: python-jinja2 but it is not installable
           Depends: python but it is not installable
           Depends: python-yaml but it is not installable
           Depends: python-paramiko but it is not installable
           Depends: python-httplib2 but it is not installable
           Depends: python-six but it is not installable
           Depends: python-crypto (>= 2.6) but it is not installable
           Depends: python-setuptools but it is not installable
           Depends: sshpass but it is not installable
           Depends: python-pkg-resources but it is not installable

安装ansible的过程不应该已经安装了这些软件包吗?我有点不喜欢这个,但据我所知,一个软件包可以列出其他软件包的依赖项,那么为什么这些包不自动安装呢?debian不应该至少也带python吗?

我已经把它们放到了apt-get脚本中,它很有用,但它不应该是自动的吗?如果ppa中的一个新的ansible包需要更多的包怎么办?它会毁了我的文件

EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2017-05-22 08:24:04

与使用/etc/apt/sources.list重写>文件不同,您可以使用>>追加文本。

因此,它将类似于以下内容。

代码语言:javascript
复制
RUN echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" >> /etc/apt/sources.list \
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 \
&& apt-get update \
&& apt-get install -y ansible
票数 2
EN

Ask Ubuntu用户

发布于 2017-04-17 21:58:03

尝试将-f选项添加到apt-get install,该选项试图修复损坏的依赖关系。在运行apt-get update之前,您还可能希望运行apt-get clean来清除本地apt回购。这些都适用于我的封隔器构建,它使用了Ansible provisioner。

您的代码将变成:

代码语言:javascript
复制
RUN echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" > /etc/apt/sources.list \
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 \
&& apt-get autoclean \
&& apt-get update \
&& apt-get install -f ansible

关于更多的细节,我推荐这个极好的答案给更广泛的问题,“添加PPA后如何解决未满足的依赖关系?”

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/889734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档