GNU/Linux >> Znalost Linux >  >> Cent OS

Jak vytvořit RPM pro svůj vlastní skript v CentOS/RedHat

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

%packager YOUR_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 Kumar  1.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.


Cent OS
  1. Jak resetovat kořenové heslo MySQL na CentOS 6

  2. Jak vytvořit soubor Kickstart pro CentOS/Fedora/RedHat (RHEL)

  3. Jak nakonfigurovat úložiště YUM v Linux/Centos/Redhat | YUM v Linuxu/Centos/Redhat

  1. Jak nainstalovat Ntopng na CentOS 6

  2. Jak nainstalovat Habari na CentOS 7

  3. Jak vytvořit subdoménu pro svůj web

  1. Jak vytvořit uživatele Sudo na CentOS

  2. Jak zkontrolovat verzi CentOS

  3. Jak vytvořit vlastní úložiště pro balíčky v Debianu