我知道如果没有所需版本的存档的本地副本,我就无法安装以前的版本。但今天我发现了一些令人惊讶的事情:我确信所有以前的存档都存储在缓存中。但在我将 Firefox 从 v28 升级到 v29 并检查可安装的版本后,结果出乎我的意料:
$ apt-cache madison firefox
firefox | 29.0+build1-0ubuntu0.12.04.2 | http://archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages
firefox | 29.0+build1-0ubuntu0.12.04.2 | http://security.ubuntu.com/ubuntu/ precise-security/main i386 Packages
firefox | 11.0+build1-0ubuntu4 | http://archive.ubuntu.com/ubuntu/ precise/main i386 Packages
没有 28 版。我检查了一下/var/cache/apt/archives
,确实没有 28 版的存档。删除了它,真可惜。
我怎样才能防止它删除旧档案?
答案1
Apt 缓存由每日 cron 作业管理。要修改默认设置,请打开(以 root 身份)/etc/apt/apt.conf.d/20archive
:
APT::Archives::MaxAge "30";
APT::Archives::MinAge "2";
APT::Archives::MaxSize "500";
要禁用自动删除,请将这三个值设置为0
。
请参阅顶部/etc/cron.daily/apt
以了解这些选项的简要文档。
答案2
从man apt-get
自动清洁:
与 clean 类似,autoclean 会清除本地存储库中检索到的软件包文件。不同之处在于,它只会删除无法再下载且基本无用的软件包文件。这样可以长期维护缓存,而不会失控。如果将配置选项 APT::Clean-Installed 设置为关闭,则会阻止删除已安装的软件包。
检查当前值apt-config dump|grep Clean
另外/etc/apt/apt.conf
:
APT::Clean-Installed "false";