APT в ALT Linux/CreateRepositoryMirror: различия между версиями

Материал из ALT Linux Wiki
(Отмена правки 56364, сделанной FrBrGeorge (обсуждение))
Метка: отмена
Нет описания правки
 
(не показано 6 промежуточных версий 4 участников)
Строка 1: Строка 1:
[[en:Mirror]]
= Существующие зеркала =
= Существующие зеркала =
{{main|Download}}
{{main|Download}}
Строка 11: Строка 10:


Перед собственно зеркалированием можно запустить rsync с ключом -n для оценки трафика.
Перед собственно зеркалированием можно запустить rsync с ключом -n для оценки трафика.
По времени стоит ориентироваться на раннее утро по Москве (например, интервал с 5 до 8 часов).
Не забудьте предложить добавить новое публичное зеркало в [[download|список]] через соответствующую страничку обсуждения.


=== <tt>sisyphus-mirror</tt> ===
=== <tt>sisyphus-mirror</tt> ===
Строка 29: Строка 32:
</source>
</source>


Для зеркалирования [[branches|стабильной ветки]] замените <tt>Sisyphus</tt> на, например, <tt>p8/branch/</tt>
{{Attention|При использовании exclude-file подразумевается, что замкнутость и работоспособность загруженного репозитория не гарантируется и возлагается на конечного пользователя. Рекомендуется использовать для исключения каталогов исходного кода и архитектур: SRPM, i586, ppc64le, armh, aarch64 и пакетов *debuginfo*}}
 
Для зеркалирования [[branches|стабильной ветки]] замените <tt>Sisyphus</tt> на, например, <tt>p10/branch/</tt>


== HTTP/FTP ==
== HTTP/FTP ==

Текущая версия от 00:22, 3 июля 2024

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

Основная статья: 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