我想在docker容器中安装foo
版的软件包1234
。与最新版本相比,我更喜欢它,因为它始终可以相同的方式工作。
所以我的Dockerfile有这个:
RUN apt-get update && apt-get install -y foo=1234
但是基本映像是mongodb:4.0.2
,它位于Ubuntu xenial上。
构建映像时,apt安装失败,因为它找不到该版本。我认为xenial不支持该版本。
那么,如何在xenial上找到软件包foo
的最新受支持版本?如果我运行apt policy foo
,它将显示我正在使用的ubuntu的最新信息(仿生),而不是xenial的最新信息。
答案 0 :(得分:1)
如果所涉及的软件包为>>> df
0 1 2 3 4
0 1.0 1.0 NaN 1.0 1.0
1 1.0 NaN 1.0 1.0 1.0
2 NaN NaN NaN NaN NaN
3 NaN 1.0 1.0 NaN NaN
4 1.0 NaN NaN 1.0 1.0
>>> df[df[3].notnull()]
0 1 2 3 4
0 1.0 1.0 NaN 1.0 1.0
1 1.0 NaN 1.0 1.0 1.0
4 1.0 NaN NaN 1.0 1.0
,则只需看一下https://packages.ubuntu.com/xenial/rlwrap网页即可。
但是,如果您希望以适当的方式以编程方式获取此版本信息,则可以依靠Launchpad API官方提供的API client implemented as a Python library。
否则,您可以使用rlwrap
和curl
之类的工具直接查询API(以解析检索到的JSON数据):
jq
如本Askubuntu question中所述,Debian也存在类似的API。