Apt mirror для windows

Создание зеркала репозитория

Содержание

Используя OS GNU/Linux Ubuntu [ править ]

apt-mirror [ править ]

apt-mirror — это простая и удобная утилита для создания локальных копий репозиториев Ubuntu, использующая такой же синтаксис, как и в файле /etc/apt/sources.list, в котором указываются все репозитории для Ubuntu.

Локальные копии репозиториев нужны для установки программ на машины с Ubuntu, не подключённые к интернету. В этом случае можно создать копию нужных репозиториев на внешнем диске или на ноутбуке на компьютере, у которого есть доступ к интернету, а затем подключить эту копию в качестве репозитория к машинам, на которых интернета нет. Для этого вам потребуется компьютер с установленной Ubuntu и безлимитным доступом к интернету.

Локальная копия официального репозитория Ubuntu имеет следующий размер:

Итак, на компьютере, подключённом к интернету и с установленной Ubuntu, ставим пакет apt-mirror через любое средство установки пакетов, например, командой

Теперь необходимо определиться, в какой каталог складывать копию репозитория. Далее будем считать для примера, что копия репозитория будет складываться в папку /media/data/ubuntu-repo/, которая находится на отдельном винчестере, примонтированном в каталог /media/data. Конечно нужно убедиться, что в указанной папке достаточно места для размещения полной копии нужных вам репозиториев.

Всё, что осталось сделать, это отредактировать конфигурационный файл apt-mirror, добавив туда нужные опции и нужные репозитории, и запустить сам процесс зеркалирования. Этот файл называется /etc/apt/mirror.list. Ниже представлено комментированное его содержимое для случая создания копии официальных репозиториев Ubuntu 10.10 для архитектуры i386 в папке /media/data/ubuntu-repo/:

Теперь осталось запустить apt-mirror и дождаться окончания его выполнения. Перед запуском необходимо убедиться, что основной каталог /media/data/ubuntu-repo/, а так же все вспомогательные каталоги mirror, var и skel внутри него, существуют и доступны для записи пользователю apt-mirror.

Создать все эти каталоги можно командами:

Присвоить нужные права проще всего выставив владельцем этих каталогов пользователя apt-mirror:

После этого можно запустить apt-mirror командой:

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

Вам останется только дождаться завершения скачивания.

Автоматическое обновление локальной копии репозитория [ править ]

Можно настроить автоматическое обновление локальной копии репозиториев с помощью заданий cron. Для этого просто раскомментируйте нужную строчку с заданием в файле /etc/cron.d/apt-mirror.

Можете изменить время выполнения задания (по умолчанию — в 04:00 каждый день).

Дополнительные возможности apt-mirror [ править ]

При использовании схемы, описанной выше, apt-mirror скопирует из указанных репозиториев только пакеты. Однако кроме этого в репозиториях Ubuntu содержится ещё достаточно много полезных данных, например, сетевые установщики. Всё это при использовании инструкции clean для этих репозиториев будет удалено, поскольку не содержится в актуальных индексах. Чтобы принудительно не очищать некоторые директории можно указать в файле mirror.list инструкцию skip-clean с нужным адресом. Например:

Можно указывать архитектуру непосредственно в APT строке репозитория, например вот так:

Кроме того, можно подключаться к HTTP и FTP хостам, требующим авторизацию. Для этого необходимо в адресе указать имя, пароль и по необходимости — порт:

Читайте также:  Windows 10 исчез трей

debmirror [ править ]

Установим пакет для скачивания файлов и создания локального зеркала Ubuntu:

Скрипт [ править ]

Создадим скрипт mirror.sh для запуска этого пакета и скачивания дистрибутивов и наборов пакетов, для Ubuntu 11.10 Oneiric Ocelot:

Пояснения к опциям:
—nosource — игнорировать исходники, только bin
-m — проверить контрольные суммы md5
—passive — закачка в пассивном режиме (этого требуют некоторые прокси)
—host=archive.ubuntulinux.org — откуда качаем
—root=ubuntu — каталог на сервере, будем качать все, что в него вложено
—method=ftp — метод закачки, варианты: ftp|hftp|http|rsync
rsync подойдет для последующих обновлений репозитория, только тогда опцию root надо будет записать так: —root=:ubuntu
—dist=edgy,edgy-security,edgy-updates,edgy-backports — наборы пакетов по их назначению (как они лежат на сервере в каталоге ubuntu)
—ignore-release-gpg — не обращать внимания на gpg-ключи (если мы доверяем серверу)
—section=main,restricted,multiverse,universe — секции наборов пакетов
—arch=i386,amd64 — архитектура нашего компа (можно ограничиться чем-то одним)
ubuntu/ — каталог, куда мы все это сложим (мне почему-то пришлось прописать полный путь!)
ПРИМЕЧАНИЕ. для работы через прокси (подобного Squid) может понадобиться опция: —proxy=http://user:pass@url:port/

Делаем этот скрипт исполнимым:

По завершении закачки в указанной папке будет весь репозиторий.

