Приветствую всех форумчан! Разрешите представить вашему вниманию простой и быстрый способ разворачивания корпоративного репозитория .
Полная копия всех зеркал для Mint19.0 весит 1,2 ТБ - не сильно приличный объем для приличной организации))
Я хочу предоставить вашему вниманию схему развертки репозитория для Mint 19.0 так как недавно занимался данным вопросом.
Я хочу предоставить вам альтернативный способ создания репозитория, так как в основном Google предлагает сабж решить через утилиты apt-mirror или debmirror. Создание репозиториев через данные утилиты достаточно подробно также освещены в интернете. Данный способ честно говоря у меня не зашел и я нашел другой, простой он или нет - предоставляю на ваш строгий суд)
Погнали.
Задача: Создание полноценного корпоративного репозитория Mint 19.0 Tara
Причина: возможность установки и обновления пакетов по локальной сети одной или группы машин, с установленной на них ОС Linux Mint 19.0 Tara
Дано: 1.Корпоративный сервер репозитория - Centos 7.5.18.04 - с доступом в интернет и поднятым ftp-сервером
2. Рабочая станция с ОС Linux Mint 19.0 Tara на борту
Решение.
1.Предполагаю, что с поднятием ftp-сервера все справятся, так как по любому мануалу в инете он поднимается за 5 минут.
2.Выясняем какие зеркала нам необходимо скачать на наш сервер репозитория.
Открываем файл /etc/apt/sources.list.d/official-package-repositories.list - cмотрим
deb http://packages.linuxmint.com tara main upstream import backport
deb http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu bionic-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu/ bionic partner
3. Здесь самое интересное - чтобы утилита apt правильно поняла конфиг и с индексировала все скачанные пакеты необходимо правильно их разместить на сервере.
Как мы все понимаем Mint 19.0 в плане пакетов полностью совпадает с Ubuntu 18.04 Bionic , поэтому основная база пакетов будет взята от репозитория Ubuntu 18.04
Повторяю, что очень важно, чтобы информация скажем о пакетах релиза ubuntu bionic находилась в каталоге dists
А сами пакеты находились в директории pool - к данному утверждению я пришел экспериментально и уверен что утилита apt рабочей станции правильно «поймет» данную структуру.
Итак, качаем необходимые пакеты на сервер репозитория
Предлагаю последовательно команды в порядке расположения зеркал по такой схеме
3.11.Строка репозитория оригинала для доступа к репозиториям по сети интернет.
3.2. Новая строка с указанием на наш корпоративный репозиторий .
3.3 Откуда, куда и как качать пакеты
Я выбрал зеркало mirror.yandex.ru как наиболее доступное и удобное.
Каталоги на ftp сервере выбранные для закачки
/srv/ftp/ubuntu18.04/ и
/srv/ftp/mint19.0/
3.4 . X.X.X.X - внутренний «серый» ip адрес нашего корпоративного сервера
Оригинал - deb http://packages.linuxmint.com tara main upstream import backport
Новая строка - deb ftp://X.X.X.X/mint19.0 tara main upstream import backport
Как качаем
rsync -avrt rsync://mirror.yandex.ru/linuxmint-packages/dists/tara /srv/ftp/mint19.0/dists/
rsync -avrt rsync://mirror.yandex.ru/linuxmint-packages/pool/main /srv/ftp/mint19.0/pool/
rsync -avrt rsync://mirror.yandex.ru/linuxmint-packages/pool/upstream /srv/ftp/mint19.0/pool/
rsync -avrt rsync://mirror.yandex.ru/linuxmint-packages/pool/import /srv/ftp/mint19.0/pool/
rsync -avrt rsync://mirror.yandex.ru/linuxmint-packages/pool/backport /srv/ftp/mint19.0/pool/
Оригинал - deb http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
Новая строка - deb ftp:// X.X.X.X /ubuntu18.04/ bionic main restricted universe multiverse
Как качаем
rsync -avrt rsync://mirror.yandex.ru/ubuntu/ubuntu/dists/bionic /srv/ftp/ubuntu18.04/dists/
Оригинал - deb http://archive.ubuntu.com/ubuntu bionic-backports main restricted universe multiverse
Новая строка - deb ftp://X.X.X.X/ubuntu18.04 bionic-backports main restricted universe multiverse
Как качаем
rsync -avrt rsync://mirror.yandex.ru/ubuntu/ubuntu/dists/bionic-backports /srv/ftp/ubuntu18.04/dists/
Оригинал - deb http://security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
Новая строка - deb ftp://X.X.X.X/ubuntu18.04/ bionic-security main restricted universe multiverse
Как качаем
rsync -avrt rsync://mirror.yandex.ru/ubuntu/ubuntu/dists/bionic-security /srv/ftp/ubuntu18.04/dists/
Оригинал - deb http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse
Новая строка - deb ftp://X.X.X.X/ubuntu18.04 bionic-updates main restricted universe multiverse
Как качаем -
rsync -avrt rsync://mirror.yandex.ru/ubuntu/ubuntu/dists/bionic-updates /srv/ftp/ubuntu18.04/dists/
Оригинал - deb http://archive.canonical.com/ubuntu/ bionic partner
Новая строка - deb ftp://X.X.X.X/ubuntu18.04/canonical/ bionic partner
Как качаем(archive.canonical.com по протоколу rsync пакеты не отдает, либо я допускаю что я не разобрался, поэтому выбрал старый добрый wget )
wget -P /srv/ftp/canonical/dists -r --no-parent -nH --cut-dirs=1 http://archive.canonical.com/dists/bionic/
wget -P /srv/ftp/canonical/pool -r --no-parent -nH --cut-dirs=1 http://archive.canonical.com/pool/partner/
В мане wget можно разобраться что значат все ключи, -r, --no-parent, и так далее - останавливаться на этом не будем.
Так качаем сами пакеты для Ubuntu 18.04 для всех релизов
rsync -avrt rsync://mirror.yandex.ru/ubuntu/pool /srv/ftp/ubuntu18.04/
4. Редактируем файл /etc/apt/sources.list.d/official-package-repositories.list и вносим в него новые данные согласно нового расположения пакетов.
Вносим следующее
deb ftp://X.X.X.X/mint19.0 tara main upstream import backport
deb ftp:// X.X.X.X /ubuntu18.04/ bionic main restricted universe multiverse
deb ftp://X.X.X.X/ubuntu18.04 bionic-backports main restricted universe multiverse
deb ftp://X.X.X.X/ubuntu18.04 bionic-updates main restricted universe multiverse
deb ftp://X.X.X.X/ubuntu18.04/ bionic-security main restricted universe multiverse
deb ftp://X.X.X.X/ubuntu18.04/canonical/ bionic partner
5. apt-get update
Репозиторий готов, клиент настроен. Всем рабочих репозиториев и удачи!