APT в ALT Linux/CreateRepositoryMirror: различия между версиями
Ilis (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показано 19 промежуточных версий 10 участников) | |||
Строка 1: | Строка 1: | ||
= Существующие зеркала = | |||
{{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*}} | |||
Для зеркалирования [[branches|стабильной ветки]] замените <tt>Sisyphus</tt> на, например, <tt>p10/branch/</tt> | |||
== HTTP/FTP == | == HTTP/FTP == | ||
NB: Использование HTTP и FTP для зеркал APT-репозиториев ALT Linux | 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: | ||
</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}}}} | {{Category navigation|title=APT|category=APT|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 00:22, 3 июля 2024
Существующие зеркала
Создание
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/
Для зеркалирования стабильной ветки замените 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