我想在我们当地公共图书馆的服务器上为 12.04 LTS 和 14.04 LTS 设置本地镜像。我们镇上没有真正的宽带互联网(大多数人使用拨号或卫星上网,下载量有限)。当地图书馆有 10MBit(光纤)连接和一些“备用”磁盘空间。我已经安装了 debmirror 并创建了一对这样的脚本(另一个脚本相同,但适用于 14.04 [Trusty]):
#!/bin/bash
here=`pwd`
cd `dirname $0`
there=`pwd`
cd $here
arch=amd64,i386
section=main,restricted,universe,multiverse
release=precise
server=us.archive.ubuntu.com
inPath=/ubuntu
proto=http
echo $here
echo $there
outpath=`dirname $there`/precise
echo $outpath
debmirror -a $arch \
--no-source \
-s $section \
-h $server \
-d $release \
-r $inPath \
--ignore-release-gpg \
--progress \
--no-check-gpg \
-e $proto \
$outpath
section=main,restricted,universe,multiverse
release=precise-updates
server=us.archive.ubuntu.com
inPath=/ubuntu
proto=http
echo $here
echo $there
outpath=`dirname $there`/precise-updates
echo $outpath
debmirror -a $arch \
--no-source \
-s $section \
-h $server \
-d $release \
-r $inPath \
--ignore-release-gpg \
--progress \
--no-check-gpg \
-e $proto \
$outpath
section=main,restricted,universe,multiverse
release=precise-security
server=security.ubuntu.com
inPath=/ubuntu
proto=http
echo $here
echo $there
outpath=`dirname $there`/precise-security
echo $outpath
debmirror -a $arch \
--no-source \
-s $section \
-h $server \
-d $release \
-r $inPath \
--ignore-release-gpg \
--progress \
--no-check-gpg \
-e $proto \
$outpath
section=main,restricted,universe,multiverse
release=precise-backports
server=us.archive.ubuntu.com
inPath=/ubuntu
proto=http
echo $here
echo $there
outpath=`dirname $there`/precise-backports
echo $outpath
debmirror -a $arch \
--no-source \
-s $section \
-h $server \
-d $release \
-r $inPath \
--ignore-release-gpg \
--progress \
--no-check-gpg \
-e $proto \
$outpath
我的问题是:这是有效做法吗?我应该将其“合并”到单身的调用 debmirror(例如将所有“发布”选项附加到以逗号分隔的列表中)?
我正在做的事情反映了我为 CentOS 所做这种事情的方式,但 Ubuntu 似乎有所不同,因为实际上并没有针对不同版本和版本的不同部分(例如基本操作系统、更新、贡献、额外等)的单独的包文件树 - 它全部“混合”在一起,并使用存储库元数据来整理事物。
有什么有用的建议吗?
答案1
我认为您应该使用apt-mirror
。它具有更简单的配置(类似于 /etc/apt/sources.list
)。然后,在每个镜像的末尾,您放置main
、multiverse
等的地方,只提及您想要的部分。我认为main
、universe
、 等是 Debian 衍生的平行项base
,contrib
、 等apt-mirror
也会安装一个cron
条目,因此您只需取消注释它即可定期更新镜像。您还可以选择添加或忽略-updates
、-backports
、 和-proposed
部分。