04 December 2007

ALIEN : SANG PENYELAMAT ( YANG LUAR BIASA )

Beberapa saat yang lalu, saya mendownload paket-paket ekstra ubuntu secara manual di packages.ubuntu.com. Seperti biasa, saya mencatat aplikasi yang saya butuhkan beserta dependensi-dependensinya (bagaimana saya mencatat, pernah saya post dulu).


Setelah pulang dengan paket deb komplit dengan dependensi-dependensinya, tanpa ragu sedikitpun langsung saya install dengan perintah $ sudo dpkg –i *.deb, saya tunggu beberapa saat, dan seperti di sambar petir, ternyata ada pesan error dan bahkan hampir semua paket yang saya download error semua. Waduuuh, kenapa ini?


Setelah saya cermati pesan error yang muncul, ternyata paket-paket dependensi dasar yang ada di ubuntu, berbeda SEDIKIT versinya dengan yang dibutuhkan oleh paket tersebut. Sebagai contoh, paket ubuntu di bundel dengan versi seperti ini 123456-ubuntu1.deb, dan ada versi yang SEDIKIT lebih baru, namun sebenarnya masih versi yang sama, menjadi seperti ini 123456-ubuntu2.deb (beda rilis ke1 dan ke2). Karena hal itulah saya geram bukan main, jangankan beda versi yang jauh, beda versi rilis saja sudah tidak kompatibel, hmmm capek jadinya. Tapi karena sudah terlancur cinta sama linux, saya pun berpikir sampai mendalam, kenapa bisa seperti ini ya?


Oya, dulu di majalah diterangkan cara membuat symbolic link, yaitu membuat symbolic link untuk paket dasar yang ada, dengan paket dasar yang dibutuhkan paket yang ingin kita install. Pada dasarnya saya mudheng dengan trik tersebut, tetapi saya nggak tau nama yang tepat untuk paket tersebut, karena kita tahu sendiri nama paket dalam linux sangat susah untuk dieja (misal gstreamer0.10-plugins-ugly, bandingkan dengan paket windows yang misal cukup dinamai dengan “winamp” saja, tidak winamp0.0-3.4.5.6-i586).


Karena sudah judheg (pusing-red), saya ambil jalan pintas, paket deb tersebut saya ekstrak dengan unp, dan baru ketahuan, ternyata paket debian pasti memiliki dua file utama yaitu : data.tar.gz dan control.tar.gz. Kedua file itu saya ekstrak lagi, dan ternyata, data.tar.gz berisi file-file utama yang akan ditaruh di direktori root, sedangkan control.tar.gz berisi informasi paket, termasuk informasi dependensi.


Akhirnya saya mendapat ide, bagaimana kalau file informasi paket itu saya edit, lalu saya bangun lagi file deb yang baru, tapi pakai aplikasi apa? Ditengah kebingungan itu, saya teringat beberapa waktu yang lalu saya sering mengconvert paket .tgz slackware dengan alien ke paket debian, dan setiap akan saya install, tidak terjadi masalah apapun dengan dependensi (walau kadang nggak mau jalan juga).


Dari pengalaman itulah, saya dapat ide, bagaimana kalau paket deb itu saya convert ke tgz kemudian saya convert ulang ke deb. Dan akhirnya, saya pun mengconvert paket deb itu ke tgz, setelah jadi tgz, saya convert lagi ke deb. Nah, file re-convert itu, saya install, dan eureka, berhasil dengan mulus, nggak ada masalah dependensi dan juga lancar untuk dijalankan. Pengalaman juga, ternyata setelah saya sempat mengekstrak file tgz, paket instaler tgz itu tidak ada informasi dependensi seperti pada paket debian. Itulah mengapa tidak terjadi konflik dependensi seperti pada paket debian (atau pada paket rpm juga). Dan pengalaman itu juga, paket apapun yang diconvert ke tgz, data informasi dependensi akan dihapus, dan tinggal file utama saja yang tersisa. Itulah mengapa saat paket deb saya convert ke tgz, kemudian saya re-convert ke debian, tidak terjadi lagi konflik dependensi.


Intinya adalah, alien adalah aplikasi yang sangat berguna, dan saya sangat berterimakasih untuk pencipta dan juga pengembang alien.


Salam Linux!

No comments: