Manajemen Paket PDF Print E-mail
Written by Ahmad Fakhri   
Monday, 02 August 2010 11:31

Manajemen Paket menggunakan RedHat Packet Manager


Salah satu yang menjadi pertanyaan seorang pemula Linux adalah bagaimana saya menginstal program baru ke dalam komputer Linux saya?, bagaimana saya menghapus program bahkan bagaimana saya dapat mengupgrade program saya dengan versi yang lebih baru. Tips berikut akan menjelaskan bagaimana menggunakan RedHat Packet Manager, sebuah program manajemen paket yang dibuat oleh RedHat. Pada awalnya, penulis beranggapan bahwa menggunakan rpm tidak semudah menggunakan Add/Remove Program yang ada di windows. Belakangan anggapan tersebut ternyata salah, mengingat kelengkapan tool yang disediakan oleh rpm benar-benar menunjukkan bagaimana seharus perangkat lunak yang digunakan untuk melakukan manajemen paket. Pada tingkat lanjutan, seseorang dapat melakukan kustomisasi lebih mendalam dengan membuat sendiri distribusi paket menggunakan rpm.

Tentang rpm

RedHat Packet Manager, selanjutnya disebut dengan rpm, adalah alat bantu untuk melakukan berbagai pekerjaan yang berhubungan dengan pengelolaan sebuah paket dalam sistem Linux. rpm sendiri sekarang menjadi sebuah standar secara de facto yang digunakan oleh berbagai pengembang perangkat lunak untuk mendistribusikan sebuah perangkat lunak. rpm banyak digunakan oleh berbagai distribusi besat saat ini, tak kurang seperti RedHat, Mandrake, SuSE, dan OpenLinux. Bahkan slackware yang terkenal karena nuansa UNIX-like-nya, dengan sedikit penyesuaian dapat menggunakan rpm untuk manajemen paket.

Sebenarnya apa yang membedakan jika sebuah paket tidak menggunakan paket manajemen seperti rpm. Jawabannya cukup mudah, sebuah program pada dasarnya terdiri atas beberapa file agar dapat dijalankan. File-file tersebut harus diletakkan secara terpisah. Misalkan anda menginstal sebuah program pada direktori /usr/local/program, file binari dari program tersebut harus diletakkan pada /sbin, manual page dari program harus diletakkan secara terpisah, termasuk jika ada fungsi-fungsi pustaka yang haris dikaitkan dengan fungsi pustaka lainnya. Kalau memasang sebuah progam demikian rumitnya, bagaimana jika harus menghapus program tersebut. Tentu dari sini dapat disimpulkan, rpm digunakan untuk memudahkan pekerjaan administrasi paket, termasuk menginstal, menghapus, upgrade, atau menampilkan informasi tentang paket.

Pada dasarnya rpm merupakan program instalasi untuk paket-paket linux yang sudah dalam format rpm (*.rpm). Akan tetapi fungsi dari rpm tidak hanya itu, anda mungkin pernah mengetahui bahwa setiap paket software memiliki mekanisme sendiri bagaimana sebuah paket akan terpasang dan dijalankan di dalam sistem. rpm menyediakan mekanisme instalasi yang seragam untuk semua paket yang memiliki format rpm. rpm juga menyediakan semua informasi tentang paket yang terinstall dengan menggunakan sebuah database paket.

Beberapa hal yang harus anda pastikan sebelum menginstal sebuah paket adalah sebagai berikut :

1.Pastikan isi dari paket yang akan anda install termasuk berapa jumlah space yang dibutuhkan, dan di mana akan diletakkan.
2.Pastikan apakah anda memilik library yang dibutuhkan atau file lainnya agar software yang anda install bisa dijalankan.
3.Pastikan bahwa paket yang anda instal tidak akan konflik dengan paket yang lain atau dengan paket yang sama akan tetapi versi yang berbeda atau versi yang lebih lama.
4.Pastikan bahwa paket yang akan anda install berasal dari sumber yang bisa dipercaya, paket tersebut tidak akan merusak dan sebagainya.

Apakah Paket itu ?


Paket adalah file khusus yang terdiri dari file dan direktori yang merupakan bagian dari sebuah software atau komponen sistem. Dalam linux dikenal dua jenis paket, yaitu binary dan source. Paket  binary terdiri atas komponen software yang siap untuk diinstall sesuai dengan arsitektur komputer yang digunakan dan juga siap untuk digunakan. Source paket merupakan source code yang digunakan dengan cara membuat sendiri binari paket yang dibutuhkan, paket jenis ini menyediakan semua yang anda butuhkan untuk dapat di modifikasi dan anda harus mengkompile source code tersebut.

