Я хотел бы настроить локальное зеркало для 12.04 LTS и 14.04 LTS на сервере нашей локальной публичной библиотеки. Наш город не имеет никакого реального широкополосного Интернета (большинство людей находится или на Dial-up или на Satilite с ограниченными загрузками). Местная библиотека имеет 10 Мбит (волокно) соединение и некоторое 'запасное' дисковое пространство. Я имею установку debmirror и создал пару сценариев как это (другой сценарий является тем же, но для 14,04 [Надежный человек]):
#!/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
Мой вопрос: правильный способ сделать это effiencently? Я должен 'объединить' это в единственный вызов к debmirror (т.е. добавить все опции 'выпуска' в единственный список разделенных запятой значений)?
То, что я делаю, отражает, как я сделал этот вид вещи для CentOS, но Ubuntu кажется отличающейся, в этом нет на самом деле отдельных деревьев файлов пакета для различных выпусков и различных частей выпуска (например, основывайте ОС, обновления, contrib, дополнительный, и т.д.) - это все 'портится' вместе, при этом метаданные репозитория используются улаживать вещи.
Полезный совет?
Я думаю, что необходимо использовать apt-mirror
для этого. Это показывает намного более простую конфигурацию (подобный /etc/apt/sources.list
). Затем в конце каждого зеркала, куда Вы помещаете main
, multiverse
, и т.д., упоминание только те разделы, Вы хотите. Я думаю main
, universe
, и т.д. Debian-производные параллели base
, contrib
, и т.д. apt-mirror
также установки cron
запись, таким образом, только необходимо не прокомментировать его для зеркала, которое будет регулярно обновляться. Можно также принять решение добавить или проигнорировать -updates
, -backports
, и -proposed
разделы.