GNU/Linux >> Belajar Linux >  >> Linux

Cara Membuat Paket RPM dari Tarball

RPM , Awalnya adalah Pengelola Paket Topi Merah , adalah sistem manajemen paket sumber terbuka dan gratis yang dibuat untuk digunakan di Red Hat Linux. Namun, RPM digunakan di banyak distribusi Linux seperti CentOS , Fedora , Oracle Linux . Paket RPM dilengkapi dengan ekstensi .rpm .

Terkadang Anda dapat mengakses file kode sumber tetapi Anda mungkin tidak memiliki paket RPM yang tersedia untuk diinstal di sistem Anda. Dalam skenario ini, Anda dapat mengompilasi kode sumber dan menginstal aplikasi, atau membuat paket RPM dari kode sumber dan menggunakan file RPM untuk menginstal aplikasi di sistem Anda.

Dalam artikel ini, kita akan mempelajari cara membuat paket RPM dari kode sumber aplikasi.

Instal Paket rpm-build

Untuk membangun paket rpm, Anda perlu menginstal rpmbuild paket dengan perintah berikut.

$ sudo yum install rpm-build

Setelah instalasi, verifikasi versi rpmbuild menggunakan perintah berikut:

$ sudo rpmbuild --version

Anda akan mendapatkan output seperti:

Buat Struktur Direktori

Anda mungkin perlu membuat direktori yang diperlukan rpmbuild untuk menyimpan file sumber Anda di direktori yang benar sebelum rpmbuild mengeluhkan direktori yang hilang, lebih baik buat direktori ini secara manual.

$ sudo mkdir {~/rpmbuild,~/rpmbuild/BUILD,~/rpmbuild/BUILDROOT,~/rpmbuild/RPMS,~/rpmbuild/SOURCES,~/rpmbuild/SPECS,~/rpmbuild/SRPMS}

Anda dapat memverifikasi struktur direktori menggunakan perintah pohon.

$ tree rpmbuild/

Unduh File Tar Sumber

Sekarang Anda perlu mengunduh file kode sumber untuk paket yang ingin Anda buat file rpm. Langkah-langkahnya mirip dengan membangun RPM untuk aplikasi lain. Anda perlu mendapatkan kode sumber aplikasi untuk RPM yang akan Anda buat.

Navigasikan ke “SUMBER ” dan unduh kode sumber aplikasi. Dalam contoh ini, saya akan membuat sampel saya sendiri untuk membuat file rpm.

$ cd rpmbuild/SOURCES
$ sudo wget https://github.com/apache/httpd/archive/2.4.28.tar.gz%20-O%20httpd-2..4.28.tar.gz

Buat File SPEC

Dalam SPEC file, instruksi dan informasi yang diperlukan untuk membangun paket rpm telah ditentukan. SPEC file memiliki ekstensi file .spec dan berisi dependensi build dan dependensi runtime. Ketergantungan build adalah perangkat lunak yang diperlukan untuk mengkompilasi program yang kita inginkan untuk membuat paket RPM dan dependensi build adalah library yang diperlukan agar program dapat berjalan dengan benar.

File SPEC terdiri dari dua bagian makro dan mereka adalah Pembukaan dan Tubuh . Di bagian makro ini, instruksi yang berbeda dapat ditentukan.

Pembukaan bagian mungkin berisi petunjuk berikut:

Name: Name of the package
Version: Version of the package
URL: The URL of the application
Release: Release version of the package
License: License used for the package
Requires: Dependencies needed to run the software

Tubuh bagian berisi petunjuk berikut:

%description: Description of the software package
%prep: Command needed to prepare source code.
%files: List of the files received from the package

Sekarang, buat file SPEC dan simpan di direktori rpmbuild/SPECS . Dalam contoh ini, saya telah membuat test-application.spec contoh file untuk membuat test-application-1.0 paket rpm.

$ cd rpmbuild
$ cd SPECS
$ sudo vi test-application.spec

Tempel konten berikut dan ubah sesuai kebutuhan Anda.

Name: test-application
Version: 1.0                                                          
Release: 1%{?dist} 
Summary: Test application script
Group: Miscellaneous   
License: License text
Source0: test-application-1.0.tar.gz 
BuildArch: noarch                                                          
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%description
This is test application
%prep
%setup -q
%build
# %configure                       
# make %{?_smp_mflags}               
%install
rm -rf $RPM_BUILD_ROOT
# make install DESTDIR=$RPM_BUILD_ROOT    
install -d -m 0755 $RPM_BUILD_ROOT/opt/test-application
install -m 0755 HelloWorld.sh $RPM_BUILD_ROOT/opt/test-application/test-application-1.0.sh
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
# %doc
/opt/test-application/test-application-1.0.sh
%changelog

Simpan file dan keluar.

Membangun dan Menginstal Paket RPM

Setelah SPEC file telah dibuat, buat paket rpm dengan rpmbuild perintah.

$ sudo rpmbuild -ba rpmbuild/SPECS/test-application.spec

Dengan asumsi bahwa Anda tidak menemukan kesalahan apa pun, file rpm akan dibuat di RPMS/noarch direktori siap untuk instalasi. Untuk menginstal file RPM yang dibuat, jalankan perintah berikut.

$ rpm -ivh rpmbuild/RPMS/noarch/test-application-1.0-1.el7.noarch.rpm

Sekarang untuk memverifikasi instalasi RPM Anda, jalankan perintah berikut.

$ rpm -qa | grep test-application-1.0

Untuk menghapus paket RPM, jalankan perintah berikut:

$ yum remove <rpm-package-name>

Dalam contoh ini, saya telah menghapus test-application-1.0 paket sebagai:

$ sudo yum remove test-application-1.0-1.el7.noarch
Kesimpulan

Pada artikel ini, Anda telah belajar tentang cara membuat paket RPM menggunakan tarball. Selain itu, Anda mendapatkan ide tentang membuat file SPEC, menginstal paket RPM, dan menghapus paket RPM yang diinstal.


Linux
  1. Cara membuat paket RPM Linux

  2. Cara Membuat USB Bootable Linux dari Baris Perintah Linux

  3. Bagaimana Cara Membuat Vm Dari Awal Dengan Virsh?

  1. Bagaimana Cara Membuat Paket Debian Sederhana Dari Biner?

  2. Cara memeriksa integritas paket rpm di Linux

  3. Cara menghapus instalan neovim dari Ubuntu

  1. Cara Mendaftar File yang Diinstal Dari Paket RPM atau DEB di Linux

  2. Cara menghapus instalan rhythmbox-plugin dari Ubuntu

  3. Cara menghapus instalan uap dari Ubuntu