Як створити локальне сховище, використовуючи apt-зеркало та mirrorkit?


9

Наявність локального сховища може бути дуже корисним. Можна rsyncстворити дзеркало репозиторію, але це призводить до завантаження всіх випусків, навіть старих і включатиме файли архітектури, які можуть не знадобитися.

apt-mirrorдозволяє вибірково вибирати частини сховища. mirrorkitзабезпечує переднє дзеркало для влучного дзеркала.

Який найкращий спосіб створити дзеркало локального сховища для вибраних частин архівів Ubuntu?

Наприклад, можна включити:

  • Основні, обмежені, всесвітні, мультисеверні, всі Ubuntu та Lubuntu, але виключають інші похідні, такі як Kubuntu та Xubuntu.

  • Тільки AMD64 і i386, але виключають інші архітектури.

  • Тільки надійний Тар, але не Точний Пінгвін чи Утопічний Єдиноріг.

Можна налаштувати процес так, щоб він завантажувався з локального дзеркала, а не з головних архівів.

Як я можу створити локальний репозиторій за допомогою apt-mirrorта mirrorkitдля вибраної архітектури, випуску чи варіанту Ubuntu?


Виключити Kubuntu? Ви маєте на увазі виключити ISO Kubuntu або виключити будь-який пакет, який використовується Kubuntu?
муру

Виключіть, наприклад, ISO Kubuntu та Xubuntu. Можливо, їх надзвичайно багато (Precision Kubuntu ARM, Precision Kubuntu i386, Quantal Kubuntu ARM, Quantal Kubuntu i386 ...), і початкове завантаження дзеркала могло б закінчитися швидше без цих ISO. Але якщо це всього лише кілька гігабайт, можливо, це не має великого значення.
користувач75798

1
ISO розміщуються окремо від пакетів. Таким чином, ви можете використовувати apt-дзеркало, як зазвичай, як дзеркальне відображення пакетів пакетів, а також використовувати інший інструмент для ISO. Після цього виникає питання про відповідні виключення фільтрів для цього інструменту (скажімо, rsync).
муру

"Ви можете використовувати влучне дзеркало, як зазвичай" Пробачте, я не знаю, як це зробити. Це саме те, що я хотів би пояснити.
user75798

Відповіді:


9

Сховище CD і репозиторій програмного забезпечення є двома окремими компонентами ( у них навіть є окремі сторінки Launchpad: cdmirrors і archivemirrors ). Тому дзеркальне відображення їх є двома різними завданнями. Крім того, хоча різні аромати мають різні папки у сховищі компакт-дисків, вони мають спільне сховище програмного забезпечення. Таким чином, ви можете вибірково відображати зображення за смаком, але не програмне забезпечення. Для сховища програмного забезпечення ви можете вибірково відображати дзеркала на основі:

  • реліз ( 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:

deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe

За замовчуванням відображається лише архітектура хоста, тому якщо ви працюєте на 64-бітному Ubuntu, відображатиметься лише amd64дзеркальне відображення. Вам потрібно додати ще один рядок форми:

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

А для вихідних пакетів:

deb-src http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe

Якщо ви шукаєте досить повно дзеркало, цих ліній буде мінімальним (я також рекомендую -updatesканал):

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

Нарешті, вам потрібно додати cleanрядок, щоб пакети, які більше не доступні у сховищі, фільтрували для видалення:

clean http://us.archive.ubuntu.com/ubuntu

Скажіть, ваші змінні є таким чином (за замовчуванням):

set base_path    /var/spool/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

Тоді:

  • У сховищі буде відображено $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пакеті встановлено завдання cron ( /etc/cron.d/apt-mirror), яке слід відредагувати, щоб увімкнути (коментуючи рядок, що містить /usr/bin/apt-mirror). Ви також повинні додати cron для запуску clean.sh(я запускаю його щотижня).

Звичайно, вам слід замінити http://us.archive.ubuntu.com./ubuntuяке б ви не хотіли дзеркало.


1
Це насправді deb-amd64чи deb arch=amd64? Останню я можу знайти лише в manpage
Anwar

1
@Anwar колишній. Останній призначений для sources.list, який має подібний, але не тотожний формат. Дивіться manpages.ubuntu.com/manpages/trusty/en/man1/apt-mirror.1.html , де deb-powerpcє приклад.
муру

Ой! Я не мав досвіду роботи з влучним дзеркалом. Думав, що це за sources.list. Спасибі
Anwar

2

Я рекомендую підходящий кеш-пам'ять для тих, хто має обмежений простір, або тих, хто має надзвичайно високі ціни на Інтернет у своїх країнах.

Для дзеркального дзеркала, нібито, потрібно не менше 15 Гб для кожного аромату (32/64 біт) потрібного дистрибутива. apt-cacher використовує лише встановлені вами пакети.

Читайте Створення локального сховища Ubuntu за допомогою Apt-Mirror та Apt-Cacher, щоб отримати детальнішу інформацію / інструкції, будь ласка.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.