gpt4 book ai didi

docker - apt -o APT::Keep-Downloaded-Packages=true install 不会将 debs 保留在 docker 中

转载 作者:太空宇宙 更新时间:2023-11-03 17:03:22 24 4
gpt4 key购买 nike

我在 docker 上运行 ubuntu:16.04(Docker 版本 18.09.7,build 2d0083d):

docker run -it ubuntu:16.04

我正在运行 apt -o APT::Keep-Downloaded-Packages=true install curl

应该安装 curl,而不是从 /var/cache/apt/archives 中删除 deb,但这并没有发生。软件包已安装,但 deb 未保存在缓存中(或者更确切地说,保存然后删除)。

我在我的主机上试过了:

lsb_release -a
LSB Version: core-9.20160110ubuntu0.2-amd64:core-9.20160110ubuntu0.2-noarch:printing-9.20160110ubuntu0.2-amd64:printing-9.20160110ubuntu0.2-noarch:security-9.20160110ubuntu0.2-amd64:security-9.20160110ubuntu0.2-noarch
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial

然后它按预期工作(即包已保存)。

检查了容器和主机中的 apt 版本。两者运行相同的 apt - apt 1.2.32 (amd64)

导致忽略 APT 选项 的主机和容器之间有什么不同?

最佳答案

感谢@David Maze 的评论让我来到这里。

区别就在于此。我安装的 docker 容器在 /etc/apt/apt.conf.d 中有一个名为 docker-clean 的配置文件,其中包含 3 行:

DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };                                                          │
APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; }; │
Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";

这个选项似乎已经覆盖了我的 APT::Keep-Downloaded-Packages=true。然而,在删除前两行并重新使用 APT::Keep-Downloaded-Packages=true 之后,deb 被保存在文件目录中

关于docker - apt -o APT::Keep-Downloaded-Packages=true install <pkg> 不会将 debs 保留在 docker 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59284740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com