APT缓存配置参数(Debian系统核心缓存设置)
APT(Advanced Package Tool)是Debian及其衍生系统的包管理核心,其缓存机制用于存储下载的软件包、元数据和索引,以提升后续操作的效率。以下是常见的APT缓存配置参数及说明:
通过Acquire命名空间下的参数控制不同类型缓存的存储空间,避免缓存占用过多磁盘空间:
Acquire::http::Cache::Archives:控制.deb归档文件的缓存大小(如软件包安装包),设置为0表示无限制,或指定数值(如"100M"表示100MB)。Acquire::http::Cache::Packages:控制软件包列表(如Packages.gz)的缓存大小,同样可设置数值或0(无限制)。Acquire::http::Cache::Metadata:控制元数据(如Sources.gz、Release文件)的缓存大小,用于记录仓库的软件包信息。/etc/apt/apt.conf.d/95proxies):Acquire::http::Cache::Archives "100M";
Acquire::http::Cache::Packages "100M";
Acquire::http::Cache::Metadata "100M";
通过Cache-Expire或Cache-Control参数设置缓存的有效期,超过有效期的缓存会在下次apt update时自动清理:
Acquire::http::Cache-Expire:设置缓存过期时间,单位为秒(如"3600"表示1小时),也可使用d(天)、h(小时)、m(分钟)(如"7d"表示7天)。Acquire::http::Cache-Control:更灵活的过期设置,使用max-age指定有效期(如"max-age=604800"表示7天,604800秒)。Acquire::http::Cache-Expire "7d";
Acquire::http::Cache-Control "max-age=604800";
通过Dir::Cache命名空间修改缓存的存储目录,默认路径为/var/cache/apt/archives(软件包缓存)和/var/cache/apt/archives/partial(部分下载的缓存):
Dir::Cache::archives:设置软件包缓存目录(如"/var/cache/apt/archives")。Dir::Cache:设置整体缓存根目录(如"/var/cache/apt",子目录会自动生成)。Dir::Cache::archives "/var/cache/apt/archives";
Dir::Cache "/var/cache/apt";
APT提供两种缓存清理方式,可通过配置自动执行:
apt-get clean:彻底删除/var/cache/apt/archives目录下的所有缓存文件(不可恢复)。apt-get autoclean:仅删除过期的缓存文件(根据Cache-Expire设置判断),保留仍有效的缓存。/etc/apt/apt.conf.d/20auto-upgrades,添加以下内容(每周更新包列表并自动清理旧缓存):APT::Periodic::Update-Package-Lists "1";
APT::Periodic::AutocleanInterval "7";
默认情况下,APT缓存是启用的。若需临时或永久禁用缓存,可通过以下参数控制:
Acquire::http::No-Cache:设置为true时禁用HTTP缓存(强制每次从远程源下载),false时启用(默认)。Acquire::http::No-Cache "false";
若系统通过代理服务器访问网络,可将代理配置与缓存结合,提升缓存效率:
Acquire::http::Proxy:设置HTTP代理地址(如"http://proxy.example.com:8080")。Acquire::http::Proxy::Cache::Size:设置代理缓存的存储空间(如"1000"表示1000MB)。Acquire::http::Proxy "http://proxy.example.com:8080";
Acquire::http::Proxy::Cache::Size "1000";
sudo apt update使更改生效。