Консольная команда [ править ]

/home/andrey/Ubuntu/debmirror —nosource -m —passive —host=linux.solo.by —root=ubuntu —method=http —progress —dist=oneiric,oneiric-security,oneiric-updates,oneiric-backports —ignore-release-gpg —section=main,restricted,multiverse,universe —arch=i386,amd64 /home/andrey/Ubuntu/debmirror/ubuntu/

Используя семейство OS Windows (начиная от XP) [ править ]

Apt mirror для windows

Полноценный локальный репозиторий Linux

21 сен 2020, 06:42

Доброго дня всем.
Решил разместить тут репост мануала по организации полноценного локального репозитория Linux у себя дома или на работе например в офисе и т.д.
Думаю полезная тема.
Как вариант можно к LMDE подключить репозитории Debian, как вам известно их аж 16 DVD дисков, а это не малый объем.
http://ftp.psn.ru/debian-cd/10.5.0/amd64/iso-dvd/

Сам еще не пробовал, но мне нравится такой вариант, как-нибудь в скором времени думаю попробовать.

ВАРИАНТ 1: Использование прокси для организации локального репозитория

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

на какой-либо клиентской машине в обычном порядке запрашивается какой-либо пакет для установки/обновления через компьютер-сервер;
запрошенный пакет скачивается сервером, сохраняется в специально отведённом хранилище-кеше и далее становится доступным всем остальным клиентам;
в качестве распространителя пакетов клиентам выступает веб-сервер Apache, поэтому его установка обязательна.
Итак, для начала необходимо установить всё необходимое, т. е. веб-сервер и саму утилиту кеширования пакетов:

sudo apt-get install apache2 apt-cacher

При установке apt-cacher будет показан диалог настройки, в котором можно настроить нужное поведение утилиты, например задать автозапуск и работу в режиме демона. Также эти и некоторые другие важные настройки можно сделать (например с помощью редактора nano) в конфигурационном файле /etc/default/apt-cacher. Для включения автозапуска apt-cacher нужно установить параметр AUTOSTART в значение «1»:

sudo nano /etc/default/apt-cacher
. . .
# Set to 1 to run apt-cacher as a standalone daemon, set to 0 if you are going
# to run apt-cacher from /etc/inetd or in CGI mode (deprecated). Alternatively,
# invoking «dpkg-reconfigure apt-cacher» should do the work for you.
#
AUTOSTART=1
. . .

Далее, необходимо определить, какие клиенты должны иметь доступ к кешу репозитория, отредактировав конфигурационный файл

Читайте также:  Windows 10 and microsoft office 2007

sudo nano /etc/apt-cacher/apt-cacher.conf
. . .
## Uncomment and set the IP range ##
allowed_hosts = 192.168.1.105 — 192.168.1.125
#denied_hosts =
. . .

Как можно видеть, просто указывается диапазон нужных IP-адресов. После сохранения сделанных настроек необходимо перезапустить веб-сервер Apache:

sudo service apache2 restart

sudo systemctl restart apache2

Теперь необходимо указать клиентам, куда им нужно обращаться для установки пакетов и обновлений. Для этого на клиентских машинах нужно создать файл

с помощью того же редактора nano:

sudo nano /etc/apt/apt.conf.d/01proxy

И добавить в него строку со следующей инструкцией:

Здесь в качестве адреса сервера, на котором установлен и работает apt-cacher указывается 192.168.1.100. Конечно, это может быть любой другой адрес, настроенный для этого сервера.
Теперь можно проверить работу локального репозитория (а точнее удалённого, но доступного через прокси), выполнив команду обновления данных о доступных пакетах:

sudo apt-get update

ВАРИАНТ 2: APT-MIRROR – полноценный локальный репозиторий

Данный способ является более «продвинутым» по сравнению с использованием apt-cache. Поскольку предполагает наличие полноценного хранилища пакетов прямо на локальном компьютере/сервере или в локальной сети. Но сначала такое хранилище необходимо создать, загрузив в него все необходимые пакеты. Как и в случае с apt-cache, в качестве распространителя пакетов выступает веб-сервер Apache. Порядок настройки локального репозитория при помощи утилиты apt-mirror следующий:

— установка необходимых пакетов: apt-mirror и apache2;
— создание локального хранилища и настройка источников для загрузки, загрузка пакетов в хранилище;
— открытие доступа к готовому хранилищу для клиентов;
— настройка клиентов для использования локального репозитория.

Итак, установка необходимых утилит и пакетов:

sudo apt-get install apache2 apt-mirror

Далее, нужно создать локальное хранилище пакетов, пусть это будет каталог /localrepo:

sudo mkdir /localrepo

Теперь в конфигурационном файле /etc/apt/mirror.list нужно отредактировать строку с инструкцией «set base_path». Указав в ней только что созданный каталог для хранилища:

sudo nano /etc/apt/mirror.list
############ config ##################
#
set base_path /localrepo

