本地镜像问题

本地镜像问题

我想在我们当地公共图书馆的服务器上为 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)。然后,在每个镜像的末尾,您放置mainmultiverse等的地方,只提及您想要的部分。我认为mainuniverse、 等是 Debian 衍生的平行项basecontrib、 等apt-mirror也会安装一个cron条目,因此您只需取消注释它即可定期更新镜像。您还可以选择添加或忽略-updates-backports、 和-proposed部分。

相关内容