Sebuah paket binary memiliki aturan penamaan seperti berikut ini :

samba-3.2-5.i386.rpm

Bagian pertama dari nama diatas menunjukkan nama paket, setelah itu adalah nomor versi dalam hal ini 3.  Nomor versi ini menunjukkan versi dari paket tersebut, kemudian diikuti dengan nomor rilis dalam hal ini adalah 5. Apa perbedaan yang mendasar antara nomor rilis dan nomor versi?, nomor vesi menunjukkan status dari pada software itu sendiri, di mana hal ini menunjukkan status paket yang dibuat oleh penciptanya, bukan mengacu kepada siapa yang membuatnya menjadi satu paket. Sedangkan nomor rilis menunjukkan siapa yang membuatnya menjadi satu paket, jadi sebuah paket bisa saja memiliki nomor rilis yang berlainan bergantung kepada siapa yang membuatnya menjadi sebuah paket, akan tetapi bisa saja nomor versinya tetap sama.

Setelah nomor rilis, string berikutnya menunjukkan arsitektur mesin dari paket. Kebanyakan paket berisikan software yang sudah dikompilasi dengan menggunakan prosesor tertentu atau mesin tertentu. Sebagai contoh, jika sebuah program dikompile pada mesin intel x86 dan kompatibelnya biasanya paket tersebut dimasukkan kedalam string i386. Atau ia memiliki spesifikasi mesin tersendiri, misalnya Pentium atau Pentium II, maka ia akan dimasukkan kedalam string i586 atau i686.

Sebuah paket binary, biasanya berisikan hal-hal sebagai berikut :

1.Nama dan penjelasan dari software.
2.Informasi tentang versi software.
3.Informasi tentang penyedia paket rpm tersebut.
4.URL dari penyedia paket tersebut.
5.Informasi tentang lisensi.
6.Klasifikasi produk tersebut.
7.Informasi untuk sistem operasi dan mesin yang digunakan.
8.Informasi file dan direktori untuk setiap paket.

Memulai Redhat Package Manager

rpm memiliki beberapa mode operasi, yaitu install, uninstal, update, query, verifikasi.

Format dari perintah rpm seperti berikut ini :

rpm [option] nama paket

Option adalah argumen yang diberikan pada perintah rpm untuk memberikan efek perintah tertentu, sedangkan nama paket adalah paket yang akan digunakan. Tabel berikut ini memperlihatkan opsi pada perintah rpm.

optionsnya :

-q    : Query
-I    : Menampilkan informasi detail dari paket.
-l    : Menampilkan semua file
-d    : Hanya menampilkan file-file dokumentasi
-c    : Hanya menampilkan file-file konfigurasi
-f    : Mencari paket yang mana yang dimiliki oleh sebuah file
-i    : Install Paket
-e    : Erase Paket
-U    : Upgrade Paket
-v    : verbose
-h    : Hash

$ rpm -qpi kernel-devel-2.6.24.3-12.fc8.i686.rpm
warning: kernel-devel-2.6.24.3-12.fc8.i686.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Name        : kernel-devel                 Relocations: (not relocatable)
Version     : 2.6.24.3                          Vendor: Fedora Project
Release     : 12.fc8                        Build Date: Wed 27 Feb 2008 04:19:08 AM WIT
Install Date: (not installed)               Build Host: xenbuilder2.fedora.redhat.com
Group       : System Environment/Kernel     Source RPM: kernel-2.6.24.3-12.fc8.src.rpm
Size        : 33798990                         License: GPLv2
Signature   : DSA/SHA1, Thu 06 Mar 2008 05:07:56 AM WIT, Key ID b44269d04f2a6fd2
Packager    : Fedora Project
URL         : http://www.kernel.org/
Summary     : Development package for building kernel modules to match the kernel
Description :
This package provides kernel headers and makefiles sufficient to build modules
against the kernel package.


Keluaran diatas, menunjukkan informasi mengenai paket kernel-devel, termasuk informasi mengenai kegunaan software tersebut. Untuk dapat melihat listing dari program diatas, ketikkan perintah seperti berikut :


Install Paket

Untuk menginstall sebuah paket, anda dapat menggunakan rpm dengan menambahkan option -i dan nama paket yang akan anda install. Contoh penggunaan perintah tersebut seperti dibawah ini :



