Это старая версия документа!
Содержание
Настройка Rsync зеркал ubuntu-releases на DSM 7.2
Программы, которые можно установить с помощью Центра приложений или любого другого пакетного менеджера, хранятся в репозиториях. Репозитории представляют из себя обычное хранилище пакетов и специальных файлов, доступное через интернет. Поэтому у каждого репозитория есть свой адрес. Например, официальные основные репозитории Ubuntu находятся по адресу http://archive.ubuntu.com/ubuntu.
Введение
Ниже описываются шаги по созданию зеркала репозитория релизов Ubuntu от компании Yandex в отдельной папке при настроеном Web-сервере на Synology Nas в DSM 7.2, т.е. когда на страницах основного сайта представлены ссылки для загрузки на данный репозиторий, находящийся на этом же Web-сервере.
Подготовка к работе
Настройка Web-сервера и службы rsync описаны в статье Настройка Rsync зеркал репозиториев на DSM 7.2. Поэтому повторятся не будем, а перейдем к созданию папок, настройке службы rsync, созданию скриптов и планировщику задач на Synology Nas в DSM 7.2
Рабочая станция
- Устанавливаем редактор Notepad++ - бесплатный текстовой редактор исходного кода. Работая в среде MS Windows, его использование регулируется GNU General Public License.
Создание папок
Создадим в корне сайта папку для нашего репозитория, в примере папка будет называться repo. В ней будут распологаться папки зеркал и скрытую папку для скриптов, в примере папка будет называться .scripts.
Файл .htaccess
В Notepad++ на локальной машине создадим файл .htaccess — это локальный конфигурационный файл веб-сервера Apache, который позволяет управлять настройками сайта, с содержанием одной единственной строки
Options +Indexes
и сохраняем как, указываем имя:.htaccess и тип файла:«все файлы».
Перетаскиваем файл .htaccess в окно программы File Station
В браузере вводим IP адрес нашего сервера и убеждаемся, что индексация папок работает.

В каталоге repo создадим папку ubuntu_releases для нашего зеркала
Создание скриптов
В папке .scripts создадим файл скрипта загрузки mirror_ubuntu.sh и файл исключения при зеркалировании mirror_ubuntu_list.txt
в файле скрипта пропишем следующее
#!/bin/bash -x rsync -avr --exclude-from='/volume1/web/.scripts/mirror_ubuntu_list.txt' rsync://archive.ubuntu.com/ubuntu/ /volume1/web/repo/ubuntu/
rsync - загрузить зеркало с адреса rsync://archive.ubuntu.com/ubuntu/ в каталог /volume1/web/repo/ubuntu/ исключив указанное в файле /volume1/web/repo/.scripts/mirror_ubuntu_list.txt
в файле mirror_ubuntu_list.txt укажем директории архива Ubuntu которые планируем исключить
«См.вариант исключения»
оставим для зеркалирования только свежие релизы Ubuntu focal, jammy и noble. Остальные исключим за ненадобностью и экономией места на диске
dists/bionic-backports/ dists/bionic-proposed/ dists/bionic-security/ dists/bionic-updates/ dists/bionic/ dists/devel-backports/ dists/devel-proposed/ dists/devel-security/ dists/devel-updates/ dists/devel/ dists/oracular-backports/ dists/oracular-proposed/ dists/oracular-security/ dists/oracular-updates/ dists/oracular/ dists/plucky-backports/ dists/plucky-proposed/ dists/plucky-security/ dists/plucky-updates/ dists/plucky/ dists/trusty-backports/ dists/trusty-proposed/ dists/trusty-security/ dists/trusty-updates/ dists/trusty/ dists/xenial-backports/ dists/xenial-proposed/ dists/xenial-security/ dists/xenial-updates/ dists/xenial/ ubuntu/
Изменим рекурсивно права на папки
sudo chown -R VladPolskiy:root /volume1/web/repo sudo chmod -R 755 /volume1/web/repo