Alterator-mirror: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 30: Строка 30:
На странице модуля можно выбрать, как часто выполнять закачку пакетов, можно выставить время, когда начинать зеркалирование.
На странице модуля можно выбрать, как часто выполнять закачку пакетов, можно выставить время, когда начинать зеркалирование.


При нажатии на название репозитория, появляются настройки этого репозитория:  
Здесь также можно выбрать репозитории, локальные срезы которых необходимы. При нажатии на название репозитория, появляются настройки этого репозитория:  


[[Файл:Alterator-mirror2.png|Настройки репозитория]]
[[Файл:Alterator-mirror2.png|Настройки репозитория]]


Необходимо выбрать источник, архитектуру процессора (если их несколько, то стоит выбрать соответствующие).
Необходимо выбрать источник, архитектуру процессора (если их несколько, то стоит выбрать соответствующие).
{{Note|При выборе любой архитектуры также будет добавлен источник с noarch.}}


Сервер обновлений предоставляет возможность автоматически настроить обновление клиентских машин в нужном режиме:
Сервер обновлений предоставляет возможность автоматически настроить обновление клиентских машин в нужном режиме:


;Локальное зеркало репозитория:
;Локальное зеркало репозитория:
:В этом режиме на сервере создаётся копия удалённого репозитория, доступная клиентским машинам по протоколу FTP. Загрузка ПО клиентскими машинами производится с локального сервера. Наличие на локальном сервере зеркала репозитория при большом количестве машин в сети позволяет существенно сэкономить на трафике.
:В этом режиме на сервере создаётся копия удалённого репозитория. Загрузка ПО клиентскими машинами может производится с локального сервера по протоколам HTTP, HTTPS, FTP, rsync (для каждого протокола нужно настроить соответствующие службы). Наличие на локальном сервере зеркала репозитория при большом количестве машин в сети позволяет существенно сэкономить на трафике.
;Публикация репозитория:
;Публикация репозитория:
:В этом случае публикуется или URL внешнего сервера, содержащего репозиторий или, если включено локальное зеркало репозитория, адрес этого сервера. Такая публикация позволяет клиентским машинам автоматически настроить свои менеджеры пакетов на использование внешнего или локального репозитория.
:В этом случае публикуется или URL внешнего сервера, содержащего репозиторий или, если включено локальное зеркало репозитория, адрес этого сервера. Такая публикация позволяет клиентским машинам автоматически настроить свои менеджеры пакетов на использование внешнего или локального репозитория.


Здесь также можно указать имена каталогов и файлов, которые будут исключены из синхронизации, что позволит уменьшить размер скачиваемых файлов и занимаемое репозиторием место на диске. Например, не скачивать пакеты с исходным кодом и пакеты с отладочной информацией:
{{Attention| Зеркалирование потребует наличия большого количества места на диске.
 
Уменьшить размер скачиваемых файлов и занимаемое репозиторием место на диске можно, указав имена каталогов и файлов, которые будут исключены из синхронизации. Например, не скачивать пакеты с исходным кодом и пакеты с отладочной информацией:
  SRPMS
  SRPMS
  *-debuginfo-*
  *-debuginfo-*


Шаблоны указываются по одному в отдельной строке. Символ «*» используется для подстановки любого количества символов.
Шаблоны указываются по одному в отдельной строке. Символ «*» используется для подстановки любого количества символов. }}


Настройка локального репозитория заканчивается нажатием на кнопку «Применить».
Настройка локального репозитория заканчивается нажатием на кнопку «Применить».


== Использование на стороне клиента  ==
== Локальное зеркало репозитория ==
 
По окончании первой синхронизации репозиторий готов к использованию. Загрузка ПО клиентскими машинами, может производиться с локального сервера по протоколам HTTP, HTTPS, FTP, rsync. На сервере при этом должна быть настроена соответствующая служба. Ниже приведён пример настройки HTTP- и FTP-сервера.
 
=== Настройка веб-сервера ===
Установить веб-сервер, например nginx:
 
<source lang="text" highlight="1"># apt-get install nginx</source>
 
Создать файл конфигурации сервера в {{path|/etc/nginx/sites-available.d/repo.conf}}:
<source lang="text">
server {
  listen 80;
  server_name localhost .local <ваш ip>;
 
  access_log /var/log/nginx/repo-access.log;
  error_log /var/log/nginx/repo-error.log;
 
  location /mirror {
    root /srv/public;
    autoindex on;
  }
}</source>
 
Сделать ссылку в {{path|/etc/nginx/sites-enabled.d/}}:
 
