====== Настройка Rsync зеркал ubuntu-releases на DSM 7.2 ====== {{:software:nas:nas_repo_rsync_ubuntu_releases_0.png?300 |}} Программы, которые можно установить с помощью Центра приложений или любого другого пакетного менеджера, хранятся в репозиториях. Репозитории представляют из себя обычное хранилище пакетов и специальных файлов, доступное через интернет. Поэтому у каждого репозитория есть свой адрес. Например, официальные основные репозитории Ubuntu находятся по адресу [[http://archive.ubuntu.com/ubuntu/|http://archive.ubuntu.com/ubuntu]]. =====Введение===== Ниже описываются шаги по созданию зеркала репозитория релизов Ubuntu от компании Yandex в отдельной папке при настроеном Web-сервере на Synology Nas в DSM 7.2, т.е. когда на страницах основного сайта представлены ссылки для загрузки на данный репозиторий, находящийся на этом же Web-сервере. =====Подготовка к работе===== Настройка Web-сервера и службы rsync описаны в статье [[software:nas:configure_rsync_mirror|Настройка Rsync зеркал репозиториев на DSM 7.2]]. Поэтому повторятся не будем, а перейдем к созданию папок, настройке **службы rsync**, созданию **скриптов** и **планировщику задач** на Synology Nas в DSM 7.2 ====Рабочая станция==== * Устанавливаем редактор [[https://notepad-plus-plus.org/|Notepad++]] - бесплатный текстовой редактор исходного кода. Работая в среде MS Windows, его использование регулируется [[https://ru.wikipedia.org/wiki/GNU_General_Public_License|GNU General Public License]]. ==== Создание папок ==== Создадим в корне сайта папку для нашего репозитория, в примере папка будет называться **repo**. В ней будут распологаться папки зеркал и скрытую папку для скриптов, в примере папка будет называться **.scripts**. {{:software:nas:nas_repo_rsync_new_folder_1.png?|}} ===Файл .htaccess=== В Notepad++ на локальной машине создадим файл **.htaccess** — это локальный конфигурационный файл веб-сервера Apache, который позволяет управлять настройками сайта, с содержанием одной единственной строки Options +Indexes {{:software:nas:rsync_mirror_dsm_18.png?|}} и сохраняем как, указываем имя:.htaccess и тип файла:"все файлы". {{:software:nas:rsync_mirror_dsm_19.png?|}} Перетаскиваем файл .htaccess в окно программы File Station {{:software:nas:rsync_mirror_dsm_20.png?|}} В браузере вводим IP адрес нашего сервера и убеждаемся, что индексация папок работает. {{:software:nas:rsync_mirror_dsm_21.png?|}} **Примечание** Без файла .htaccess Synology запрещает доступ к странице без файла index.html, index.php и т.д. и необходимо редактировать конфигурационный файл пакета Apache HTTP Server 2.4, что требует определенных навыков в работе с Synology. Файл .htaccess можно создать средствами пакета Synology Office, который установит нам кучу не нужных для зеркала пакетов, а после все не нужное удалить. {{:software:nas:rsync_mirror_dsm_22.png?|}} В каталоге **repo** создадим папку **ubuntu_releases** для нашего зеркала {{:software:nas:nas_repo_rsync_ubuntu_releases_1.png?|}} ====Создание скриптов==== В папке **.scripts** создадим файл скрипта загрузки **mirror_ubuntu_releases.sh** и файл исключения при зеркалировании **mirror_ubuntu_releases_list.txt** {{:software:nas:nas_repo_rsync_ubuntu_releases_2.png?|}} в файле скрипта пропишем следующее #!/bin/bash -x rsync -avr --exclude-from='/volume1/web/.scripts/mirror_ubuntu_releases_list.txt' rsync://mirror.yandex.ru/ubuntu-releases/ /volume1/web/repo/ubuntu_releases/ **rsync** - загрузить зеркало с адреса **%%rsync://mirror.yandex.ru/ubuntu-releases/%%** в каталог **%%/volume1/web/repo/ubuntu_releases/%%** исключив указанное в файле **%%/volume1/web/repo/.scripts/mirror_ubuntu_releases_list.txt%%** {{:software:nas:nas_repo_rsync_ubuntu_releases_3.png?|}} в файле **mirror_ubuntu_releases_list.txt** укажем директории архива **%%yandex.ru/ubuntu-releases/%%** которые планируем исключить
«См.вариант исключения»:!: оставим для зеркалирования только свежие релизы Ubuntu focal, jammy и noble. Остальные исключим за ненадобностью и экономией места на диске 14.04/ 14.04.6/ 16.04/ 16.04.7/ 18.04/ 18.04.6/ include/ oracular/ plucky/ releases/ streams/ trusty/ xenial/ FOOTER.html HEADER.html robots.txt
{{:software:nas:nas_repo_rsync_ubuntu_releases_4.png?|}} Изменим рекурсивно права на папки sudo chown -R VladPolskiy:root /volume1/web/repo sudo chmod -R 755 /volume1/web/repo {{:software:nas:nas_repo_rsync_new_folder_16.png?|}} ====Настройка Планеровщика задач==== В панели управления в разделе Планировщик задач создадим Запланированную задачу в виде Скрипта, заданного пользователем {{:software:nas:nas_repo_rsync_new_folder_9.png?|}} Во вкладке общие понятное для нас Имя задачи (примером mirror_ubuntu_releases.sh), пользователь root {{:software:nas:nas_repo_rsync_ubuntu_releases_5.png?|}} Во вкладке расписание Выполнить в сегодняшнее число, время запуска через несколько минут от текущего времени (не забываем сверить наше время и времы и часовой пояс на Synology NAS) для проверки работы автоматизации. {{:software:nas:nas_repo_rsync_ubuntu_releases_7.png?|}} На вкладке Настройки задачи Указываем отправлять сведения о запуски и свой адрес электронной почты, для получения отчетов и в окне Выполнить каманду вставляем следующую команду на запуск нашего скрипта bash /volume1/web/.scripts/mirror_ubuntu_releases.sh {{:software:nas:nas_repo_rsync_ubuntu_releases_6.png?|}} Ок, соглашаемся с возможными последствиями {{:software:nas:nas_repo_rsync_new_folder_13.png?|}} Подтверждаем вводом пароля Администратора {{:software:nas:nas_repo_rsync_new_folder_14.png?|}} если все вышеописанное выполнено по инструкции, в назначенное время (в примере в 12:20) должен запуститься скрипт mirror_ubuntu_releases.sh {{:software:nas:nas_repo_rsync_ubuntu_releases_8.png?|}} Заходим в директорю web/repo/ubuntu_releases в File Station для проверки работы нашего скрипта {{:software:nas:nas_repo_rsync_ubuntu_releases_9.png?|}} Выставляем необходимый день и время обновления нашего репозитория в Планеровщике Задач и проверим отображение репозитория в браузере {{:software:nas:nas_repo_rsync_ubuntu_releases_10.png?|}} =====Дополнения и Файлы===== * [[software:nas:configure_rsync_mirror|См. Настройка Rsync зеркал репозиториев на DSM 7.2]] * [[software:nas:configure_rsync_mirror_separate_folder|См. Настройка Rsync зеркал в отдельной папке на DSM 7.2]] * {{ :software:nas:example_mirror_releases_scripts.rar |Файлы папок и скриптов из данного руководства}} * [[gitea>]]https://git.wwoss.ru/VladPolskiy/Setting_Rsync_DSM_7.2