2017-02-15 20 views
0

Я создал пакет rpm, и мне нужно опубликовать его до YUM, чтобы пользователи могли напрямую делать yum install softwareName для установки приложения. Я искал в Google, но не могу найти много ресурсов. Я новичок в этом, поэтому я не знаю, что я хочу сделать, это возможно. Я попытался создать локальный репозиторий yum для приложения, но он работает только для локальной машины. Может ли кто-нибудь помочь? Спасибо.Как опубликовать пакет rpm для YUM

+0

Если ваша цель просто сделать это обороты устанавливаемым другими пользователями, просто можете поделиться им через GoogleDrive/DropBox/веб-сервер/FTP-сервер и т. д. Пользователи могут загрузить его, проверить подписи и установить его через '$ sudo yum localinstall/path/to/your.rpm'. К сожалению, я также не знаю, как разместить ваши rpm в одном из общедоступных репозиториев RPM. – lospejos

ответ

0

Предполагая, что у вас установлен YUM ​​на ящике Linux.

Вам необходимо создать репозиторий YUM, содержащий ваш RPM. Например,

./mydir/Packages/my.rpm 

Использование createrepo для создания хранилища для этого каталога.

createrepo ./mydir 

Выше будет создать каталог repodata в ./mydir

Тогда скажите YUM, где это хранилище является создание файла репо в /etc/yum.repos.d/my.repo. Содержание my.repo может быть что-то вроде этого:

[my_repo] 
name=My YUM REPO 
baseurl=file:///path/to/mydir 
enabled=1 

Затем сделайте, yum --enablerepo=* clean all. Это должно восстановить метаданные для yum.

Наконец,

`yum --enablerepo=* install my` 

Выше my относится к my.rpm

Для того, чтобы получить доступ к этим от других машин в сети, вам нужен доступ к Интернету,

Установить http. Поместите хранилище где-то в, /var/www/html/repos/mydir/Packages/my.rpm

Далее следует другим шагам и редактировать my.repo файл включить hostname машины в baseurl атрибуте:

baseurl=http://myrepository.com/mydir 
+0

Спасибо! Но у меня возникла такая ошибка: 'failure: repodata/repomd.xml c7-media: [Errno 256] Больше не нужно искать зеркал. файл: ///media/CentOS/repodata/repomd.xml: [Errno 14] curl # 37 - «Не удалось открыть файл /media/CentOS/repodata/repomd.xml» файл: /// media/cdrom /repodata/repomd.xml: [Errno 14] curl # 37 - «Не удалось открыть файл /media/cdrom/repodata/repomd.xml» файл: ///media/cdrecorder/repodata/repomd.xml: [Errno 14] curl # 37 - «Не удалось открыть файл /media/cdrecorder/repodata/repomd.xml» «Я тестирую это на Docker, потому что я использую Mac. Это причина, по которой я получил ошибку? Спасибо! –

+0

Вы можете отключить любое репо во время выполнения, выполнив «yum --enablerepo = * --disablerepo = c7-media install my'. Вы также можете использовать только свое собственное репо, 'yum --enablerepo = my_repo install my'. Вы также можете отключить репо внутри '/ etc/yum.repos.d/name.repo' и пометить' enabled = 0' – iamauser

+0

Просто небольшая коррекция - вы должны использовать 'createrepo_c', когда это возможно. Он работает намного быстрее. – msuchy