APT в ALT Linux/CreateRepositoryMirror

Материал из ALT Linux Wiki

Существующие зеркала

Основная статья: Download


Создание

rsync

Наименее затратным по времени и трафику является использование для зеркалирования rsync. Хотя возможно и ручное зеркалирование, удобнее воспользоваться инструментом, который называется sisyphus-mirror; существует также веб-интерфейс в виде alterator-mirror.

Для исключения части пакетов из зеркалирования (например, игрушек, которые часто весьма объёмны) можно воспользоваться сервисом, позволяющим отфильтровать пакеты по RPM-группе. Полученный список можно добавить в аргумент --exclude-from к rsync или в exclude-файл sisyphus-mirror.

Перед собственно зеркалированием можно запустить rsync с ключом -n для оценки трафика.

По времени стоит ориентироваться на раннее утро по Москве (например, интервал с 5 до 8 часов).

Не забудьте предложить добавить новое публичное зеркало в список через соответствующую страничку обсуждения.

sisyphus-mirror

Смотри sisyphus-mirror

Ручное зеркалирование

Пример:

rsync -va --stats --delete-after rsync.altlinux.org::ALTLinux/Sisyphus/ /srv/public/mirror/Sisyphus/

Также можно сформировать exclude-file, позволяющий не зеркалировать ненужные пакеты.

rsync -va --stats --delete-after --exclude-from=/path/to/exclude-file \
  rsync.altlinux.org::ALTLinux/Sisyphus/ /srv/public/mirror/Sisyphus/
Внимание! При использовании exclude-file подразумевается, что замкнутость и работоспособность загруженного репозитория не гарантируется и возлагается на конечного пользователя. Рекомендуется использовать для исключения каталогов исходного кода и архитектур: SRPM, i586, ppc64le, armh, aarch64 и пакетов *debuginfo*


Для зеркалирования стабильной ветки замените Sisyphus на, например, p10/branch/

HTTP/FTP

NB: Использование HTTP и FTP для зеркал APT-репозиториев ALT Linux и Sisyphus неэкономично по трафику по сравнению с rsync из-за специфичной структуры репозиториев.

Пример:

mkdir -p /srv/public/mirror
cd /srv/public/mirror
wget \
  --mirror \
  --convert-links \
  --backup-converted \
  --html-extension \  
  http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/

Использование

/etc/apt/apt.conf.local:

Dir::Etc::main "/dev/null";
Dir::Etc::parts "/var/empty";
Dir::Etc::SourceParts "/var/empty";
Dir::Etc::sourcelist "/etc/apt/sources.list.local";

/etc/apt/sources.list.local для i586:

rpm file:/srv/public/mirror/Sisyphus i586 classic
rpm file:/srv/public/mirror/Sisyphus noarch classic
#rpm-dir file:/home/me/hasher/repo i586 hasher

/etc/apt/sources.list.local для x86_64:

rpm file:/srv/public/mirror/Sisyphus x86_64 classic
rpm file:/srv/public/mirror/Sisyphus noarch classic
#rpm-dir file:/home/me/hasher/repo x86_64 hasher