# rpm -i kernel-devel-2.6.24.3-12.fc8.i686.rpm

Jika anda menghendaki untuk dapat melihat proses instalasi, tambahkan option     -vh seperti berikut ini :

# rpm -i kernel-devel-2.6.24.3-12.fc8.i686.rpm


Uninstall


Uninstall adalah proses untuk menghapus sebuah paket dari sistem. Untuk melakukan uninstall, anda tidak harus mengetikkan nama paket selengkap nama paket pada waktu melakukan instalasi.

Contoh penggunaan perintah diatas adalah :

# rpm -e kernel-devel


Biasanya proses uninstall terdapat masalah yang sering dikenal dengan isitilah error dependecies, ini berarti paket tersebut tidak dapat di hilangkan dari sistem dikarenakan memiliki ketergantungan dengan paket lainnya. Ketergantungan ini dikarenakan dalam Linux, tiap paket atau program sama-sama saling berbagi file yang dibutuhkan satu sama lain.

Anda dapat tetap dapat meng-unistall paket tersebut dengan cara mengabaikan problem ketergantungan antar paket dengan menambahkan option -nodeps, akan tetapi anda sama sekali tidak disarankan untuk menggunakannya karena akan menyebabkan sistem menjadi tidak stabil

Upgrade Paket

Upgrade paket diperlukan untuk menaikkan versi dari paket sebelumnya. Hal ini memberikan beberapa keuntungan seperti adanya perbaikan bug, penambahan fitur baru, dan juga unjuk kerja yang mungkin lebih baik. Untuk melakukan upgrade anda tinggal menambahkan option -U seperti berikut ini :

# rpm -Uvh  kernel-devel-2.6.24.3-12.fc8.i686.rpm

Pada saat proses upgrade dilakukan, rpm akan menyimpan file anda yang lama , misalnya /etc/ed.conf menjadi /etc/ed.conf.rpmsave. Hal ini dilakukan untuk menjaga kalau-kalau versi terbaru yang baru saja anda install ternyata tidak kompatibel dengan versi yang lama.


PAKET SOURCE CODE

“Source Code” artinya kode sumber. Paket ini adalah paket yang sangat mendasar, belum dimanipulasi. Sehingga aman untuk di-install ke dalam distro apa pun. Apabila source code ini kita kompilasi (diolah menjadi “program siap-install”) dan kita instalasikan di suatu distro, program ini akan menyesuaikan diri dengan setting-an distro yang bersangkutan. Umumnya, source code ini dipaketkan menjadi file terkompresi menggunakan “tar”. Ekstensinya adalah *.tar.gz atau *. tar.bz2 .
Kekurangannya, kita perlu bersabar dengan proses yang agak panjang.
Format perintahnya adalah:

tar [opsi/pilihan] [nama-program.tar.gz]
atau
tar [opsi/pilihan] [nama-program.tar.bz2]

Misalnya ketika kita ingin membuka kompresi dan meng-install program “namapaket″, ketikkan:

tar -xvfz namapaket.tar.gz (tekan Enter)
atau
tar -xvfj namapaket.tar.bz2 (tekan Enter)

opsi “v” dalam” -xvfz” adalah untuk menjalankan fungsi “verbose” yang menampilkan informasi proses yang sedang berjalan, “x” exstrak, “f” file dan z untuk file tar.gz

Lalu kita ketikkan:

$ cd namapaket
$ ./configure
$ make
# make install

perlu juga diketahui bahwa untuk perintah tar , configure dan make, boleh dilakukan oleh user biasa, tapi untuk make install harus sebagai user root, karna akan menginstall paket.

Terkadang di tengah proses kita mendapati pesan adanya “error dependency”. Itu artinya instalasi yang sedang kita proses belum bisa diselesaikan karena adanya ketergantungan terhadap file lain, dan file itu belum ter-install di sistem kita. Maka dari itu kita harus meng-install file tersebut terlebih dahulu. Biasanya dalam pesan “error dependency” itu tercantum nama file yang perlu di-install terlebih dahulu. Semisal pesannya “error dependency: libsamosir17″ maka itu artinya file “libsamosir17″ harus di-install lebih dulu.

Untuk keterangan lebih lanjut bacalah dokumentasinya di paket yang bersangkutan (di file “README”). Dan untuk mengetahui opsi perintah apa saja yang bisa kita ketik, kita bisa membuka dokumentasi manual dengan:
man [nama-perintah] (tekan Enter)