<source lang="text" highlight="1"># ln -s /etc/nginx/sites-available.d/repo.conf /etc/nginx/sites-enabled.d/repo.conf</source>
 
Запустить nginx и добавить его в автозагрузку:
 
<source lang="text" highlight="1"># systemctl enable --now nginx</source>
 
=== Настройка FTP-сервера ===
 
Установить пакет vsftpd:
 
<source lang="text" highlight="1"># apt-get install vsftpd lftp</source>
 
Настроить параметры использования vsftpd в файле {{path|/etc/xinetd.d/vsftpd}}:
 
<source lang="text"># default: off
# description: The vsftpd FTP server.
service ftp
{
    disable = no # включает службу
    socket_type = stream
    protocol = tcp
    wait = no
    user = root
    nice = 10
    rlimit_as = 200M
    server = /usr/sbin/vsftpd
    only_from = 0/0 # предоставить доступ для всех IP
}</source>
 
Перезапустить xinetd:
 
<source lang="text" highlight="1"># systemctl restart xinetd</source>
 
Изменить настройку прав доступа в файле {{path|/etc/vsftpd/conf}}:
 
local_enable=YES
 
Создать каталог {{path|/var/ftp/mirror}}:
 
<source lang="text" highlight="1"># mkdir -p /var/ftp/mirror</source>
 
Примонтировать каталог{{path|/srv/public/mirror}} в {{path|/var/ftp/mirror}} с опцией ''--bind'':
 
<source lang="text" highlight="1"># mount --bind /srv/public/mirror /var/ftp/mirror</source>
 
{{Note| Для автоматического монтирования каталога /srv/public/mirror при загрузке системы необходимо добавить следующую строку в файл {{path|/etc/fstab}}:
 
/srv/public/mirror /var/ftp/mirror none defaults,bind 0 0
}}
 
 
=== Использование на стороне клиента ===
На клиентских машинах необходимо настроить репозитории:
 
  # apt-repo add <Протокол>://<ip сервера>/mirror/p9/branch
 
Например:
<source lang="text" highlight="1,2"># apt-repo rm all
# apt-repo add http://192.168.0.185/mirror/p9/branch</source>
 
Проверить правильность настройки репозиториев:
 
<source lang="text" highlight="1"># apt-repo
rpm http://192.168.0.185/mirror p9/branch/x86_64 classic
rpm http://192.168.0.185/mirror p9/branch/noarch classic</source>
 
 
== Публикация репозитория — использование на стороне клиента ==


На клиентских машинах необходимо настроить модуль [[Alterator-updates|Обновление системы]] отметив в нем «Обновление системы, управляемое сервером». Процесс обновления будет запускаться автоматически согласно заданному расписанию.
На клиентских машинах необходимо настроить модуль [[Alterator-updates|Обновление системы]] отметив в нем «Обновление системы, управляемое сервером». Процесс обновления будет запускаться автоматически согласно заданному расписанию.
== Использование на стороне клиента ==


Собственно обновление осуществляется не через общесистемные источники в /etc/apt/sources.list*, а командой  
Собственно обновление осуществляется не через общесистемные источники в /etc/apt/sources.list*, а командой  

Версия от 18:02, 2 марта 2021

Название пакета

alterator-mirror

Назначение

Модуль Сервер обновлений предназначен для зеркалирования репозиториев ALT Linux и публикации их для обновлений рабочих станций и серверов.

Модуль позволяет:

  • просмотреть информацию о зеркалируемых репозиториях;
  • выбрать репозитории для зеркалирования из предложенного списка;
  • настроить периодичность зеркалирования;
  • настроить параметры каждого зеркалируемого репозитория: источник, архитектура, параметры публикации.

Настройка хранилища репозитория

По умолчанию локальное зеркало репозитория находится в /srv/public/mirror. Для того, чтобы зеркалирование происходило в другую папку необходимо эту папку примонтировать в папку /srv/public/mirror. Для этого в файл /etc/fstab следует вписать следующую строку

/media/disk/localrepo /srv/public/mirror none rw,bind,auto 0 0

где /media/disk/localrepo — папка-хранилище локального репозитория.

Настройка сервера обновлений

Модуль Сервер обновлений доступен в веб-интерфейсе по адресу https://ip-address:8080 (раздел «Серверы» ▷ «Сервер обновлений»):

Сервер обновлений

На странице модуля можно выбрать, как часто выполнять закачку пакетов, можно выставить время, когда начинать зеркалирование.

Здесь также можно выбрать репозитории, локальные срезы которых необходимы. При нажатии на название репозитория, появляются настройки этого репозитория:

Настройки репозитория

Необходимо выбрать источник, архитектуру процессора (если их несколько, то стоит выбрать соответствующие).

