Alterator-mirror: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 30: | Строка 30: | ||
На странице модуля можно выбрать, как часто выполнять закачку пакетов, можно выставить время, когда начинать зеркалирование. | На странице модуля можно выбрать, как часто выполнять закачку пакетов, можно выставить время, когда начинать зеркалирование. | ||
При нажатии на название репозитория, появляются настройки этого репозитория: | Здесь также можно выбрать репозитории, локальные срезы которых необходимы. При нажатии на название репозитория, появляются настройки этого репозитория: | ||
[[Файл:Alterator-mirror2.png|Настройки репозитория]] | [[Файл:Alterator-mirror2.png|Настройки репозитория]] | ||
Необходимо выбрать источник, архитектуру процессора (если их несколько, то стоит выбрать соответствующие). | Необходимо выбрать источник, архитектуру процессора (если их несколько, то стоит выбрать соответствующие). | ||
{{Note|При выборе любой архитектуры также будет добавлен источник с noarch.}} | |||
Сервер обновлений предоставляет возможность автоматически настроить обновление клиентских машин в нужном режиме: | Сервер обновлений предоставляет возможность автоматически настроить обновление клиентских машин в нужном режиме: | ||
;Локальное зеркало репозитория: | ;Локальное зеркало репозитория: | ||
:В этом режиме на сервере создаётся копия удалённого репозитория | :В этом режиме на сервере создаётся копия удалённого репозитория. Загрузка ПО клиентскими машинами может производится с локального сервера по протоколам 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 (раздел «Серверы» ▷ «Сервер обновлений»):
На странице модуля можно выбрать, как часто выполнять закачку пакетов, можно выставить время, когда начинать зеркалирование.
Здесь также можно выбрать репозитории, локальные срезы которых необходимы. При нажатии на название репозитория, появляются настройки этого репозитория:
Необходимо выбрать источник, архитектуру процессора (если их несколько, то стоит выбрать соответствующие).
Сервер обновлений предоставляет возможность автоматически настроить обновление клиентских машин в нужном режиме:
- Локальное зеркало репозитория
- В этом режиме на сервере создаётся копия удалённого репозитория. Загрузка ПО клиентскими машинами может производится с локального сервера по протоколам 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 /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