RPM (RedHat Package Manager) je systém správy balíčků pro systémy založené na RHEL. Možná jste viděli, že všechny balíčky v systémech založených na Redhat mají příponu .rpm . Tento tutoriál vám pomůže vytvořit RPM pro váš vlastní skript
Vytvořil jsem skript pro zálohování databáze. Dnes jsem vytvořil soubor RPM tohoto skriptu. Toto je můj první vytvořený RPM. Níže jsou uvedeny kroky, kterými se řídím.
Krok 1 – Instalace požadovaných balíčků
Nejprve musíte nainstalovat požadované balíčky na váš systém, abyste vytvořili soubory rpm.
$ yum install rpm-build rpmdevtools
Krok 2 – Vytvoření adresářové struktury
Přejděte do domovského adresáře uživatelů a pomocí níže uvedeného příkazu vytvořte požadovanou adresářovou strukturu.
$ rpmdev-setuptree
Výše uvedený příkaz vytvoří adresářovou strukturu jako níže.
$ 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
V případě rpmdev-setuptree příkazu se nepodařilo vytvořit strukturu, můžete ji vytvořit ručně
$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,tmp}
Krok 3 – Vytvořte soubor rpmmacro
Nyní vytvořte soubor ~/.rpmmacros s následujícím obsahem. Změňte hodnoty červeně zvýrazněných názvů
~/.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
Krok 4 – Zkopírujte soubory do adresáře SOURCES
Zkopírujte všechny soubory a složku skriptů do ~/rpmbuild/SOURCES adresář, který musíme přidat do souboru rpm. V tomto tutoriálu jsem použil všechny soubory vytvořené v našem tutoriálu Advance Bash Script pro 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
Vytvořte tarball svého kódu.
$ tar czf mydumpadmin-1.0.tar.gz mydumpadmin-1
Krok 5 – Vytvořte soubor SPEC
Vytvořte soubor specifikace ~/rpmbuild/SPECS/mydumpadmin.spec pomocí níže uvedeného obsahu.
~/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
Změňte název balíčku, cestu skriptu, název archivu, popis atd. podle vašich požadavků.
Krok 6 – Vytvořte RPM
Po dokončení výše uvedených kroků vám umožní sestavit vaše otáčky za minutu provedením následujícího příkazu.
$ cd ~/rpmbuild $ rpmbuild -ba SPECS/mydumpadmin.spec
Po úspěšném sestavení se vytvoří soubor rpm jako ~/rpmbuild/RPMS/noarch/mydumpadmin-1-0.noarch.rpm
Nainstalujte svůj rpm pomocí níže uvedeného příkazu. Po kontrole instalace jsou soubory správně nainstalovány do definovaného umístění.
$ rpm -ivh mydumpadmin-1-0.noarch.rpm
Děkujeme, že používáte tento článek. Doufám, že výše uvedené kroky vám pomohou vytvořit si vlastní otáčky za minutu.