Примечание: При выборе любой архитектуры также будет добавлен источник с noarch.


Сервер обновлений предоставляет возможность автоматически настроить обновление клиентских машин в нужном режиме:

Локальное зеркало репозитория
В этом режиме на сервере создаётся копия удалённого репозитория. Загрузка ПО клиентскими машинами может производится с локального сервера по протоколам HTTP, HTTPS, FTP, rsync (для каждого протокола нужно настроить соответствующие службы). Наличие на локальном сервере зеркала репозитория при большом количестве машин в сети позволяет существенно сэкономить на трафике.
Публикация репозитория
В этом случае публикуется или URL внешнего сервера, содержащего репозиторий или, если включено локальное зеркало репозитория, адрес этого сервера. Такая публикация позволяет клиентским машинам автоматически настроить свои менеджеры пакетов на использование внешнего или локального репозитория.
Внимание! Зеркалирование потребует наличия большого количества места на диске.

Уменьшить размер скачиваемых файлов и занимаемое репозиторием место на диске можно, указав имена каталогов и файлов, которые будут исключены из синхронизации. Например, не скачивать пакеты с исходным кодом и пакеты с отладочной информацией:

SRPMS
*-debuginfo-*
Шаблоны указываются по одному в отдельной строке. Символ «*» используется для подстановки любого количества символов.


Настройка локального репозитория заканчивается нажатием на кнопку «Применить».

Локальное зеркало репозитория

По окончании первой синхронизации репозиторий готов к использованию. Загрузка ПО клиентскими машинами, может производиться с локального сервера по протоколам HTTP, HTTPS, FTP, rsync. На сервере при этом должна быть настроена соответствующая служба. Ниже приведён пример настройки HTTP- и FTP-сервера.

Настройка веб-сервера

Установить веб-сервер, например nginx:

# apt-get install nginx

Создать файл конфигурации сервера в /etc/nginx/sites-available.d/repo.conf:

server {
  listen 80;
  server_name localhost .local <ваш ip>;

  access_log /var/log/nginx/repo-access.log;
  error_log /var/log/nginx/repo-error.log;

  location /mirror {
    root /srv/public;
    autoindex on;
   }
}

Сделать ссылку в /etc/nginx/sites-enabled.d/:

# ln -s /etc/nginx/sites-available.d/repo.conf /etc/nginx/sites-enabled.d/repo.conf

Запустить nginx и добавить его в автозагрузку:

# systemctl enable --now nginx

Настройка FTP-сервера

Установить пакет vsftpd:

# apt-get install vsftpd lftp

Настроить параметры использования vsftpd в файле /etc/xinetd.d/vsftpd:

# default: off
# description: The vsftpd FTP server.
service ftp
{
    disable = no # включает службу
    socket_type = stream
    protocol = tcp
    wait = no
    user = root
    nice = 10
    rlimit_as = 200M
    server = /usr/sbin/vsftpd
    only_from = 0/0 # предоставить доступ для всех IP
}

Перезапустить xinetd:

# systemctl restart xinetd

Изменить настройку прав доступа в файле /etc/vsftpd/conf:

local_enable=YES

Создать каталог /var/ftp/mirror:

# mkdir -p /var/ftp/mirror

Примонтировать каталог/srv/public/mirror в /var/ftp/mirror с опцией --bind:

# mount --bind /srv/public/mirror /var/ftp/mirror
Примечание: Для автоматического монтирования каталога /srv/public/mirror при загрузке системы необходимо добавить следующую строку в файл /etc/fstab:
/srv/public/mirror /var/ftp/mirror none defaults,bind 0 0


Использование на стороне клиента

На клиентских машинах необходимо настроить репозитории:

# apt-repo add <Протокол>://<ip сервера>/mirror/p9/branch

Например:

# apt-repo rm all
# apt-repo add http://192.168.0.185/mirror/p9/branch

Проверить правильность настройки репозиториев:

# apt-repo
rpm http://192.168.0.185/mirror p9/branch/x86_64 classic
rpm http://192.168.0.185/mirror p9/branch/noarch classic


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

На клиентских машинах необходимо настроить модуль Обновление системы отметив в нем «Обновление системы, управляемое сервером». Процесс обновления будет запускаться автоматически согласно заданному расписанию.

Собственно обновление осуществляется не через общесистемные источники в /etc/apt/sources.list*, а командой

/usr/sbin/sisyphus-updates >/var/log/sisyphus-updates.log 2>&1

конфигурация: /etc/sisyphus-updates/sisyphus-updates.conf

При этом и на сервере и на клиенте должна быть запущена служба avahi-daemon