在 Ubuntu/Debian 系统中,APT 的缓存默认存储在 /var/cache/apt 目录。若需将其迁移到其他位置(如更大容量的分区),可通过以下步骤修改缓存目录:
步骤 1:创建新的缓存目录
假设目标路径为 /mnt/new_apt_cache:
sudo mkdir -p /mnt/new_apt_cache/archives/partial
sudo chown -R root:root /mnt/new_apt_cache
sudo chmod -R 755 /mnt/new_apt_cache
步骤 2:修改 APT 配置文件
编辑 /etc/apt/apt.conf(若不存在则新建):
sudo nano /etc/apt/apt.conf
添加以下内容(指定新目录):
// 设置缓存根目录
Dir::Cache “/mnt/new_apt_cache”;
// 设置软件包下载路径
Dir::Cache::archives “archives/”;
保存后退出(Ctrl+O → Enter → Ctrl+X)。
步骤 3:验证配置并更新
执行命令测试配置是否生效:
sudo apt clean # 清理旧缓存
sudo apt update
检查新目录是否生成缓存文件:
ls /mnt/new_apt_cache/archives
步骤 4(可选):保留原目录结构(软链接)
如希望透明化迁移,可创建软链接(推荐):
sudo mv /var/cache/apt /var/cache/apt.original
sudo ln -s /mnt/new_apt_cache /var/cache/apt
自动化清理配置(可选)
修改 APT 自动清理策略(/etc/apt/apt.conf.d/20auto-upgrades):
APT::Periodic::MaxAge “30”; # 保留 30 天内的元数据
APT::Periodic::Download-Upgradeable-Packages “1”;
验证配置结果
查看当前 APT 配置
apt-config dump | grep -i “Dir::Cache”
输出类似:
Dir::Cache “/mnt/new_apt_cache”;
注意事项
文件系统权限:确保目标目录的所有权和权限正确(root:root,755)。目标路径稳定性:
若新目录位于外部硬盘/网络盘,需确保其永续性(编辑 /etc/fstab 确保自动挂载)。
避免占用系统分区:如修改目的是解决 /var 空间不足,需同时迁移其他高负载目录(如 /var/log)。回滚方案:若出问题,可恢复备份的配置:sudo mv /etc/apt/apt.conf.bak /etc/apt/apt.conf
附注:临时指定缓存位置(单次生效)
若仅为单次操作指定缓存目录,可直接用 -o 参数:
sudo apt -o Dir::Cache=/mnt/temp_apt_cache update