APT是Debian系统的核心包管理工具,其内置缓存机制可显著减少重复下载。
1. 更新并利用APT缓存
运行sudo apt update同步远程软件源的最新包列表,后续使用apt install或apt upgrade时,APT会优先从本地缓存(/var/cache/apt/archives/)读取包文件,避免重复下载。
2. 调整APT缓存大小
若默认缓存(通常为100MB左右)不足,可通过编辑/etc/apt/apt.conf.d/95local(或创建该文件)增加缓存容量,例如设置为1GB:
echo "Acquire::http::Cache::MaxSize \"1073741824\";" | sudo tee -a /etc/apt/apt.conf.d/95local
3. 清理过期缓存
定期执行以下命令释放磁盘空间:
sudo apt clean:删除所有已下载的包文件(彻底清理);sudo apt autoclean:仅删除不再需要的旧包文件(保留当前可用版本的包);sudo apt autoremove:删除不再需要的依赖包。若系统运行Web服务(如Nginx),可通过缓存静态资源(图片、CSS、JS等)减少服务器负载和响应时间。
1. Nginx缓存配置示例
编辑Nginx配置文件(如/etc/nginx/sites-available/default),添加以下内容:
http {
# 定义缓存路径、大小及有效期
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
server {
listen 80;
server_name your_domain.com;
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
# 启用缓存并设置有效期(1小时)
proxy_cache my_cache;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 404 1m;
proxy_pass http://backend_server; # 替换为实际后端地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
保存后重启Nginx:sudo systemctl restart nginx。
Memcached或Redis可将频繁访问的动态数据(如数据库查询结果)存储在内存中,减少数据库负载和响应延迟。
1. 安装Memcached
运行sudo apt install memcached安装,默认内存限制为64MB(可根据需求调整)。
2. 调整Memcached内存大小
编辑/etc/memcached.conf,修改-m参数(单位:MB),例如设置为512MB:
-m 512
重启服务生效:sudo systemctl restart memcached。
3. 在应用中使用Memcached
以PHP为例,安装扩展sudo apt install php-memcached,然后在代码中初始化并使用:
$memcached = new Memcached();
$memcached->addServer('localhost', 11211);
$key = 'dynamic_data_key';
$data = $memcached->get($key);
if (!$data) {
$data = fetchDataFromDatabase(); // 从数据库获取数据
$memcached->set($key, $data, 3600); // 缓存1小时
}
若局域网内有多台Debian设备,可通过缓存服务器共享软件包,减少重复下载。
1. 使用Squid搭建APT代理缓存
安装Squid:sudo apt install squid,编辑配置文件/etc/squid/squid.conf:
http_access allow all
acl localnet src 192.168.1.0/24 # 替换为你的局域网IP段
http_port 3128
cache_dir ufs /var/spool/squid 100 16 256 # 缓存目录大小100MB
重启Squid:sudo systemctl restart squid。
2. 配置APT使用缓存服务器
编辑客户端的/etc/apt/apt.conf.d/95proxies,添加代理设置:
Acquire::http::Proxy "http://localhost:3128";
此后,客户端将从缓存服务器获取软件包,缓存服务器会自动同步上游源的包。
APT-P2P是一款P2P工具,可在局域网内共享已下载的软件包,适合无外网或外网速度慢的环境。
1. 安装与配置APT-P2P
运行sudo apt install apt-p2p安装,编辑/etc/apt/sources.list,在软件源URL前插入localhost:9977,例如:
deb http://localhost:9977/mirrors.ustc.edu.cn/debian/ testing main
启动服务:sudo systemctl start apt-p2p并设置开机自启:sudo systemctl enable apt-p2p。