apt-mirror -- локальный репозиторий или как создать зеркало

Автор: Vinamin
Публикация: 00:00 30-11--0001 Обнавлена: 2020-07-29 Просмотров: 656

Этот способ зеркалирования, рекомендован WiKi Debian как гораздо более надёжr.ней нежели debmirro

Итак начнём, установим apt-mirror:

apt-get install apt-mirror

Создаём каталог /mnt/repo/debian, в нём будет создаваться локальный репозиторий пакетов. Желательно чтобы это был примонтированный логический раздел жёсткого диска, чтобы в случае переустановки дистрибутива с нуля, при форматировании корневого раздела (/), не лишиться репозитория и служебных каталогов:

mkdir -p /mnt/repo/debian/{mirror,var,skel}


Настройка apt-mirror
Допустим нам нужно зеркало с готовыми к установке (бинарными) пакетами для x64 Wheezy.
(как узнать какое самое быстрое зеркало) Правим конфигурационный файл /etc/apt/mirror.list:

nano /etc/apt/mirror.list

############# config ##################

# Базовый каталог, в нём будет создано локальное зеркало репозитория Debian

set base_path           /mnt/repo/debian

#

# Пути к файлам зеркала, временным файлам и журналy выполнения apt-mirror

# set mirror_path  $base_path/mirror

# set skel_path    $base_path/skel

# set var_path     $base_path/var

# set cleanscript $var_path/clean.sh

#

# Архитектура, для которой создаётся зеркало. По умолчанию - это архитектура

# системы, на которой работает apt-mirror (amd64,i386 или др.). Менять не ненужно,

# т.к. ниже мы явно укажем и зеркало и архитектуру.

# set defaultarch 

#

# Пусть к скрипту постобработки, по-умолчанию отсутствует, пока нам не нужен.

# set postmirror_script $var_path/postmirror.sh

#

# Не запускать скрипт постобработки

set run_postmirror 0

set nthreads     20

set _tilde 0

#

############# end config ##############

# Зеркало с пакетами wheezy x64 + исходные тексты

deb-amd64 ftp://debian.nsu.ru/debian wheezy main contrib non-free

deb-src ftp://debian.nsu.ru//debian wheezy main contrib non-free

# Зеркало с обновлениями безопасности wheezy + исходные тексты

deb-amd64 http://security.debian.org/ wheezy/updates main contrib non-free

deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# Зеркало необходимое для сетевой установки (udebs)

deb-amd64 ftp://debian.nsu.ru/debian wheezy main/debian-installer

# Удаляем файлы не индексированные в Release

clean ftp://debian.nsu.ru/debian

clean http://security.debian.org

# Запрещаем очистку выбранной папки

skip-clean ftp://debian.nsu.ru/debian/dists/wheezy/main/installer-amd64/

Если необходимо хранить несколько зеркал для разных выпусков и архитектур, то добавляем новые строки типа:

#deb-alpha http://ftp.us.debian.org/debian unstable main contrib non-free

#deb-amd64 http://ftp.us.debian.org/debian unstable main contrib non-free

#deb-armel http://ftp.us.debian.org/debian unstable main contrib non-free

#deb-hppa http://ftp.us.debian.org/debian unstable main contrib non-free

#deb-i386 http://ftp.us.debian.org/debian unstable main contrib non-free

#deb-ia64 http://ftp.us.debian.org/debian unstable main contrib non-free

#deb-m68k http://ftp.us.debian.org/debian unstable main contrib non-free

#deb-mips http://ftp.us.debian.org/debian unstable main contrib non-free

#deb-mipsel http://ftp.us.debian.org/debian unstable main contrib non-free

#deb-powerpc http://ftp.us.debian.org/debian unstable main contrib non-free

#deb-s390 http://ftp.us.debian.org/debian unstable main contrib non-free

#deb-sparc http://ftp.us.debian.org/debian unstable main contrib non-free

Запуск и автоматизация apt-mirror
Для ручного запуска созданияобновления зеркала выполняем команду:

# apt-mirror

После загрузки индексных файлов apt-mirror сообщит, какой объём пакетов нужно получить:

Downloading 47 index files using 20 threads...

Begin time: Wed Jan  8 21:41:11 2014

[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...

End time: Wed Jan  8 21:41:33 2014

Proceed indexes: [SSPPP]

84.2 GiB will be downloaded into archive.

Downloading 90890 archive files using 20 threads...

Begin time: Wed Jan  8 21:41:50 2014

[20]...

...

...

...

Остаётся только дождаться завершения скачивания.
Для автоматической синхронизации и очистки зеркал нужно добавить строку в настройки cron и выставить подходящее время. Обновление официальных зеркал происходит каждые 6 часов: 3:00,9:00,15:00,21:00. Например так:

crontab -l

05 01 * * *     apt-mirror >> /var/log/apt-mirror.log

05 03 * * *     /mnt/repo/debian/var/clean.sh >> /var/log/apt-mirror.log

Настройка доступа к зеркалу
После завершения работы локальные копии всех указанных репозиториев окажутся в каталогах /mnt/repo/debianmirror/имя_репозитория . Таким образом копия репозитория, которая была определена в mirror.list как
deb-amd64 ftp://debian.nsu.ru/debian wheezy main contrib non-free
окажется в каталоге /mnt/repo/debian/mirror/debian.nsu.ru/debian/. Доступ именно к этому каталогу нужно открывать любым удобным для Вас Web или FTP сервером. Для корректной работы обязательно необходимо добавить символические ссылки «stable»,»testing», «unstable» если таковы имеются …

ln -s /mnt/repo/debian/mirror/debian.nsu.ru/debian/dists/wheezy /mnt/repo/debian/mirror/debian.nsu.ru/debian/dists/stable

Далее очень желательно подписать вновь созданный репозиторий.


Комментарии могут оставлять только зарегистрированные пользователи.