RPM (gestionnaire de paquets RedHat) est un système de gestion de paquets pour les systèmes basés sur RHEL. Vous avez peut-être vu que tous les packages des systèmes basés sur Redhat ont l'extension .rpm . Ce tutoriel vous aidera à créer des RPM pour votre propre script
J'avais créé un script pour effectuer une sauvegarde de la base de données. Aujourd'hui, j'ai créé un fichier RPM de ce script. Il s'agit de mon premier RPM créé. Voici les étapes que je suis pour le faire.
Étape 1 - Installer les packages requis
Tout d'abord, vous devez installer les packages requis sur votre système pour créer des fichiers rpm.
$ yum install rpm-build rpmdevtools
Étape 2 - Créer une structure de répertoire
Accédez au répertoire d'accueil des utilisateurs et créez la structure de répertoires requise à l'aide de la commande ci-dessous.
$ rpmdev-setuptree
La commande ci-dessus créera une structure de répertoire comme ci-dessous.
$ 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
Dans le cas rpmdev-setuptree la commande n'a pas réussi à créer la structure, vous pouvez la créer manuellement
$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,tmp}
Étape 3 - Créer un fichier rpmmacro
Créez maintenant le fichier ~/.rpmmacros, avec le contenu suivant. Modifier les valeurs des noms surlignés en rouge
~/.rpmmacros
%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
Étape 4 - Copier les fichiers sous le répertoire SOURCES
Copiez tous vos dossiers de fichiers et de scripts dans ~/rpmbuild/SOURCES répertoire, que nous devons ajouter dans le fichier rpm. Pour ce tutoriel, j'ai utilisé tous les fichiers créés dans notre tutoriel Advance Bash Script pour MySQL.
$ 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
Créez une archive tar de votre code.
$ tar czf mydumpadmin-1.0.tar.gz mydumpadmin-1
Étape 5 - Créer un fichier SPEC
Créez un fichier de spécification ~/rpmbuild/SPECS/mydumpadmin.spec en utilisant le contenu ci-dessous.
~/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
Modifiez le nom du package, le chemin du script, le nom de l'archive, la description, etc., selon vos besoins.
Étape 6 :Créer un RPM
Après avoir terminé les étapes ci-dessus, construisons votre rpm en exécutant la commande suivante.
$ cd ~/rpmbuild $ rpmbuild -ba SPECS/mydumpadmin.spec
Après une construction réussie, un fichier rpm sera créé comme ~/rpmbuild/RPMS/noarch/mydumpadmin-1-0.noarch.rpm
Installez votre rpm en utilisant la commande ci-dessous. Après la vérification de l'installation, les fichiers sont correctement installés à l'emplacement défini.
$ rpm -ivh mydumpadmin-1-0.noarch.rpm
Merci d'avoir utilisé cet article. J'espère que les étapes ci-dessus vous aideront à créer votre propre RPM.