Создание локального репозитория Fedora Linux

Процесс создания локального репозитория предельно прост! Необходимо создать директорию, в которой будет хранится репозиторий:

# mkdir -p /usr/share/repository

Скопируйте в этот каталог все пакеты RPM, которые планируется использовать. Для получения пакетов вам необходимо использовать ftp-клиент, например, FileZilla и один из сайтов зеркалирования репозитория Fedora. Адреса зеркал можно получить на этом ресурсе: Fedora Public Active Mirrors. Например, возьмем зеркало на серверах RosBusinesConsulting (RBC).
Необходимо загрузить следующие папки (используйте протокол ftp):

  • ftp://fedora-mirror01.rbc.ru/pub/fedora/linux/releases/23/Workstation/i386/os/Packages/
  • ftp://fedora-mirror01.rbc.ru/pub/fedora/linux/releases/23/Everything/i386/os/Packages/
  • ftp://fedora-mirror01.rbc.ru/pub/fedora/linux/releases/23/Server/i386/os/Packages/
  • ftp://fedora-mirror01.rbc.ru/pub/fedora/linux/updates/23/i386/

(за исключением директорий debug и drpm)
Здесь показаны пути для 32-битных систем, если у вас 64-битная, то перейдите в соответствующую папку.
Все поддиректории с именами a, b, c и т. п. необходимо поместить в созданную вами директорию на локальном хосте. Перейдите в эту директорию:

# cd /usr/share/repository

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

# dnf install createrepo

Выполните следующие команды:

# createrepo .
# dnf clean all
Если в репозитории пакеты будут заменены на новые – эту операцию следует повторить.

Создайте файл /etc/yum.repos.d/file.repo со следующим содержимым:

# cat /etc/yum.repos.d/file.repo
[My_Repository]
baseurl=file:///usr/share/repository
enabled=1

Где file – это имя файла настроек, которое вы должны определить для каждого из ваших репозиториев (все должны находиться в директории настроек /etc/yum.repos.d/).
Получите список пакетов:

# dnf list

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

Для упрощения создания дерева директорий воспользуйтесь следующей командой:

# mkdir -p /.../dir1/dir2/... 

Пакетный менеджер DNF может работать с группами пакетов. Для того, чтобы появилась такая возможность и в вашем локальном репо, необходимо загрузить в папку с пакетами файл *comps.xml в котором хранится информация о группах. Этот файл можно найти в директории repodata на удаленном сервере. Имя файла начинается с длинной вереницы символов. Их нужно отбросить и переименовать файл в comps.xml. Команду createrepo необходимо сопровождать следующими ключами:

# createrepo -p -g comps.xml .

В директории /etc/yum.repos.d/ необходимо отключить все остальные (не локальные) репозитории. В каждом файле *.repo опцию enabled нужно установить = 0. В противном случае (при отсутствии доступа к сети), пакетный менеджер прервет свою работу и вам не удастся установить файлы из своего локального “репа”.
Теперь вы можете устанавливать пакеты из локального репозитория, используя, например, графическую утилиту dnfdragora.
Ссылки для rpmfusion:
Free: http://rpmfusion-mirror01.rbc.ru/pub/rpmfusion/free/fedora/development/23/i386/os/
Nonfree: http://rpmfusion-mirror01.rbc.ru/pub/rpmfusion/nonfree/fedora/development/23/i386/os/

Если вы создаете локальный репозиторий RFRemix, то следует принять во внимание информацию от разработчиков на этой странице проекта:
http://ru.fedoracommunity.org/repository#mirrors.
И особенно следующее замечание: “Необходимо, чтобы репозиторий russianfedora находился внутри зеркала Fedora, на одном уровне с каталогом linux, так как мы используем ссылки на некоторые пакеты из основного дерева”.

Оцените материал
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Print Friendly, PDF & Email

Добавить комментарий