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

Материал из ALT Linux Wiki
(не показано 18 промежуточных версий 9 участников)
Строка 1: Строка 1:
[[Категория:Admin]]
[[en:Mirror]]
= Существующие зеркала =
{{main|Download}}
 
= Создание =
== rsync ==
== rsync ==


Наименее затратным по времени и трафику является использование для зеркалирования <tt>rsync</tt>. Хотя возможно и ручное зеркалирование, удобнее воспользоваться инструментом, который называется [[sisyphus-mirror]].
Наименее затратным по времени и трафику является использование для зеркалирования <tt>rsync</tt>. Хотя возможно и ручное зеркалирование, удобнее воспользоваться инструментом, который называется [[sisyphus-mirror]]; существует также веб-интерфейс в виде [[Alterator-mirror|{{pkg|alterator-mirror}}]].
 
Для исключения части пакетов из зеркалирования (например, игрушек, которые часто весьма объёмны) можно воспользоваться [http://sisyphus.ru/rsync/ сервисом], позволяющим отфильтровать пакеты по RPM-группе. Полученный список можно добавить в аргумент --exclude-from к rsync или в exclude-файл <tt>sisyphus-mirror</tt>.
 
Перед собственно зеркалированием можно запустить rsync с ключом -n для оценки трафика.
 
По времени стоит ориентироваться на раннее утро по Москве (например, интервал с 5 до 8 часов).
 
Не забудьте предложить добавить новое публичное зеркало в [[download|список]] через соответствующую страничку обсуждения.
 
=== <tt>sisyphus-mirror</tt> ===
 
Смотри [[sisyphus-mirror]]
 
=== Ручное зеркалирование ===
 
Пример:
<source lang="bash">
rsync -va --stats --delete-after rsync.altlinux.org::ALTLinux/Sisyphus/ /srv/public/mirror/Sisyphus/
</source>
 
Также можно [http://sisyphus.ru/ru/rsync.shtml сформировать] exclude-file, позволяющий не зеркалировать ненужные пакеты.
<source lang="bash">
rsync -va --stats --delete-after --exclude-from=/path/to/exclude-file \
  rsync.altlinux.org::ALTLinux/Sisyphus/ /srv/public/mirror/Sisyphus/
</source>
 
{{Attention|При использовании exclude-file подразумевается, что замкнутость и работоспособность загруженного репозитория не гарантируется и возлагается на конечного пользователя. Рекомендуется использовать для исключения каталогов исходного кода и архитектур: SRPM, i586, ppc64le, armh, aarch64 и пакетов *debuginfo*}}


Для исключения части пакетов из зеркалирования (например, игрушек, которые часто весьма объёмны) можно воспользоваться [http://sisyphus.ru/rsync/ сервисом], позволяющим отфильтровать пакеты по RPM-группе.
Для зеркалирования [[branches|стабильной ветки]] замените <tt>Sisyphus</tt> на, например, <tt>p8/branch/</tt>


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


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


Пример:
Пример:
<source lang="bash">
<source lang="bash">
mkdir -p /srv/public/mirror
cd /srv/public/mirror
wget \
wget \
   --mirror \
   --mirror \
Строка 19: Строка 52:
   http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/
   http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/
</source>
</source>
= Использование =
{{path|/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";
{{path|/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
{{path|/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
{{Category navigation|title=APT|category=APT|sortkey={{SUBPAGENAME}}}}

Версия от 10:00, 5 апреля 2022

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

Основная статья: 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 на, например, p8/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