Я создал пакет rpm, и мне нужно опубликовать его до YUM, чтобы пользователи могли напрямую делать yum install softwareName для установки приложения. Я искал в Google, но не могу найти много ресурсов. Я новичок в этом, поэтому я не знаю, что я хочу сделать, это возможно. Я попытался создать локальный репозиторий yum для приложения, но он работает только для локальной машины. Может ли кто-нибудь помочь? Спасибо.Как опубликовать пакет rpm для YUM
ответ
Предполагая, что у вас установлен 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
Спасибо! Но у меня возникла такая ошибка: '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. Это причина, по которой я получил ошибку? Спасибо! –
Вы можете отключить любое репо во время выполнения, выполнив «yum --enablerepo = * --disablerepo = c7-media install my'. Вы также можете использовать только свое собственное репо, 'yum --enablerepo = my_repo install my'. Вы также можете отключить репо внутри '/ etc/yum.repos.d/name.repo' и пометить' enabled = 0' – iamauser
Просто небольшая коррекция - вы должны использовать 'createrepo_c', когда это возможно. Он работает намного быстрее. – msuchy
Если ваша цель просто сделать это обороты устанавливаемым другими пользователями, просто можете поделиться им через GoogleDrive/DropBox/веб-сервер/FTP-сервер и т. д. Пользователи могут загрузить его, проверить подписи и установить его через '$ sudo yum localinstall/path/to/your.rpm'. К сожалению, я также не знаю, как разместить ваши rpm в одном из общедоступных репозиториев RPM. – lospejos