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

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


== Создание зеркала APT-репозитория ==
= Создание =
== rsync ==


=== rsync ===
Наименее затратным по времени и трафику является использование для зеркалирования <tt>rsync</tt>. Хотя возможно и ручное зеркалирование, удобнее воспользоваться инструментом, который называется [[sisyphus-mirror]]; существует также веб-интерфейс в виде [[Alterator-mirror|{{pkg|alterator-mirror}}]].


Наименее затратным по времени и трафику является использование для зеркалирования <tt>rsync</tt>. Инструмент для зеркалирования выборанных APT-репозиториев называется [[sisyphus-mirror]].
Для исключения части пакетов из зеркалирования (например, игрушек, которые часто весьма объёмны) можно воспользоваться [http://sisyphus.ru/rsync/ сервисом], позволяющим отфильтровать пакеты по RPM-группе. Полученный список можно добавить в аргумент --exclude-from к rsync или в exclude-файл <tt>sisyphus-mirror</tt>.


Для исключения части пакетов из зеркалирования (например, игрушек, которые часто весьма объёмны) можно воспользоваться [http://sisyphus.ru/rsync/ инструментом], позволяющим отфильтровать пакеты по RPM-группе.
Перед собственно зеркалированием можно запустить rsync с ключом -n для оценки трафика.


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


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


<pre>wget \
=== <tt>sisyphus-mirror</tt> ===
    --mirror \
 
    --convert-links \
Смотри [[sisyphus-mirror]]
    --backup-converted \
 
    --html-extension \   
=== Ручное зеркалирование ===
    http://ftp.altlinux.org/pub/distributions/ALTLinux/4.0/Desktop/</pre>
 
Пример:
<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*}}
 
Для зеркалирования [[branches|стабильной ветки]] замените <tt>Sisyphus</tt> на, например, <tt>p8/branch/</tt>
 
== HTTP/FTP ==
 
NB: Использование HTTP и FTP для зеркал APT-репозиториев ALT Linux и Sisyphus неэкономично по трафику по сравнению с rsync из-за специфичной структуры репозиториев.
 
Пример:
<source lang="bash">
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/
</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