CD存储库和软件存储库是两个不同的组件(它们甚至具有单独的Launchpad页面:cdmirrors和archivemirrors)。因此,镜像它们是两个不同的任务。此外,尽管各种形式在CD存储库中具有不同的文件夹,但它们共享一个软件存储库。因此,您可以选择性地镜像每种口味的图像,而不是软件。对于软件存储库,您可以根据以下条件有选择地进行镜像:
- 释放(
trusty
,precise
等)
- 架构(
amd64
,i386
等)
- 包类型(二进制[
deb
]与源[ deb-src
])
- 通道(
trusty
,trusty-updates
,trusty-backports
等)
- 切片(
main
,multiverse
等)
要镜像软件存储库,请使用apt-mirror
。
apt-mirror
使用进行配置/etc/apt/mirror.list
。它的格式非常类似于sources.list
。软件包安装的配置文件有一些注释掉的选项,列出了它们的默认值。如果您愿意,可以取消注释并进行更改。
要镜像存储库,您需要添加一行,mirror.list
例如sources.list
:
deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
默认设置是仅镜像主机的体系结构,因此,如果您使用的是64位Ubuntu,则仅amd64
会镜像。您需要添加表格的另一行:
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
对于源程序包:
deb-src http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
如果您正在寻找一个相当完整的镜像,那么这些行是最少的(我也建议您使用-updates
频道):
deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe
最后,您需要添加clean
一行,以便过滤存储库中不再可用的软件包以将其删除:
clean http://us.archive.ubuntu.com/ubuntu
假设您的变量是(默认值):
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
set cleanscript $var_path/clean.sh
然后:
- 该存储库将镜像到
$mirror_path/parent-hostname/directory
(so /var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu
)
- 的
clean.sh
(这将是一组rm
命令来删除过时的包和目录)会/var/spool/apt-mirror/var/clean.sh
。
- 日志将转到
/var/spool/apt-mirror/var
。
该apt-mirror
软件包将安装cron作业(/etc/cron.d/apt-mirror
),您应对其进行编辑以启用(通过取消注释包含的行/usr/bin/apt-mirror
)。您还应该添加一个cron作业以运行clean.sh
(我每周运行一次)。
当然,您应该用http://us.archive.ubuntu.com./ubuntu
自己喜欢的镜子代替。