MANAJEMEN PAKET BERBASIS TEXT RPM

Membuat Paket RPM

Bagi seorang administrator sistem Linux, tentunya tidak hanya diperlukan untuk mengerti konsep, teoritis dan praktik dalam manajemen paket dalam konteks instalasi dan uninstall saja, akan tetapi juga diperlukan keahlian untuk dapat membuat file paket RPM sendiri – paling tidak mengetahui.

Membuat paket RPM mudah dilakukan, terutama jika kita bisa mendapatkan software yang akan kita coba buat dengan mudah. Dalam membuat paket RPM, artikel ini tidak menjelaskan dengan rinci, sesuai dengan latar belakang dan tujuan penulisan artikel ini. Adapun hal-hal yang dasar dan perlu diketahui mengenai pemaketan (RPM Building) antara lain Prosedur dasar dari membangun sebuah paket RPM :

 Ambil source code yang diperlukan untuk dibangun RPM kedalam sistemg  Buat patch dari setiap perubahan yang kita harus buat atas source tersebut

agar dapat dibuat RPMnya dengan baik  Buat file spesifikasi untuk paket tersebut  Pastikan semuanya telah diletakkan ditempat yang benar

 Buat paket dengan menggunakan RPM Dalam operasi normal, RPM membangun paket source dan paket binary sekaligus.

Tips RPM

Untuk menguasai RPM, ada beberapa hal yang harus diperhatikan, antara lain:

 Know your enemy. The sources. Artinya source dari paket yang akan kita buat bisanya dimulai dengan tarball dari program yang akan dipaket. Langkah paling awal adalah menganalisa kebutuhannya untuk diinstall. Apakah penting dan memang perlu. Hampir sepanjang waktu, perintah `./configure`, `make` , `make install` telah dimasukkan dalam file INSTALL atau READ ME, namun kadangkala kita harus menambahkan argumen ekstra pada skrip configure, atau instalasi yang harus diselesaikan dengan cara tertentu.

Salah satu contoh dalam memproses perintah `./configure`, `make`, dan `make install` antara lain:

 Eksekusi skrip`./configure` secara manual dan coba untuk mengecek

beberapa libraries yang partikular untuk mengecek dependensi paket;  Eksekusi `./configure -help` untuk melihat apakah ada opsi khusus yang harus kita turn on atau off dalam proses membuat paket ini;  Eksekusi `make` pada saat configure selesai dan pastikan semuanya dikompilasi dengan bersih;  Eksekusi `make install` prefix=/var/tpm/namapaket` untuk melihat apakah mungkin untuk menginstalasi paket di tempat yang sementara. Jika

langkah make install ini tidak berhasil, maka coba lihat makefile jika `prefix=` tidak berjalan.

mengeksekusi 'make install DESTDIR=/var/tmp/namapaket` (sering dipakai). Ingat bahwa kita mungkin memerlukan semua file yang kita mau dimasukkan ke dalam paket untuk diinstal ke direktori `build root`, dimana lokasi file pada paket tersebut muncul sebagai `tujuan akhir`nya. Jika paket kita mengandung `/bin/Is`, seharusnya sudah diinstall sebelumnya pada `/var/tmp/namapaket/bin/is` oleh perintah terakhir kita.

Aturan dasar yang tidak boleh dilupakan adalah:

1. Jangan pernah membuat paket sebagai root. Gunakan account reguler kita;

2. Jangan pernah memodifikasi source murni (prinstine sources), membuat patch atau melakukan tweaks pada prinstine oturce tersebut.

Membangun RPM tanpa menjadi Root

Membuat ROM secara normal, memerluan kita untuk login sebagai root. Ada beberapa alasan untuk itu, yaitu:

 RPM menginstall software selama proses pemaketan (packaging), dan normalnya hanya root yang dapat menulis pada direktori instalasi  RPM diharapkan untuk read dan write dalam direktori di bawah /usr/src/redhat, dimana user biasa tidak dapat memodifikasinya.

Selain itu, masalah yang sering terhadi dalam menggunakan RPM adalah ketergantungan suatu paket denganyang lainnya, misalnya ketika menginstal paket

