2017-02-15 4 views
0

Ich habe ein RPM-Paket erstellt, und ich muss es in YUM veröffentlichen, so dass Benutzer yum install softwareName direkt installieren können, um die Anwendung zu installieren. Ich habe auf Google gesucht, kann aber nicht viele Ressourcen finden. Ich bin neu in diesem Ding, also weiß ich nicht wirklich, was ich tun möchte, ist möglich. Ich habe versucht, ein lokales Yum-Repository für die Anwendung zu erstellen, aber es scheint nur für den lokalen Computer funktionieren. Kann mir bitte jemand helfen? Vielen Dank.Wie veröffentliche ich ein RPM-Paket in YUM

+0

Wenn Ihr Ziel ist nur diese rpm installierbar machen von anderen Benutzern, Sie kann es einfach über GoogleDrive/DropBox/Webserver/FTP Server etc. teilen. Benutzer können es herunterladen, Signaturen überprüfen und es über '$ sudo yum localinstall/pfad/zu/your.rpm' installieren. Leider weiß ich auch nicht, wie man seine rpm in eines der öffentlichen RPM-Repositories bringt. – lospejos

Antwort

0

Angenommen, Sie haben YUM auf einer Linux-Box installiert.

Sie müssen ein YUM-Repository erstellen, das Ihr RPM enthält. Zum Beispiel

./mydir/Packages/my.rpm 

Verwenden createrepo erstellen Repository für dieses Verzeichnis.

createrepo ./mydir 

Above würde erstellen repodata Verzeichnis in ./mydir

Dann YUM sagen, wo das Repository durch die Schaffung eines Repo-Datei in /etc/yum.repos.d/my.repo ist. Inhalt my.repo kann so etwas wie dieses:

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

Dann tun, yum --enablerepo=* clean all. Dies sollte Metadaten für yum neu generieren.

Schließlich

`yum --enablerepo=* install my` 

oben, bezieht sich my-my.rpm

Um diese auf dem Netzwerk von anderen Rechnern zugreifen zu können, benötigen Sie einen Web-Zugang,

http installieren. Platzieren Sie Ihr Repository irgendwo in, /var/www/html/repos/mydir/Packages/my.rpm

Dann werden auch andere Schritte folgen und bearbeiten my.repo Datei hostname der Maschine im baseurl Attribut enthalten:

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

Danke! Aber ich habe einen Fehler wie folgt: 'Fehler: repodata/repomd.xml von c7-media: [Errno 256] Keine Spiegel mehr zu versuchen. file: ///media/CentOS/repodata/repomd.xml: [Errno 14] curl # 37 - "Die Datei /media/CentOS/repodata/repomd.xml konnte nicht geöffnet werden" file: /// media/cdrom /repodata/repomd.xml: [Errno 14] curl # 37 - "Die Datei /media/cdrom/repodata/repomd.xml konnte nicht geöffnet werden" file: ///media/cdrecorder/repodata/repomd.xml: [Errno 14] curl # 37 - "Datei konnte nicht geöffnet werden /media/cdrecorder/repodata/repomd.xml" 'Ich teste das auf Docker, weil ich Mac verwende. Ist das der Grund, warum ich den Fehler bekommen habe? Vielen Dank! –

+0

Sie können jedes Repo zur Laufzeit deaktivieren, indem Sie 'yum --enablerepo = * --disablerepo = c7-media install my' ausführen. Sie können auch nur Ihr eigenes Repo verwenden, 'yum --enablerepo = my_repo install my'. Sie können auch einen Repo innerhalb '/ etc/yum.repos.d/name.repo' deaktivieren und' enabled = 0' markieren. – iamauser

+0

Nur kleine Korrektur - Sie sollten 'createrepo_c' wenn möglich verwenden. Es läuft viel schneller. – msuchy

Verwandte Themen