使 debian “apt”(新的 apt-get / aptitude 前端)缓存 .deb 文件在 '/var/cache/apt/archives/'

fin*_*een 8 aptitude cache debian apt

在当前(2018-06)Debian的SID,通过安装.deb软件包apt-getaptitudesynaptic在缓存下载的软件包/var/cache/apt/archives

# rm -f /var/cache/apt/archives/nano_*
# aptitude install nano
  [...]
# aptitude purge nano
  [...]
# ls /var/cache/apt/archives/nano_*

/var/cache/apt/archives/nano_2.9.7-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)

使用前端apt不再缓存下载的文件:

# rm -f /var/cache/apt/archives/nano_*
# apt install nano
  [...]
# ls /var/cache/apt/archives/nano_*
ls: cannot access '/var/cache/apt/archives/nano_*':
      No such file or directory
Run Code Online (Sandbox Code Playgroud)

因此,在两组互斥的软件包之间切换会重新下载所有内容。如何更改设置apt以保留下载的文件?

GAD*_*D3R 11

创建一个/etc/apt/apt.conf.d/01keep-debs包含以下内容的文件:

Binary::apt::APT::Keep-Downloaded-Packages "true";  
Run Code Online (Sandbox Code Playgroud)

*.deb应该保存在/var/cache/apt/archives/*目录中。

或者将其用作保留某些选定软件包的 debs 文件的选项。

 apt -o APT::Keep-Downloaded-Packages="true" install some_package.
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你。和 FTR,这个选项没有记录在 `apt.conf`、`apt-config` 或 `apt_preferences` 的手册页中。 (2认同)