Далее, в этом же файле можно добавить необходимые репозитории, с которых будут загружены пакеты. Можно скопировать все стандартный репозитории из /etc/apt/sources.list.
Сохранив настройки можно запустить загрузку пакетов командой:

Это может занять длительное время, в зависимости от скорости соединения с Интернет.
Данную команду очень полезно добавить в список регулярных процедур cron, чтобы локальный репозиторий обновлялся автоматически.

После того, как локальный репозиторий будет полностью загружен, его содержимое должно быть примерно следующим:

ls /localmirror
mirror skel var

Для последующего удобства настройки клиентов полезно создать символическую ссылку на хранилище, которое содержится в каталоге mirror:

cd /localrepo
sudo ln -s /localrepo/mirror/us.archive.ubuntu.com/ubuntu/ ubuntu

Теперь ссылка ubuntu будет использоваться для задания репозиториев на стороне клиентов с помощью редатирования файла /etc/apt/sources.list:
Открыв этот файл (с использованием команды sudo) с помощью редактора nano, нужно теперь добавить в него следующие репозитории:

deb http://192.168.1.100/ubuntu trusty universe
deb http://192.168.1.100/ubuntu trusty main restricted
deb http://192.168.1.100/ubuntu trusty-updates main restricted

Здесь адрес 192.168.1.100 — это IP-адрес компьютера, на котором был создан и настроен локальный репозиторий.
Теперь, для работы с пакетами можно использовать обычные команды apt:

sudo apt-get update
sudo apt-get install имя_пакета

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

Читайте также:  Планшет windows 10 убрать пароль при входе

Apt-mirror, локальный репозиторий Ubuntu — это очень просто

Не удержался, чтоб не описать свой опыт создания локального репозитория после прочтения этой статьи.
Сразу замечу, что у меня была задача обновлять кучу Ubuntu серверов, достаточно быстро и прочно обосновавшихся в организации под нужды разработчиков, не пуская их при этом в Интернет. Для Windows есть WSUS, а что же для Ubuntu?

Итак, небольшая заметка, как при помощи apt-mirror сделать локальное зеркало репозиториев Ubuntu.

Прежде всего, понадобится компьютер (или виртуальная машина) с Ubuntu (я использовал 10.04) с выходом в интернет и достаточным количеством свободного места на локальном диске. В моем случае зеркалировались репозитории только для версии 10.04 x64. Общий объем занятого пространства:

60Gb.
Далее все просто:
sudo apt-get install apt-mirror apache2

Все.
После этого необходимо лишь немного исправить конфиг apt-mirror’a, который можно найти тут: /etc/apt/mirror.list
В конфигурационном файле можно изменить дефолтные значения base_path, который указывает на то, где, собственно, будут хранится скачанные репозитории. Кроме того, не лишним будет указать путь до близжайшего к вам оффициального зеркала Ubuntu. Список зеркал можно узнать тут.
Вот пример моего конфига:
############# config ##################
#
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
# set defaultarch # set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############

deb http:// /ubuntu/ lucid main restricted universe multiverse
deb http:// /ubuntu/ lucid-updates main restricted universe multiverse

deb-src http:// /ubuntu/ lucid main restricted universe multiverse
deb-src http:// /ubuntu/ lucid-updates main restricted universe multiverse
clean http:// /ubuntu/

Если не указать специально, apt-mirror будет качать только пакеты той архитектуры, на которой работает ваш сервер. В моем случае сервер 64-битный.
Если хочется добавить также пакеты под х86_32, то в конфиге надо продублировать пути до выбранного вами оффициального зеркала с командой deb-i386. Вот так:
deb-i386 http:// /ubuntu lucid main restricted universe multiverse

Сохраним конфиг и запустим команду:
sudo apt-mirror

Еще необходимо сделать symbolic link для нашего вэб-сервера, который и будет обеспечивать доступность пакетов для внутренних клиентов.
cd /var/www/
sudo ln -s /var/spool/apt-mirror/mirror/ /ubuntu/ ubuntu

Какое-то время займет на скачивание всех нужных пакетов под все указанные вами архитектуры и версии Ubuntu.
Осталась лишь одна вешь. Сообщить нашим безинтернетным серверам и десктопам Ubuntu, откуда же можно быстро обновиться. Для этого необходимо исправить в файле /etc/apt/sources.list пути до зеркала. В моем случае это выглядит так:

deb http:///ubuntu lucid main restricted
deb-src http:///ubuntu lucid main restricted

deb http:///ubuntu lucid-updates main restricted
deb-src http:///ubuntu lucid-updates main restricted

deb http:///ubuntu lucid universe
deb-src http:///ubuntu lucid universe
deb http:///ubuntu lucid-updates universe
deb-src http:///ubuntu lucid-updates universe

deb http:///ubuntu lucid multiverse
deb-src http:///ubuntu lucid multiverse
deb http:///ubuntu lucid-updates multiverse
deb-src http:///ubuntu lucid-updates multiverse

Наше локальное зеркало репозиториев готово!

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Оцените статью