Репозиторий компакт-дисков и программный репозиторий представляют собой два отдельных компонента (у них даже есть отдельные страницы Launchpad: cdmirrors и archivemirrors ). Поэтому их отражение - это две разные задачи. Кроме того, хотя различные версии имеют разные папки в репозитории CD, они совместно используют программный репозиторий. Таким образом, вы можете выборочно отражать изображения по вкусу, но не по программному обеспечению. Для хранилища программного обеспечения вы можете выборочно зеркалировать на основе:
- релиз (
trusty
, precise
и т.д.)
- архитектура (
amd64
, i386
и т.д.)
- тип пакета (двоичный [
deb
] против исходного [ deb-src
])
- Каналы (
trusty
, trusty-updates
, trusty-backports
и т.д.)
- участки (
main
, multiverse
и т.д.)
Для зеркалирования хранилища программного обеспечения используйте apt-mirror
.
apt-mirror
настроен с помощью /etc/apt/mirror.list
. Он имеет формат, очень похожий на sources.list
. В файле конфигурации, установленном пакетом, есть несколько закомментированных параметров, в которых перечислены их значения по умолчанию. При желании вы можете раскомментировать и изменить их.
Чтобы отразить репозиторий, вам нужно добавить строку, mirror.list
как для sources.list
:
deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
По умолчанию зеркалируется только архитектура хоста, поэтому, если вы используете 64-битную версию Ubuntu, amd64
будет отображаться только зеркальная копия. Вам нужно добавить еще одну строку формы:
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
И для пакетов с исходным кодом:
deb-src http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
Если вы ищете достаточно полное зеркало, эти строки будут минимальными (я бы также рекомендовал -updates
канал):
deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe
Наконец, вам нужно добавить clean
строку, чтобы пакеты, которые больше не доступны в хранилище, были отфильтрованы для удаления:
clean http://us.archive.ubuntu.com/ubuntu
Скажите, что ваши переменные (значения по умолчанию):
set base_path /var/spool/apt-mirror
set mirror_path $base_path/mirror
set skel_path $base_path/skel
set var_path $base_path/var
set cleanscript $var_path/clean.sh
Затем:
- Хранилище будет отражено
$mirror_path/parent-hostname/directory
(так /var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu
)
clean.sh
(Который будет представлять собой набор rm
команд для удаления устаревших пакетов и каталогов) будет /var/spool/apt-mirror/var/clean.sh
.
- Журналы пойдут на
/var/spool/apt-mirror/var
.
apt-mirror
Пакет устанавливает хроны ( /etc/cron.d/apt-mirror
), который вы должны изменить , чтобы включить (раскомментировать строку , содержащую /usr/bin/apt-mirror
). Вы должны также добавить задание cron для запуска clean.sh
(я запускаю его еженедельно).
Конечно, вы должны заменить http://us.archive.ubuntu.com./ubuntu
любое зеркало, которое вы предпочитаете.