GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Membuat RPM untuk Skrip Anda Sendiri di CentOS/RedHat

RPM (Pengelola Paket RedHat) adalah sistem manajemen paket untuk sistem berbasis RHEL. Anda mungkin telah melihat bahwa semua paket dalam sistem berbasis Redhat memiliki ekstensi .rpm . Tutorial ini akan membantu Anda cara membuat RPM untuk skrip Anda sendiri

Saya telah membuat skrip untuk mengambil cadangan basis data, Hari ini saya telah membuat file RPM dari skrip itu, Ini adalah RPM pertama saya yang pernah dibuat. Berikut adalah langkah-langkah yang saya ikuti untuk melakukannya.

Langkah 1 – Instal Paket yang Diperlukan

Pertama-tama, Anda perlu menginstal paket yang diperlukan pada sistem Anda untuk membuat file rpm.

$ yum install rpm-build rpmdevtools

Langkah 2 – Buat Struktur Direktori

Buka direktori home pengguna, dan buat struktur direktori yang diperlukan menggunakan perintah di bawah ini.

$ rpmdev-setuptree

Perintah di atas akan membuat struktur direktori seperti di bawah ini.

$ 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

Jika rpmdev-setuptree perintah gagal membuat struktur, Anda dapat membuatnya secara manual

$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,tmp}

Langkah 3 – Buat File rpmmacro

Sekarang buat file ~/.rpmmacros, dengan konten berikut. Ubah nilai nama yang disorot merah

~/.rpmmacro

%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

Langkah 4 – Salin File di bawah Direktori SOURCES

Salin semua file dan folder skrip Anda di dalam ~/rpmbuild/SOURCES direktori, yang perlu kita tambahkan dalam file rpm. Untuk tutorial ini, saya telah menggunakan semua file yang dibuat dalam tutorial kami Advance Bash Script for 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

Buat tarball kode Anda.

$ tar czf mydumpadmin-1.0.tar.gz mydumpadmin-1

Langkah 5 – Buat File SPEC

Buat file spesifikasi ~/rpmbuild/SPECS/mydumpadmin.spec menggunakan konten di bawah ini.

~/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

Ubah nama paket, jalur skrip, nama arsip, deskripsi, dll, sesuai kebutuhan Anda.

Langkah 6 – Bangun RPM

Setelah menyelesaikan langkah-langkah di atas, mari buat rpm Anda dengan menjalankan perintah berikut.

$ cd ~/rpmbuild
$ rpmbuild -ba SPECS/mydumpadmin.spec

Setelah berhasil dibangun, file rpm akan dibuat seperti ~/rpmbuild/RPMS/noarch/mydumpadmin-1-0.noarch.rpm

Instal rpm Anda menggunakan perintah di bawah ini. Setelah pemeriksaan instalasi, file-file tersebut diinstal dengan benar sebagai lokasi yang ditentukan.

$ rpm -ivh mydumpadmin-1-0.noarch.rpm

Terima kasih telah menggunakan artikel ini. Saya harap langkah-langkah di atas akan membantu Anda membuat rpm Anda sendiri.


Cent OS
  1. Cara Mengatur Ulang Kata Sandi Root MySQL Anda di CentOS 6

  2. Cara Membuat File Kickstart Untuk CentOS/Fedora/RedHat (RHEL)

  3. Cara Membuat Subdomain Untuk Situs Web Anda

  1. Cara mengkonfigurasi repositori YUM di Linux/Centos/Redhat | YUM di Linux/Centos/Redhat

  2. Cara Install Ntopng di CentOS 6

  3. Cara Menginstal Habari di CentOS 7

  1. Cara Membuat Pengguna Sudo di CentOS

  2. Cara Memeriksa Versi CentOS Anda

  3. Cara Membuat Repositori Anda Sendiri untuk Paket di Debian