Существует ли простой способ настроить склонный - добираются для оптимизации загрузок с помощью способного зеркала LAN когда доступный?

У меня есть ноутбук и локальная копия нескольких репозиториев во внешнем жестком диске, подключенном к моему маршрутизатору. Мой маршрутизатор обеспечивает доступ к тем файлам (с учетными данными) как доли самбы и/или FTP-сервер.

Я хотел бы настроить склонный - добираются для проверки тех репозиториев, когда они доступны и загружают обновления от них для ускорения процесса, если это возможно.

Быть более ясным: Я хочу склонный - добираются для проверки и обычных репозиториев в Интернет и моего локального, когда мой ноутбук подключен к моему Wi-Fi. Если файлы во внешних репозиториях являются более новыми, чем те в моем локальном зеркале или если зеркало не доступно, склонно - добираются, должен загрузить файлы с Интернета.

3
задан 6 October 2015 в 17:25

2 ответа

Мне наконец удалось решить это, и это работает вполне прилично, таким образом, я хочу совместно использовать его с людьми, которые хотят реализовать что-то подобное.

Моя первая проблема состояла в том, что моя система поддерживает мультидугу, таким образом, зеркальные репозитории должны содержать и i386 и amd64 пакеты (я не сделал зеркально отраженных источников) постараться не загружать ошибки. Это сделано в/etc/apt/mirror.list как этот пример шоу:

deb-i386  http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb-amd64 http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse

Мой base_path, определенный в том файле,/mnt/apt-mirrors, и я запускаю скрипт, который монтирует внешний жесткий диск, подключенный к USB-порту моего маршрутизатора как доля Samba (Вы видите сценарий здесь: как использовать способное зеркало, чтобы сохранить файлы в жестком диске, подключенном к маршрутизатору LAN

Я хотел получить доступ к зеркальным репозиториям от других компьютеров в LAN, таким образом, другая часть решения добавляет определения репозиториев FTP вначале в/etc/apt/sources.list. Эта установка делает склонным - добираются, чтобы использовать репозитории FTP сначала при загрузке файлов и затем использовать тех определенных в/etc/apt/sources.list.d, если зеркальные актуальны.

Локальные репозитории определяются как это:

deb [arch=amd64,i386] ftp://user:password@lan-resource/apt-mirrors/mirror/archive.ubuntu.com/ubuntu trusty main restricted universe multiverse

где Вы заменяете пользователя именем пользователя, которому предоставили доступ FTP-серверу: пароль с его паролем при необходимости для соединения (иначе удаляют), и ресурс LAN с адресом FTP-сервера в LAN (я решил отредактировать/etc/hosts, чтобы не повторять трудно кодированный IP-адрес, где я определил 192.168.0.1 как lanftpserver для использования в этом поле).

0
ответ дан 1 December 2019 в 17:35

Существует 4 шага к установке Вашего собственного репозитория

  1. Установка dpkg-dev
  2. Поместите пакеты в каталог
  3. Создайте сценарий, который просканирует пакеты и создаст файл apt-get update может читать
  4. Добавьте строку к Вашему sources.list указание на репозиторий

Установка dpkg-dev

Откройте терминал:

sudo apt-get install dpkg-dev

Каталог

Создайте каталог для хранения пакетов. Для этого примера мы будем использовать /usr/local/lan-repo.

sudo mkdir -p /usr/local/lan-repo

Теперь переместите все свои пакеты в тот новый каталог.

Пакеты, которые были загружены уже, обычно хранятся в Вашей системе в /var/cache/apt/archives. Если Вы установили apt-cacher Вам, скорее всего, сохранят дополнительные пакеты в apt-cacher/packages каталог.

Создайте названный сценарий update-lan-repo

Это - очень простые три сценария строки:

#! /bin/bash
cd /usr/local/lan-repo
sudo dpkg-scanpackages . /dev/null | gzip -9c > packages.gz

Копия и вышеупомянутое вставки в Ваш любимый текстовый редактор, и сохраняют его как update-lan-repo в ~/bin. (~ означает корневой каталог. Если ~/bin не существует уже затем создают его. Ubuntu автоматически поместит тот каталог в Ваш ПУТЬ. Это делает это хорошим местом для помещения персональных сценариев.)

Теперь давайте сделаем исполняемый файл сценария:

chmod u+x ~/bin/update-lan-repo

Вот то, как сценарий работает:

dpkg-scanpackages взгляды на все пакеты в lan-repo, и вывод сжат и записан в файл packages.gz, который apt-get update может читать (см. ниже для ссылки, которая объясняет это в полных деталях). /dev/null пустой файл - который является - это - замена для файла переопределения, который содержит некоторую дополнительную информацию о пакетах, которая в нашем случае не действительно необходима. Посмотрите deb-override(5) если Вы хотите узнать больше об этом.

Мы должны добавить Ваш локальный repo к Вашему sources.list файлу

echo "deb file:/usr/local/lan-repo ./" >> /etc/apt/sources.list

и вот именно Вы сделаны.

Опция CD/DVD

Можно сохранить каталог, содержащий .deb файл к CD/DVD и использованию что как репозиторий также (хороший для совместного использования между компьютерами). Использовать CD в качестве репозитория:

просто выполните команду:

sudo apt-cdrom add

использование нового репозитория.

Затем каждый раз, когда Вы храните новый debian пакет в каталоге lan-repo, работаете:

sudo update-lan-repo
sudo apt-get update

Теперь Вашими локальными пакетами можно управлять с Синаптическим, способностью и способными командами: apt-get, apt-cache, и т.д., Когда Вы пытаетесь в Кв. - получают установку, любые зависимости будут разрешены для Вас, пока они могут быть встречены.

1
ответ дан 1 December 2019 в 17:35

Другие вопросы по тегам:

Похожие вопросы: