你这个问题里 “Debian spool 如何同步” 有两种常见理解,我分别说明,你可以对号入座。如果指的是其他 spool(比如 CUPS、mail、LPD),可以再补充一下场景。
即:本地或内网如何同步 Debian 的 apt 仓库(/var/spool/apt-mirror、aptly、reprepro 等)。
apt-mirror(最简单)sudo apt install apt-mirror
编辑配置文件:
sudo nano /etc/apt/mirror.list
示例:
set base_path /var/spool/apt-mirror
set mirror_path $base_path/mirror
set skel_path $base_path/skel
set var_path $base_path/var
deb http://deb.debian.org/debian bookworm main contrib non-free
deb http://deb.debian.org/debian-security bookworm-security main
执行同步:
sudo apt-mirror
定时同步:
sudo crontab -e
0 2 * * * /usr/bin/apt-mirror
aptly(推荐,企业级)适合做私有仓库、版本控制。
sudo apt install aptly
创建镜像:
aptly mirror create debian-main http://deb.debian.org/debian bookworm
aptly mirror update debian-main
发布:
aptly publish snapshot debian-main
rsync 直接同步 Debian 官方镜像rsync -a --delete rsync://deb.debian.org/debian /data/debian/
⚠️ 注意:
Debian 中常见的 spool 目录:
| 目录 | 用途 |
|---|---|
/var/spool/cron |
cron 任务 |
/var/spool/mail |
用户邮件 |
/var/spool/cups |
打印队列 |
/var/spool/apt |
apt 下载缓存 |
/var/spool/postfix |
Postfix 邮件队列 |
系统 spool 目录一般不建议直接同步
原因:
rsync + 排除规则rsync -av --delete \
--exclude='lock' \
--exclude='*.pid' \
/var/spool/ user@backup:/backup/spool/
systemctl stop cron
systemctl stop cups
rsync ...
systemctl start cron
systemctl start cups
推荐方案:
/var/spool(对 mail 队列不太推荐)你可以直接回答我:
1️⃣ 是 APT 软件源同步?
2️⃣ 是 /var/spool 目录备份或同步?
3️⃣ 是 打印 / 邮件 / cron spool?
4️⃣ 是 Debian 内网离线仓库?
我可以给你 精确到命令级别 的方案。