Наличие локального хранилища может быть очень полезным. Можно использовать rsync
для создания зеркала репозитория, но это приводит к загрузке всех выпусков, даже более старых, и включает файлы для архитектур, которые могут не понадобиться.
apt-mirror
позволяет выборочно выбирать части хранилища. mirrorkit
предоставляет интерфейс для apt-mirror.
Каков наилучший способ создания зеркала локального хранилища для отдельных частей архивов Ubuntu?
Например, можно пожелать включить:
Основной, Ограниченный, Вселенная, Мультивселенная, Все Ubuntu и Lubuntu, но исключая другие производные, такие как Kubuntu и Xubuntu.
Только AMD64 и i386, но исключают другие архитектуры.
Только верная Тар, но не точный пингвин или утопический единорог.
Можно пожелать настроить процесс так, чтобы он загружался с локального зеркала, а не из основных архивов.
Как я могу создать локальный репозиторий, используя apt-mirror
и mirrorkit
для выбранной архитектуры, выпуска или варианта Ubuntu?
источник
Ответы:
Репозиторий компакт-дисков и программный репозиторий представляют собой два отдельных компонента (у них даже есть отдельные страницы Launchpad: cdmirrors и archivemirrors ). Поэтому их отражение - это две разные задачи. Кроме того, хотя различные версии имеют разные папки в репозитории CD, они совместно используют программный репозиторий. Таким образом, вы можете выборочно отражать изображения по вкусу, но не по программному обеспечению. Для хранилища программного обеспечения вы можете выборочно зеркалировать на основе:
trusty
,precise
и т.д.)amd64
,i386
и т.д.)deb
] против исходного [deb-src
])trusty
,trusty-updates
,trusty-backports
и т.д.)main
,multiverse
и т.д.)Для зеркалирования хранилища программного обеспечения используйте
apt-mirror
.apt-mirror
настроен с помощью/etc/apt/mirror.list
. Он имеет формат, очень похожий наsources.list
. В файле конфигурации, установленном пакетом, есть несколько закомментированных параметров, в которых перечислены их значения по умолчанию. При желании вы можете раскомментировать и изменить их.Чтобы отразить репозиторий, вам нужно добавить строку,
mirror.list
как дляsources.list
:По умолчанию зеркалируется только архитектура хоста, поэтому, если вы используете 64-битную версию Ubuntu,
amd64
будет отображаться только зеркальная копия. Вам нужно добавить еще одну строку формы:И для пакетов с исходным кодом:
Если вы ищете достаточно полное зеркало, эти строки будут минимальными (я бы также рекомендовал
-updates
канал):Наконец, вам нужно добавить
clean
строку, чтобы пакеты, которые больше не доступны в хранилище, были отфильтрованы для удаления:Скажите, что ваши переменные (значения по умолчанию):
Затем:
$mirror_path/parent-hostname/directory
(так/var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu
)clean.sh
(Который будет представлять собой наборrm
команд для удаления устаревших пакетов и каталогов) будет/var/spool/apt-mirror/var/clean.sh
./var/spool/apt-mirror/var
.apt-mirror
Пакет устанавливает хроны (/etc/cron.d/apt-mirror
), который вы должны изменить , чтобы включить (раскомментировать строку , содержащую/usr/bin/apt-mirror
). Вы должны также добавить задание cron для запускаclean.sh
(я запускаю его еженедельно).Конечно, вы должны заменить
http://us.archive.ubuntu.com./ubuntu
любое зеркало, которое вы предпочитаете.источник
deb-amd64
илиdeb arch=amd64
? Я могу найти только последний в manpagesources.list
, который имеет похожий, но не идентичный формат. См. Manpages.ubuntu.com/manpages/trusty/en/man1/apt-mirror.1.html , гдеdeb-powerpc
находится в примере.sources.list
. СпасибоЯ рекомендую apt-cacher для людей с ограниченным пространством или для тех, у кого непомерные цены на интернет в их странах.
Предполагается, что apt-mirror требуется как минимум 15 ГБ для каждого варианта (32/64 бита) нужного вам дистрибутива. apt-cacher использует только те пакеты, которые вы установили.
Прочтите Создание локального репозитория Ubuntu с помощью Apt-Mirror и Apt-Cacher для получения более подробной информации / инструкций, пожалуйста.
источник