Инструменты пользователя

Инструменты сайта


software:linux_server:local_or_private_ubuntu_mirror

Это старая версия документа!


Создание локального зеркала Ubuntu

Введение

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

Локальная копия официального репозитория Ubuntu deb http://ru.archive.ubuntu.com/ubuntu/ focal main restricted занимает 135+ GiB, учтите это.

Создание дерева папок

Создаём несколько папок в домашней дирректории, в которой будет храниться наш срез репозитория (или даже несколько), к примеру, согласно нижеприведенной схемы:

Для этого введем ниже приведенные команды

sudo mkdir /home/alisa/repo
sudo mkdir /home/alisa/repo/debmirror
sudo mkdir /home/alisa/repo/debmirror/amd64
sudo mkdir /home/alisa/repo/debmirror/mirrorkeyring
sudo mkdir /home/alisa/repo/scripts



В итоге у нас получиться:

Настроим права доступа к нашей главной папке

sudo chown -R root:alisa /home/alisa/repo
sudo chmod -R 571 /home/alisa/repo



Установка зависимостей

Установим web server Apache2 и настроим брандмауэр по аналогии в этой статье.
Обновим список пакетов

sudo apt-get update



и установим небходимое ПО
Если web server Apache2 уже установлен, то

sudo apt install debmirror gnupg xz-utils


Иначе

sudo apt install apache2 debmirror gnupg xz-utils


Gnupg нужен для связки ключей. Xz – необходимость декомпрессии.

Откройте список источников (sources.list)

sudo sensible-editor /etc/apt/sources.list




и добавьте следующую строку:

#############################################################
########## Ubuntu 22.04 LTS (Jammy Jellyfish)  ##############
#############################################################

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

deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse

deb http://archive.canonical.com/ubuntu/ jammy partner
deb-src http://archive.canonical.com/ubuntu/ jammy partner


CTRL+O → ENTER → CTRL+X (Сохранить и выйти)

После редактирования списка репозиториев не забудьте обновить список пакетов.

sudo apt-get update
sudo apt-get dist-upgrade



c

Скрипт mirrorkernel.sh

Теперь создадим mirrorkernel.sh, открыв предпочитаемый вами редактор таким образом

sudo sensible-editor /home/alisa/repo/scripts/mirrorkernel.sh



Скопируйте текст из поля ниже в редактор.

#!/bin/bash -x
/usr/bin/debmirror --source -m --passive --host=archive.ubuntu.com \
--root=ubuntu --method=http --progress \
--dist=focal,focal-security,focal-updates,focal-backports,jammy,jammy-security,jammy-updates,jammy-backports,noble,noble-security,noble-updates,noble-backports \
--ignore-release-gpg --section=main,restricted,universe,multiverse \
--arch=amd64 /home/alisa/repo/debmirror/amd64/


  • –host=archive.ubuntulinux.org - это адрес репозитория (без слеша на конце,здесь archive.ubuntulinux.org)
  • –root=ubuntu - это тот каталог, от которого начнётся зеркалирование пакетов. Короче - это каталог, который виден сразу после захода на адрес, указанный в –host
  • –method=ftp - ftp или http
  • –dist=hardy,hardy-security,hardy-updates,hardy-backports - название версии дистрибутива, который нас интересует. Если вы всё еще используете старую версию Ubuntu 7.10 (Gutsy Gibbon), то вам необходимо немного подправить этот скрипт, в частности, необходимо изменить значения параметра –dist с hardy на gutsy.
  • –section=main,restricted,multiverse,universe - название секции, которая нам нужна (если не одна - разделитель запятая без пробелов)
  • –arch=i386 - архитектура. Значение i386 говорит о том, что будут скачаны пакеты для компьютера с архитектурой x86. Этот параметр также может принимать значение amd64 для 64-битных AMD или Intel компьютеров.



CTRL+O → ENTER → CTRL+X (Сохранить и выйти)
Перейдем в директорию с нашим новым скриптом mirrorkernel.sh и дадим ему разрешение на выполнение:

cd /home/alisa/repo/scripts/
sudo chmod +x mirrorkernel.sh

chmod (от англ. change mode) — команда для изменения прав доступа к файлам и каталогам, используемая в Unix-подобных операционных системах.



Запуск и Автоисполнение

Находясь в папке с скриптом, запустим его на выполнение:

sudo apt install screen
sudo screen /home/alisa/repo/scripts/mirrorkernel.sh


screen это терминальный мультиплексор. Процесс, запущенный внутри сессии через screen, будет продолжаться даже тогда, когда вы отключитесь от самой первой сессии. См. подробнее...
После выполнения команды пойдет загрузка файлов в наше локальное зеркало:

Настройка доступа к зеркалу

Создадим символическую ссылку из /home/alisa/repo/debmirror/amd64 на /var/www/ubuntu.

cd /var/www/html
sudo ln -s /home/alisa/repo/debmirror/amd64 ubuntu




Перезапустим Apache:

sudo service apache2 restart

Проверим работу нашего веб-сервера

sudo systemctl status apache2



перейдем на главную страницу в браузере нашего сервера (в примере http://192.168.1.152/)

И наконец перейдем в папку для которой мы ранее указали символическую ссылку (в примере http://192.168.1.152/ubuntu/):

Файлы и Дополнения

Официальные репозитарии Ubuntu

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

deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse

deb http://archive.canonical.com/ubuntu/ jammy partner
deb-src http://archive.canonical.com/ubuntu/ jammy partner

debmirroramd64.sh.txt

Только авторизованные участники могут оставлять комментарии.
software/linux_server/local_or_private_ubuntu_mirror.1717396378.txt.gz · Последнее изменение: vladpolskiy