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
%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
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 Kumar1.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.