web-dev-qa-db-ja.com

ローカルミラーの質問

ローカルの公共図書館のサーバーに12.04LTSと14.04LTSのローカルミラーを設定したいと思います。私たちの町には本当のブロードバンドインターネットがありません(ほとんどの人はダイヤルアップまたはサティライトのどちらかを使用しており、ダウンロードは制限されています)。ローカルライブラリには、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

私の質問は:それを効率的に行う正しい方法ですか?これをsingle debmirrorの呼び出しに「マージ」する必要がありますか(つまり、すべての「release」オプションを単一のコンマ区切りリストに追加します)?

私がやっていることは、CentOSに対してこの種のことをどのように行ったかを反映していますが、Ubuntuは、リリースごとに、またリリースのさまざまな部分(たとえば、ベースOS、更新、contrib、余分なものなど)-それはすべて一緒に「結合」され、リポジトリのメタデータが物事を整理するために使用されます。

何か役立つアドバイスはありますか?

3
Robert Heller

これにはapt-mirrorを使用する必要があると思います。構成がはるかに単純です(/etc/apt/sources.listと同様)。次に、mainmultiverseなどを配置する各ミラーの最後に、必要なセクションのみを記述します。 mainuniverseなどはbasecontribなどのDebian派生の類似物だと思います。apt-mirrorcronエントリをインストールするため、ミラーを定期的に更新するにはコメントを外すだけです。 -updates-backports、および-proposedセクションを追加するか無視するかを選択することもできます。

1
muru