fixed-widthfluid-width

Menyusun RPM di Home Direktori
Category: Linux,Personal,Tutorial
Tags:

Tulisan ini merupakan posting saya di website BaLUNg.

Atas saran Dheche di blogku untuk tidak membiasakan recompile rpm dengan user root akhirnya aku cari tutorialnya untuk melakukan kompilasi rpm di home direktori. Ini sebenernya jadul banget, tapi ya sapa tau aja bisa berguna buat yang lain kali ya :)

Dheche bilang gak baik buat ‘kesehatan’ kalo sering melakukan kompilasi dengan user root. Kenapa bisa begitu? Kalo menurut aku, ini sih sama persis waktu kita melakukan "./configure" dan "make" pada kompilasi berkas tar.gz. Aku sendiri kurang paham, tapi sepertinya ini berkaitan dengan permission dan ownership file. Mungkin, kalo sebuah source code dikompilasi dengan menggunakan user root, maka file tersebut akan memiliki uid root. Dengan kata lain, misalkan file tersebut sudah menjadi binary dan ternyata memiliki hole buffer overflow, maka ketika file tersebut di exploit akan meloncat ke uid root. *Dheche dan temen-temen yang lain, koreksi ini kalo aku salah ya*

Oke, kita langsung aja ke tutorialnya.

Pertama, kita harus buat dulu direktori sources rpm di home dir kita:

[dgk@dgk ~]$ pwd
/home/dgk
[dgk@dgk ~]$ mkdir myrpm \
> myrpm/BUILD \
> myrpm/RPMS \
> myrpm/RPMS/i386 \
> myrpm/SOURCES \
> myrpm/SPECS \
> myrpm/SRPMS
[dgk@dgk ~]$

Selanjutnya, kita akan mengarahkan rpm agar bisa membaca dan mengetahui direktori myrpm sebagai direktori berkas srpm. Cara yang dilakukan adalah dengan membuat file .rpmmacros yang berisikan %_topdir <path>. <path> adalah direktori rpm yang kita inginkan, seperti contoh diatas <path> adalah /home/dgk/myrpm.

[dgk@dgk ~]$ echo "%_topdir /home/dgk/myrpm" > .rpmmacros

Nah, sekarang silakan coba lakukan kompilasi untuk berkas-berkas srpm, seharusnya nanti akan diletakkan di home/dgk/myrpm/RPMS/i386 :)

Selamat mencoba!

Update dari Komentar Dheche pada website BaLUNg:

Betul memang proses pembuatan paket binary rpm baik yg berasal dr source rpm maupun tar.[gz|bz2] sama persis dengan langkah kompilasi konvensional, soalnya rpmbuild itu juga mengeksekusi ./configure dan make ditambah dengan langkah2 persiapan lainnya (misalnya patching) dan sekaligus juga ada langkah2 pre/post [un]install nya sekaligus.

Nah proses building ini sebenernya mengeksekusi BANYAK perintah lainnya, ada kalanya proses ini tdk berjalan sebagaimana yg diharapkan (misalnya waktu dia sdg dlm proses persiapan dan harus menghapus berkas tertentu), misalnya kita menggunakan akun root maka dpt dibayangkan apabila terjadi kesalahan waktu menghapus berkas, bisa2 berkas penting yg ada di sistem kita terhapus secara tdk sengaja. Dengan memakai regular (non priv) user, kejadian seperti ini bisa diminimalkan. Kalalupun sampai terjadi kesalahan, sistem secara keseluruhan tdk akan terpengaruh. (paling nanti cuma keluar permission denied doang…heheheheh, kalo pake root mah ya langsung bablas)

Btw, pembuatan struktur direktori di homedir kita jg bisa lebih simpel..
cp -ar /usr/src/redhat ~
(kalo ditulis manual suka salah spellingnya, maklum udah uzur)

Selamat menjadi rakyat biasa
:D

October 24, 2006 @ 4:58 pm

1 Comment

#1 Comment by Indra Wahyudi :
On October 24, 2006 5:06 pm Mozilla Firefox 1.0.7 Windows XP

Pertama!!!
*lirik JD*

Post a Comment


*Required


*Required


Optional

Comments:

This is not spam

Comment Guidelines: Basic XHTML is allowed (a href, strong, em, code). Line breaks and paragraphs are automatically generated. Off-topic or inappropriate comments will be edited or deleted. Email addresses will never be published. RSS feed for comments on this post. . Thanks.