A, ternyata paket A memnutuhkan paket B, tetapi RPM akan memberitahu nama paket atau program yang diperlukan.

Cara menanggulanginya antara lain dengan mencatat nama paket atau program yang dibuthkan tersebut, kemudian cari pada CD distrbusinya, cari paket dengan nama yang mirip dengan nama paket atau program yang diperlukan tersebut. Ada kalanya paket yang diperlukan tersebut memerlukan paket lainnya lagi, sehingga proses ini mungkin akan menjadi panjang.

Cara lain yang dapat digunakan adalah dengan menggunakan situs RPMfind ( http://www.rpmfind.net ) atau RPMBone ( http://rpm.pbone.net ), ketikkan nama paket atau program yang diperlukan pada halaman utama situs tesebut, hasil pencarian akan menampilkan paket-paket yang berhubungan dengan paket yang dicari.

Situs tersebut juga dapat menampilkan informasi kebutuhan paket dari suatu paket RPM. Sesudah diketahui paket apa saja yang diperlukan, paket tersebut dapat di download pada situs tersebut atau dapat dicari pada CD distrbusinya.

Kadang dapat terjadi juga paket-paket yang saling membutuhkan, misalnya syarat untuk paket A dapat diinstal adalah paket B, tetapi ketika paket B akan diinstal, dia membutuhkan paket A, Hal ini dapat diatasi dengan menggunakan parameter – nodeps, contohnya :

#rpm ivh –nodeps namapaket.rpm Kadang juga dapat terjadi sebuah paket dengan versi yang sama atau lebih baru dilaporkan sudah terinstal, padahal paket tersbut belum terinstal, gunakan parameter force untuk memaksa instalasi paket tersebut :

#rpm ivh –force namapaket.rpm

Hati-hati dalam menggunakan parameter –nodeps dan -force karena kadang hal tersebut akan menyebabkan program tidak berjalan dengan baik.

Kadang sebuah paket gagal diinstal karena library yang ada di dalam sistem memiliki versi yang lebih baru daripada library yang diperlukan oleh paket tersebut. Hal ini biasanya dapat diatasi dengan membuat sebuah link (shortcut) dari library yang ada dalam sistem tersebut dengan nama yang sama dengan library yang diperlukan oleh paket yang akan diinstal. Misalnya sebuah paket RPM memerlukan library yang bernama library.so.3 , sedangkan library yang ada di dalam sistem adalah library.so.4 (versi yang lebih baru), untuk itu buat sebuah link dengan perintah sebagai berikut:

# In -s/usr/lib.so/3/usr/lib/y.so.4

Perintah di atas akan membuat sebuah file yang bernama library.so.3 yang merupakan link ke file library.so.4.

Setelah itu coba install sekali lagi paket RPM tersebut. Jika library yang ada dalam sistem memiliki versi yang lebih lama, maka library tersebut sebaiknya di upgrade. Masalah lain lagi yang jarang terjadi adalah masalah versi RPM, pada distrbusi linux versi lama, RPM yang digunakan adalah RPM versi 3 sedangkan dalam distribusi Linux yang baru, digunakan RPM versi 4. Paket yang di buat dengan menggunakan RPM versi 4 tidak dapat dibuka pada RPM versi 3. Jika hal ini terjadi, hal yang dapat dilakuan adalah mengupgrade RPM yang ada di dalam sistem tersebut dengan RPM versi 4. Saat tugas ini dibuat, RPM telah memasuki versi ke-5 (RPM 5.0)

Sebagai konklusi, langkah-langkah yang harus dilakukan dalam membangun paket RPM secara singkat adalah :

1. Menyiapkan File rpmrc

2. File spesifikasi

3. Header

4. Persiapan

5. Membangun (Build)

6. Memasang (Instal)

7. Pilihan Script Install/Uninstall pre dan post

8. File-file dan changelog

Dari langkah-langkah tersebut dapat saja kita tidak mematuhi atau secara urut satu demi satu, dikarenakan memang dalam membangun RPM itu sendiri tergantung dari si pembuat langkah yang penting untuk dilakukan. Singkatnya, langkah- langkah penting itu adalah langkah-langkah yang sudah penulis paparkan pada bab awal ini.