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

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

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

docker run -it ubuntu:16.04

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

应该安装卷发,而不要从/var/cache/apt/archives中删除debs,但这不会发生。该软件包已安装,但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 option

docker ubuntu apt
1个回答
0
投票
感谢@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保留在存档目录中
© www.soinside.com 2019 - 2024. All rights reserved.