apt本地仓库
·
Table of Contents
配置本地Debian源仓库方案
sudo apt install reprepro apt-rdepends
sudo mkdir -p /srv/localrepo/{conf,packages}
sudo chmod -R 755 /srv/localrepo
sudo chown peter:peter /srv/localrepo
sudo tee /srv/localrepo/conf/distributions <<EOF
Origin: LocalRepo
Label: LocalRepo
Codename: bookworm
Architectures: amd64
Components: main
Description: Minimal local Debian repo
EOF
mkdir -p /tmp/debs
cd /tmp/debs
pkgs=("nginx" "curl")
for pkg in ${pkgs}; do
apt-rdepends $pkg | grep -v "^ "
done > /tmp/pkglist
while read pkg; do
apt download "$pkg"
done < /tmp/pkglist
cd /srv/localrepo
for deb in /tmp/debs/*.deb; do
reprepro includedeb bookworm "$deb"
done
echo "deb [trusted=yes, arch=amd64] file:///srv/localrepo bookworm main" | sudo tee /etc/apt/sources.list.d/localrepo.list
# 每次新增包都要
reprepro export
自动递归拉取包及依赖到本地仓库
# 你也可以让 reprepro 自动“抓取”远程仓库的包 + 所有依赖:
sudo tee /srv/localrepo/conf/updates<<EOF
Name: debian
Suite: bookworm
Components: main
Architectures: amd64
VerifyRelease: false
Method: http://deb.debian.org/debian
EOF
# 然后:
reprepro update
# ⚠️ 但 reprepro update 会拉 component 的所有包,不适合最小仓库,所以推荐手动 includedeb。