0. Описание
1 |
Создание локального репозитория с помощью утилиты apt-mirror |
1. Устанавливаем
1 |
apt-get install apt-mirror |
2. Настройка apt-mirror
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
Правим конфигурационный файл /etc/apt/mirror.list: nano /etc/apt/mirror.list ############# config ################## # Базовый каталог, в нём будет создано локальное зеркало репозитория Debian set base_path /var/spool/apt-mirror # Пути к файлам зеркала, временным файлам и журнал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 <running host architecture> # Пусть к скрипту постобработки, по-умолчанию отсутствует, пока нам не нужен. # set postmirror_script $var_path/postmirror.sh # Не запускать скрипт постобработки set run_postmirror 0 # Служебные параметры, не set nthreads 20 set _tilde 0 ############# end config ############## deb http://httpredir.debian.org/debian stable main deb-src http://httpredir.debian.org/debian stable main deb http://httpredir.debian.org/debian stable-updates main deb-src http://httpredir.debian.org/debian stable-updates main deb http://security.debian.org/ stable/updates main deb-src http://security.debian.org/ stable/updates main # jessie-updates, previously known as 'volatile' deb http://mirror.yandex.ru/debian/ stable-updates main deb-src http://mirror.yandex.ru/debian/ stable-updates main #clean clean http://httpredir.debian.org/debian clean http://security.debian.org clean http://mirror.yandex.ru/debian |
4. теперь запускаем #apt-mirror
1 |
#apt-mirror - репозиторий будет создан и закачается куча файлов |
5. Настроим автоматическую синхронизацию
1 2 3 4 5 6 7 |
Для автоматической синхронизации и очистки зеркал нужно добавить строку в настройки cron и выставить подходящее время. Обновление официальных зеркал происходит каждые 6 часов: 3:00,9:00,15:00,21:00. Например так: crontab -e 00 03 * * * apt-mirror >> /var/log/apt-mirror.log 00 03 * * * /var/spool/apt-mirror/var/clean.sh >> /var/log/apt-mirror.log |
6. Настроим apache
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
apt-get install apache2 - установим nano /etc/apache2/sites-available/000-default - отредактируем конфиг ---------------------------------------- <VirtualHost *:80> DocumentRoot /var/spool/apt-mirror/mirror <Directory "/var/spool/apt-mirror/mirror"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> --------------------------------------- |
7.Настройка доступа к зеркалу
1 2 |
/mnt/repo/debian/mirror/имя_репозитория - здесь хранятся зеркала репозиторий и сюда мы настроили апач chown www-data.www-data /var/spool/apt-mirror/mirror -R |
8. подпись репозитория
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
_______________________________________________________________________________________ Часть с подписью не обязательна. Уже все должно работать! переходим к9 пункту. Осталось только подписать репозиторий. Если у Вас еще нет gpg ключа, то дайте команду gpg --gen-key и следуйте инструкциям. Если у Вас уже есть gpg ключ, то следующая команда подпишет ваш репозиторий: gpg --gen-key - создать ключ gpg -abs -o $dir/Release.gpg $dir/Release -подписать репозиторий cd /mnt/repo/debian/mirror/ find -name Release.gpg ./ftp.ru.debian.org/debian/dists/squeeze/Release.gpg ./download.webmin.com/download/repository/dists/sarge/Release.gpg ./backports.debian.org/debian-backports/dists/squeeze-backports/Release.gpg ./security.debian.org/dists/squeeze/updates/Release.gpg ./ftp.debian.org/debian/dists/squeeze-updates/Release.gpg gpg -abs -o Release.gpg Release тут ключ /root/.gnupg/pubring.gpg ________________________________________________________________________________________ |
9. установить клиент машину
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
wget http://sever_name_IP/pubring.gpg apt-key add pubring.gpg nano /etc/apt/sources.list -------------------------- deb http://sever_name_IP/httpredir.debian.org/debian stable main deb-src http://sever_name_IP/httpredir.debian.org/debian stable main deb http://sever_name_IP/httpredir.debian.org/debian stable-updates main deb-src http://sever_name_IP/httpredir.debian.org/debian stable-updates main deb http://sever_name_IP/security.debian.org/ stable/updates main deb-src http://sever_name_IP/security.debian.org/ stable/updates main # jessie-updates, previously known as 'volatile' deb http://sever_name_IP/mirror.yandex.ru/debian/ stable-updates main deb-src http://sever_name_IP/mirror.yandex.ru/debian/ stable-updates main -------------------------- |
10. Ошибка
1 2 3 4 5 6 7 8 9 10 11 12 |
решение ошибки W: GPG error: http://download.tuxfamily.org ./ Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 73E6B0FAA42A6CF5 gpg --keyserver wwwkeys.us.pgp.net --recv-keys ключ gpg --armor --export ключ | apt-key add - apt-get update сервера ключей wwwkeys.at.pgp.net wwwkeys.ch.pgp.net wwwkeys.cz.pgp.net wwwkeys.de.pgp.net wwwkeys.es.pgp.net wwwkeys.eu.pgp.net wwwkeys.nl.pgp.net wwwkeys.pgp.net wwwkeys.uk.pgp.net wwwkeys.us.pgp.net pgpkeys.pca.dfn.de keyring.debian.org keys.iif.hu keys.pgpi.net keys.se.linux.org keyserver.aarg.net keyserver.bu.edu keyserver.kjsl.com keyserver.linux.it keyserver.noreply.org keyserver.topnet.de |