Эта инструкция описывает, как создать локальную копию (клон) репозитория пакетов RedOS — для офлайн‑использования, резервного копирования или настройки собственного зеркала.
1. Важные уточнения
- Репозиторий пакетов RedOS — это не Git‑репозиторий, а пакетный репозиторий (типа YUM/DNF), содержащий RPM‑пакеты и метаданные.
- Для клонирования используется утилита
rsyncилиreposync(из пакетаyum‑utils/dnf-utils). - Локальный клон позволит устанавливать/обновлять пакеты без доступа к интернету.
2. Подготовка системы
Установите необходимые утилиты
# dnf install rsync yum-utils # для DNF/YUM-систем
Если используется
dnf, вместоyum-utilsможно установитьdnf-plugins-core.
Проверьте подключение к сети
Убедитесь, что вы можете достучаться до официального репозитория RedOS (например, через ping или браузер).
3. Определите URL репозитория
Найдите актуальный URL репозитория RedOS. Обычно он имеет вид:
http://repo.redos.ru/redos/<версия>/<архитектура>/
или
rsync://repo.redos.ru/redos/<версия>/<архитектура>/
Примеры (актуальные URL уточняйте на официальном сайте RedOS):
Примечание:
<версия>— например,7.3,8.0и т. п.<архитектура>— обычноx86_64, может бытьaarch64и др.
4. Способ 1: Клонирование через reposync (рекомендуется)
reposync — утилита, специально предназначенная для копирования YUM/DNF‑репозиториев.
Шаг 1. Настройте репозиторий в системе
Создайте или отредактируйте файл в /etc/yum.repos.d/:
# vi /etc/yum.repos.d/redos-repo.repo
Пример содержимого:
[redos-repo]name=RedOS Repositorybaseurl=http://repo.redos.ru/redos/7.3/x86_64/enabled=1gpgcheck=1gpgkey=http://repo.redos.ru/redos/RPM-GPG-KEY-RedOS-7
Замените URL и версию на актуальные.
Шаг 2. Запустите reposync
# reposync --repoid=redos-repo --download_path=/путь/к/локальному/репо --downloadcomps
Параметры:
--repoid— ID репозитория из.repo-файла.--download_path— путь, куда сохранится клон.--downloadcomps— скачать файлcomps.xml(нужен для групп пакетов).
Пример:
# reposync --repoid=redos-repo --download_path=/var/www/html/redos-repo --downloadcomps
Шаг 3. Проверьте результат
После завершения в указанном каталоге должны появиться:
- папки
Packages/(с RPM‑файлами), - файл
repodata/(метаданные репозитория), - файл
comps.xml(если указан--downloadcomps).
5. Способ 2: Клонирование через rsync
Если reposync недоступен или нужен более гибкий контроль.
Команда:
# rsync -avz --progress rsync://repo.redos.ru/redos/7.3/x86_64/ /путь/к/локальному/репо/
Параметры:
-a— архивный режим (сохраняет права, время и т. д.),-v— подробный вывод,-z— сжатие данных,--progress— показ прогресса.
Важно:
- Используйте
rsync://‑URL, если сервер поддерживает rsync. - Если rsync недоступен, можно использовать
wget -mилиcurl, но это менее надёжно.
6. Создание метаданных репозитория (если нужно)
Если вы копировали файлы вручную (например, через rsync), нужно сгенерировать метаданные:
- Установите
createrepo(если нет):
# dnf install createrepo
- Сгенерируйте метаданные:
# createrepo /путь/к/локальному/репо/
Для обновления существующих метаданных:
# createrepo --update /путь/к/локальному/репо/
7. Настройка локального репозитория на клиентах
Чтобы использовать локальный клон, создайте .repo-файл на целевых машинах:
# vi /etc/yum.repos.d/local-redos.repo
Содержимое:
[local-redos]name=Local RedOS Repositorybaseurl=file:///путь/к/локальному/репо/enabled=1gpgcheck=0 # или 1, если вы доверяете GPG‑ключу
Если вы сохранили GPG‑ключ, укажите его:
gpgcheck=1gpgkey=file:///путь/к/ключу/RPM-GPG-KEY-RedOS-7
8. Проверка работы локального репозитория
На клиенте выполните:
# dnf clean all# dnf makecache# dnf repolist# dnf check-update
Если всё настроено верно, вы увидите локальный репозиторий и сможете устанавливать пакеты.
9. Обновление локального репозитория
Чтобы синхронизировать локальный клон с удалённым:
- Через
reposync:
# reposync --repoid=redos-repo --download_path=/путь/к/локальному/репо --downloadcomps --newest-only
- Через
rsync:
# rsync -avz --delete rsync://repo.redos.ru/redos/7.3/x86_64/ /путь/к/локальному/репо/
--delete— удаляет файлы, которых уже нет на сервере.
- После обновления не забудьте перегенерировать метаданные:
# createrepo --update /путь/к/локальному/репо/
10. Рекомендации
- Место на диске: репозиторий RedOS может занимать десятки ГБ. Убедитесь, что у вас достаточно места.
- Периодичность обновления: настраивайте cron‑задачи для регулярного обновления локального репозитория.
- Безопасность: если репозиторий доступен по сети, настройте авторизацию (например, через HTTP‑аутентификацию).
- Резервное копирование: регулярно делайте бэкапы локального репозитория.
Готово! Теперь у вас есть полноценный локальный клон репозитория пакетов RedOS.





