RPM (RedHat Package Manager) ist ein Paketverwaltungssystem für RHEL-basierte Systeme. Sie haben vielleicht gesehen, dass alle Pakete in Redhat-basierten Systemen die Erweiterung .rpm haben . Dieses Tutorial hilft Ihnen dabei, RPM für Ihr eigenes Skript zu erstellen
Ich hatte ein Skript erstellt, um eine Datenbanksicherung durchzuführen. Heute habe ich eine RPM-Datei dieses Skripts erstellt. Dies ist mein erstes erstelltes RPM. Unten sind die Schritte, denen ich folge, um es zu tun.
Schritt 1 – Erforderliche Pakete installieren
Zunächst müssen Sie die erforderlichen Pakete auf Ihrem System installieren, um RPM-Dateien zu erstellen.
$ yum install rpm-build rpmdevtools
Schritt 2 – Verzeichnisstruktur erstellen
Gehen Sie zum Home-Verzeichnis des Benutzers und erstellen Sie die erforderliche Verzeichnisstruktur mit dem folgenden Befehl.
$ rpmdev-setuptree
Der obige Befehl erstellt eine Verzeichnisstruktur wie unten.
$ ls -l rpmbuild drwxr-xr-x 2 root root 6 Oct 25 03:09 BUILD drwxr-xr-x 2 root root 6 Oct 25 03:09 RPMS drwxr-xr-x 2 root root 6 Oct 25 03:09 SOURCES drwxr-xr-x 2 root root 6 Oct 25 03:09 SPECS drwxr-xr-x 2 root root 6 Oct 25 03:09 SRPMS
Falls rpmdev-setuptree Befehl konnte die Struktur nicht erstellen, Sie können sie manuell erstellen
$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,tmp}
Schritt 3 – RPM-Makrodatei erstellen
Erstellen Sie nun eine ~/.rpmmacros-Datei mit folgendem Inhalt. Ändern Sie die Werte von rot markierten Namen
~/.rpmmakros
%packagerYOUR_NAME %_topdir %(echo $HOME)/rpmbuild %_smp_mflags %( \ [ -z "$RPM_BUILD_NCPUS" ] \\\ && RPM_BUILD_NCPUS="`/usr/bin/nproc 2>/dev/null || \\\ /usr/bin/getconf _NPROCESSORS_ONLN`"; \\\ if [ "$RPM_BUILD_NCPUS" -gt 16 ]; then \\\ echo "-j16"; \\\ elif [ "$RPM_BUILD_NCPUS" -gt 3 ]; then \\\ echo "-j$RPM_BUILD_NCPUS"; \\\ else \\\ echo "-j3"; \\\ fi ) %__arch_install_post \ [ "%{buildarch}" = "noarch" ] || QA_CHECK_RPATHS=1 ; \ case "${QA_CHECK_RPATHS:-}" in [1yY]*) /usr/lib/rpm/check-rpaths ;; esac \ /usr/lib/rpm/check-buildroot
Schritt 4 – Dateien im SOURCES-Verzeichnis kopieren
Kopieren Sie alle Ihre Dateien und Skriptordner in ~/rpmbuild/SOURCES Verzeichnis, das wir in der RPM-Datei hinzufügen müssen. Für dieses Tutorial habe ich alle Dateien verwendet, die in unserem Tutorial Advance Bash Script for MySQL erstellt wurden.
$ cd ~/rpmbuild/SOURCES $ ls -l mydumpadmin-1 -rw-r--r-- 1 root root 125 Oct 25 03:54 credentials.txt -rw-r--r-- 1 root root 4693 Oct 25 03:54 mysql-dump.sh -rw-r--r-- 1 root root 1008 Oct 25 03:54 README.md -rw-r--r-- 1 root root 3445 Oct 25 03:54 settings.conf
Erstellen Sie einen Tarball Ihres Codes.
$ tar czf mydumpadmin-1.0.tar.gz mydumpadmin-1
Schritt 5 – SPEC-Datei erstellen
Erstellen Sie eine Spezifikationsdatei ~/rpmbuild/SPECS/mydumpadmin.spec Verwendung des folgenden Inhalts.
~/rpmbuild/SPECS/mydumpadmin.spec
Name: mydumpadmin Version: 1 Release: 0 Summary: An Advance Bash Script for MySQL Database Backup Group: TecAdmin BuildArch: noarch License: GPL URL: https://github.com/tecrahul/mydumpadmin.git Source0: mydumpadmin-1.0.tar.gz %description Write some description about your package here %prep %setup -q %build %install install -m 0755 -d $RPM_BUILD_ROOT/etc/mydumpadmin install -m 0600 credentials.txt $RPM_BUILD_ROOT/etc/mydumpadmin/credentials.txt install -m 0755 mysql-dump.sh $RPM_BUILD_ROOT/etc/mydumpadmin/mysql-dump.sh install -m 0644 README.md $RPM_BUILD_ROOT/etc/mydumpadmin/README.md install -m 0644 settings.conf $RPM_BUILD_ROOT/etc/mydumpadmin/settings.conf %files /etc/mydumpadmin /etc/mydumpadmin/credentials.txt /etc/mydumpadmin/mysql-dump.sh /etc/mydumpadmin/README.md /etc/mydumpadmin/settings.conf %changelog * Tue Oct 24 2017 Rahul Kumar1.0.0 - Initial rpm release
Ändern Sie den Paketnamen, den Skriptpfad, den Archivnamen, die Beschreibung usw. gemäß Ihren Anforderungen.
Schritt 6 – RPM aufbauen
Nachdem Sie die obigen Schritte ausgeführt haben, können Sie Ihre RPM erstellen, indem Sie den folgenden Befehl ausführen.
$ cd ~/rpmbuild $ rpmbuild -ba SPECS/mydumpadmin.spec
Nach erfolgreicher Erstellung wird eine RPM-Datei wie ~/rpmbuild/RPMS/noarch/mydumpadmin-1-0.noarch.rpm erstellt
Installieren Sie Ihre RPM mit dem folgenden Befehl. Nach der Installationsprüfung werden die Dateien ordnungsgemäß als definierter Speicherort installiert.
$ rpm -ivh mydumpadmin-1-0.noarch.rpm
Vielen Dank für die Verwendung dieses Artikels. Ich hoffe, die obigen Schritte helfen Ihnen, Ihre eigene RPM zu erstellen.