Ich möchte nur eine RPM-Datei erstellen, um meine Linux-Binärdatei "foobar" mit nur wenigen Abhängigkeiten zu verteilen. Es hat eine Konfigurationsdatei, /etc/foobar.conf und sollte in / usr / bin / foobar installiert werden.
Leider ist die Dokumentation für RPM 27 Kapitel lang und ich habe wirklich keinen Tag, um mich hinzusetzen und dies zu lesen, da ich auch damit beschäftigt bin, .deb- und EXE-Installationsprogramme für andere Plattformen zu erstellen.
Was ist das absolute Minimum, das ich tun muss, um eine Drehzahl zu erstellen? Angenommen, die foobar-Binärdatei und die foobar.conf befinden sich im aktuellen Arbeitsverzeichnis.
Antworten:
Ich mache oft binäre U / min pro Verpackung proprietärer Apps - auch meistens als Websphere - unter Linux. Meine Erfahrung könnte also auch für Sie nützlich sein, außerdem wäre es besser, eine WAHRE U / min zu machen, wenn Sie können. Aber ich schweife ab.
Der grundlegende Schritt zum Packen Ihres (binären) Programms ist also folgender: Ich nehme an, das Programm ist toybinprog mit Version 1.0, muss ein conf in /etc/toybinprog/toybinprog.conf installieren und muss ein bin installiert werden in / usr / bin heißt tobinprog:
1. Erstellen Sie Ihre RPM-Build-Umgebung für RPM <4.6.4.7
2. Erstellen Sie den Tarball Ihres Projekts
3. Kopieren Sie in das Quellenverzeichnis
4. Erstellen Sie die Quelle und die binäre Drehzahl
Und das ist alles.
Ich hoffe das hilft
quelle
sudo dnf install rpm-build
- Fedora 23 Befehl für die Installation von rpmbuild v4.13 +Als Anwendungsverteiler klingt fpm perfekt für Ihre Anforderungen . Hier ist ein Beispiel, das zeigt, wie eine App aus dem Quellcode gepackt wird. FPM kann sowohl Deb-Dateien als auch RPM-Dateien erstellen.
quelle
Informationen zum schnellen Erstellen von Drehzahlen finden Sie in Togo:
https://github.com/genereese/togo-rpm
Das Projekt verfügt über eine Kurzanleitung und ich konnte in weniger als 3 Minuten eine grundlegende Drehzahl erstellen.
Beispiel unter Verwendung der in der ursprünglichen Frage angegebenen Daten:
1) Erstellen Sie das Projektverzeichnis mit dem Skript:
2) Erstellen Sie unter ./root die gewünschte Verzeichnisstruktur und kopieren Sie Ihre Dateien hinein:
3) Schließen Sie systemeigene Verzeichnisse vom Besitz Ihres RPM aus:
4) (OPTIONAL) Ändern Sie die generierte Spezifikation, um Ihre Paketbeschreibung / Abhängigkeiten / Version / was auch immer zu ändern usw.:
5) Erstellen Sie die Drehzahl:
-und Ihre RPM wird in das Verzeichnis ./rpms ausgespuckt.
quelle
Ebenso musste ich mit nur wenigen Dateien eine Drehzahl erstellen. Da diese Dateien quellengesteuert waren und es albern schien, wollte ich sie nicht tarieren, nur um sie mit U / min zu entpacken. Ich habe mir Folgendes ausgedacht:
Richten Sie Ihre Umgebung ein:
mkdir -p ~/rpm/{BUILD,RPMS}
echo '%_topdir %(echo "$HOME")/rpm' > ~/.rpmmacros
Erstellen Sie Ihre Spezifikationsdatei foobar.spec mit den folgenden Inhalten:
Bauen Sie Ihre Drehzahl auf:
rpmbuild -bb foobar.spec
Es gibt dort ein wenig Hackery, das die 'Quelle' als Ihr aktuelles Verzeichnis angibt, aber es schien weitaus eleganter als die Alternative, in meinem Fall ein separates Skript zu schreiben, um einen Tarball usw. usw. zu erstellen.
Hinweis: In meiner speziellen Situation wurden meine Dateien in Ordnern so angeordnet, wie sie benötigt wurden:
und so wurde der Vorbereitungsabschnitt:
Welches ist ein wenig sauberer.
Außerdem bin ich zufällig auf einem RHEL5.6 mit RPM-Versionen 4.4.2.3, sodass Ihr Kilometerstand variieren kann.
quelle
$RPM_BUILD_ROOT
tun%{buildroot}
, damit es auf meinem "Red Hat Enterprise Linux Server Release 6.9" funktioniert. Außerdem mussten sich die beiden installierten Dateien im aktuellen Verzeichnis befinden, als ich rpmbuild ausführte. Ich habe es auf meinem anderen Computer installiert mit:sudo rpm -Uvh --nodeps foobar-0.1a-1.x86_64.rpm
Wenn es
make config
für Ihr Programm funktioniert oder Sie ein Shell-Skript haben, das Ihre beiden Dateien an den entsprechenden Ort kopiert, können Sie checkinstall verwenden . Gehen Sie einfach in das Verzeichnis, in dem sich Ihr Makefile befindet, und rufen Sie es mit dem Parameter-R
(für RPM ) und optional mit dem Installationsskript auf.quelle
Einfache Möglichkeit, ein RPM-Paket aus einer Binärdatei zu erstellen (diese Schritte wurden mit Fedora 18 getestet):
1) Zuerst müssen Sie rpmdevtools installieren, führen Sie also diese Befehle aus (Achtung: Als normaler Benutzer ausführen)
2) Erstellen Sie im Ordner ~ / rpmbuild / SPECS eine neue Datei: package_name.spec
3) Öffnen Sie es mit einem Editor (wie gedit) und schreiben Sie Folgendes:
4) Erstellen Sie ~ / rpmbuild / BUILDROOT / package_name-version-release.i386 und reproduzieren Sie die Pfade, in denen die Dateien abgelegt werden. In diesem Fall erstellen Sie beispielsweise:
5) Legen Sie in diesen Ordnern die Dateien ab, die Sie in das Paket einfügen möchten:
usr / share / pixmaps / package_name.png ist das Symbol der Binärdatei usr / share / applications / package_name.desktop sind die Regeln zum Einfügen des Programms in die Menüeinträge
6) package_name.desktop muss folgendermaßen aussehen:
Folgende Kategorien stehen zur Verfügung :standards.freedesktop.org/menu-spec/latest/apa.html
7) Ausführen
$ rpmbuild -bb ~/rpmbuild/SPECS/package_name.spec
8) Ihr Paket wurde in den Ordner ~ / rpmbuild / RPMS integriert
Wenn Sie dieses Paket installieren, ist es installiert:
Vielen Dank an: losurs.org/docs/tips/redhat/binary-rpms
Weitere Informationen zum Erstellen der Drehzahl finden Sie unter diesem Link .
GUI-Java-Software zum Erstellen von RPM: https://sourceforge.net/projects/javarpmbuilder/
quelle
Wenn Sie mit Maven dort auch vertraut
rpm-maven-plugin
sind,pom.xml
was das Erstellen von RPMs vereinfacht: Sie müssen nur schreiben, welche dann zum Erstellen von RPMs verwendet werden. Die RPM-Build-Umgebung wird implizit vom Plugin erstellt.quelle
Prozess zum Generieren von RPM aus der Quelldatei:
quelle
RPMs werden normalerweise aus der Quelle erstellt, nicht aus den Binärdateien.
Sie müssen die Spezifikationsdatei schreiben, in der beschrieben wird, wie Sie Ihre Anwendung konfigurieren und kompilieren. Außerdem, welche Dateien in Ihr RPM aufgenommen werden sollen.
Ein kurzer Blick auf das Handbuch zeigt, dass das meiste, was Sie benötigen, in Kapitel 8 behandelt wird. Da für die meisten RPM-basierten Distributionen Quellen verfügbar sind, gibt es buchstäblich eine Unmenge von Beispielen für verschiedene Ansätze, die Sie sich ansehen können.
quelle