Rpm Paket Basis: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „= Grundlegendes = * Ein '''RPM-Paket''' ist ein Paketformat, das in Red Hat-basierten Linux-Distributionen wie Fedora und SUSE verwendet wird. * Um ein RPM-Pa…“) |
|||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 3: | Zeile 3: | ||
* Um ein RPM-Paket zu erstellen, benötigen Sie die folgenden Komponenten: | * Um ein RPM-Paket zu erstellen, benötigen Sie die folgenden Komponenten: | ||
* '''sudo -i''' | * '''sudo -i''' | ||
| + | *'''dnf install epel-release''' | ||
* '''dnf install fedora-packager rpmdevtools gcc''' | * '''dnf install fedora-packager rpmdevtools gcc''' | ||
| Zeile 17: | Zeile 18: | ||
└── SRPMS | └── SRPMS | ||
| − | * | + | |
| − | * | + | ;BUILD: |
| − | * | + | *Dieses Verzeichnis enthält die Verzeichnisse und Dateien, die während des Build-Prozesses erstellt werden. |
| − | * | + | *Hier werden die Quellcode-Dateien entpackt, Kompilierungs- und Build-Vorgänge durchgeführt und die resultierenden Artefakte generiert. |
| + | ;BUILDROOT: | ||
| + | *In diesem Verzeichnis wird das Build-Root-Verzeichnis erstellt. | ||
| + | *Es enthält die vollständige Verzeichnisstruktur, die für die Installation des Pakets erforderlich ist. | ||
| + | *Die Dateien und Verzeichnisse in diesem Verzeichnis entsprechen der Verzeichnisstruktur des Zielsystems, auf dem das Paket installiert wird. | ||
| + | ;RPMS: | ||
| + | *Dieses Verzeichnis enthält die generierten RPM-Pakete nach dem Build-Prozess. | ||
| + | *Es können mehrere RPM-Pakete vorhanden sein, abhängig von den angegebenen Build-Konfigurationen und den Zielarchitekturen. | ||
| + | ;SOURCES: | ||
| + | *Hier werden die Quellcode-Dateien und zusätzliche Ressourcen abgelegt, die für den Build-Prozess verwendet werden. | ||
| + | *Dies kann das Hauptquellcodearchiv, Patches, Konfigurationsdateien oder andere Dateien enthalten, die für den Build benötigt werden. | ||
| + | ;SPECS: | ||
| + | *In diesem Verzeichnis befindet sich die RPM-Spezifikationsdatei (.spec), die die Anweisungen für den Build-Prozess enthält. | ||
| + | *Diese Datei definiert die Metadaten des Pakets wie Name, Version, Abhängigkeiten, Build-Anweisungen und Installationsanweisungen. | ||
| + | ;SRPMS: | ||
| + | *Hier werden die generierten Source-RPMs (SRPMs) gespeichert. | ||
| + | *Ein SRPM enthält den Quellcode des Pakets sowie die spezifischen Anweisungen zum Erstellen des RPM-Pakets. | ||
| + | *SRPMs werden normalerweise verwendet, um das Quellpaket zu verteilen und den Build-Prozess auf anderen Systemen zu reproduzieren. | ||
Aktuelle Version vom 19. Juli 2024, 07:03 Uhr
Grundlegendes
- Ein RPM-Paket ist ein Paketformat, das in Red Hat-basierten Linux-Distributionen wie Fedora und SUSE verwendet wird.
- Um ein RPM-Paket zu erstellen, benötigen Sie die folgenden Komponenten:
- sudo -i
- dnf install epel-release
- dnf install fedora-packager rpmdevtools gcc
Anlegen der Entwicklungsumgebung
- rpmdev-setuptree
- Dieser Befehl ist ein Shell-Skript, welches eine Ordnerstruktur im Homeverzeichnis des Benutzers anlegt
rpmbuild/ ├── BUILD ├── BUILDROOT ├── RPMS ├── SOURCES ├── SPECS └── SRPMS
- BUILD
- Dieses Verzeichnis enthält die Verzeichnisse und Dateien, die während des Build-Prozesses erstellt werden.
- Hier werden die Quellcode-Dateien entpackt, Kompilierungs- und Build-Vorgänge durchgeführt und die resultierenden Artefakte generiert.
- BUILDROOT
- In diesem Verzeichnis wird das Build-Root-Verzeichnis erstellt.
- Es enthält die vollständige Verzeichnisstruktur, die für die Installation des Pakets erforderlich ist.
- Die Dateien und Verzeichnisse in diesem Verzeichnis entsprechen der Verzeichnisstruktur des Zielsystems, auf dem das Paket installiert wird.
- RPMS
- Dieses Verzeichnis enthält die generierten RPM-Pakete nach dem Build-Prozess.
- Es können mehrere RPM-Pakete vorhanden sein, abhängig von den angegebenen Build-Konfigurationen und den Zielarchitekturen.
- SOURCES
- Hier werden die Quellcode-Dateien und zusätzliche Ressourcen abgelegt, die für den Build-Prozess verwendet werden.
- Dies kann das Hauptquellcodearchiv, Patches, Konfigurationsdateien oder andere Dateien enthalten, die für den Build benötigt werden.
- SPECS
- In diesem Verzeichnis befindet sich die RPM-Spezifikationsdatei (.spec), die die Anweisungen für den Build-Prozess enthält.
- Diese Datei definiert die Metadaten des Pakets wie Name, Version, Abhängigkeiten, Build-Anweisungen und Installationsanweisungen.
- SRPMS
- Hier werden die generierten Source-RPMs (SRPMs) gespeichert.
- Ein SRPM enthält den Quellcode des Pakets sowie die spezifischen Anweisungen zum Erstellen des RPM-Pakets.
- SRPMs werden normalerweise verwendet, um das Quellpaket zu verteilen und den Build-Prozess auf anderen Systemen zu reproduzieren.