Questões espelho locais

3

Eu gostaria de configurar um espelho local para 12.04 LTS e 14.04 LTS no servidor da nossa biblioteca pública local. Nossa cidade não tem internet de banda larga real (a maioria das pessoas está em Dial-up ou Satilite, com downloads limitados). A biblioteca local tem uma conexão de 10MBit (fibra) e um espaço em disco 'sobressalente'. Eu instalei debmirror e criei um par de scripts como este (o outro script é o mesmo, mas para 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

Minha pergunta é: é o caminho certo para fazê-lo eficientemente? Devo "mesclar" isso em uma chamada única para debmirror (por exemplo, anexar todas as opções de 'release' em uma única lista separada por vírgulas)?

O que estou fazendo reflete como fiz esse tipo de coisa para o CentOS, mas o Ubuntu parece diferente, pois não há árvores separadas de arquivos de pacotes para versões diferentes e partes diferentes da versão (por exemplo, SO base, atualizações , contrib, extra, etc.) - é tudo 'munged' juntos, com os metadados do repositório sendo usados para resolver as coisas.

Algum conselho útil?

    
por Robert Heller 05.07.2014 / 19:00

1 resposta

1

Acho que você deve usar apt-mirror para isso. Ele possui uma configuração muito mais simples (semelhante a /etc/apt/sources.list ). Em seguida, no final de cada espelho, onde você coloca o main , multiverse etc., mencione apenas as seções desejadas. Eu acho que main , universe , etc. são os paralelos derivativos do Debian de base , contrib , etc. apt-mirror também instala uma cron entry, então você só tem que descomente-lo para o espelho para ser atualizado regularmente. Você também pode optar por adicionar ou ignorar as seções -updates , -backports e -proposed .

    
por muru 06.07.2014 / 16:04