Curhat saya kali ini adalah kelanjutan dari posting saya sebelumnya. Singkat cerita, setelah desktop Fedora Core 5 terinstal dan teroprek dengan apik di komputer rekan saya, saya diliputi oleh rasa penasaran yang cukup mendalam. Kenapa? Karena pada waktu yang lalu, melalui searching di internet, saya menemukan paket instalasi Crossover 6 Proffesional dan NeroLinux 3.5 + Keygen. Saya sangat ingin menginstalasinya. Namun apa yang salah? Kedua paket non-free tersebut berbentuk paket instalasi untuk Debian (dengan ekstensi .deb), sementara kita ketahui bersama paket instalasi untuk Fedora adalah rpm.
Saya ingat ada aplikasi converter paket Linux yang bernama Alien. Yang bisa mengconvert paket instalasi debian ke rpm, tgz dan sebaliknya dengan mudah. Namun saya pun tak punya paket alien berbentuk rpm untuk Fedora. Di tengah-tengah ketidak-puasan, saya iseng-iseng dengan kedua paket debian itu. Hal pertama yang terpikir adalah apa yang ada dalam paket debian tersebut. Saat iseng, saya coba mengekstrak paket debian tersebut dengan aplikasi ekstraktor built-in di nautilus. Dan eureka, paket debian bisa di ekstrak. Langsung saya lihat, dan terdiri dari dua paket tarbal di dalamnya : data.tar.gz dan control.tar.gz !
Tanpa piker panjang, saya ekstrak lagi kedua paket tarbal tersebut, dan eureka lagi, kedua paket tarbal itu berisi sekumpulan folder dengan bermacam file konfigurasi teks file binari. data.tar.gz berisi folder dengan paket instalasi yang akan dimasukan ke system, sementara control.tar.gz berisi file teks konfigurasi. Nampaknya berhubungan dengan desktop-intergration. Entah! Saya tidak peduli dengan file konfigurasi. Saya buka folder hasil ekstrakan data.tar.gz dan ternyata berisi folder tujuan instalasi, yaitu /usr/lib dan /usr/bin. Di dalam folder /bin tidak diragukan lagi disitulah letak file binarinya. Dan ternyata benar juga, saat saya jalankan file binari ./nero di terminal, ada respon yang mengatakan bahwa library ini-itu belum dipasang. Sepintas saya langsung paham, dan segera saya login ke root, dan saya pindah semua folder ekstrakan tersebut ke tujuan masing-masing. Pun dengan folder /usr/bin, saya pindah ke system. Setelah itu, saya masuk ke system tadi, dan saya jalankan ulang ./nero, ternyata JALAN! Wuih! Saya senang sekali. Namun kesenangan saya berhenti ketika bagaiman cara menjalankan file binari tadi dengan mudah, misal dengan tombol run Alt+F2? Saya pun teringat akan eksperimen yang hampir sama, ketika saya menginstal HelpExlporer beberapa waktu yang lalu. Untuk bisa dijalankan lewat run, file binari harus ada di direktori /bin. Tanpa ragu saya langsung buat symbolic link dari /usr/bin/nero ke /bin/nero. Setelah itu saya jalankan run dengan mengetik nero, dan Wow! Berhasil!
Pun dengan paket Crossover, yang ternyata folder tujuan instalasinya hanya diletakan dalam satu folder, yaitu /opt, bukan /usr/bin. Yang lebih mengesankan, ternyata file binari Crossover merupakan file binari yang bersifat static-linked. Alias bisa dijalankan dengan hanya meng-klik dobel pada file binari, persis seperti file executable windows. Untuk yang ini, saya makin tidak bingung, langsung saya pindah ke /opt dan saya buat symbolic link dari /opt/cxoffice ke /bin. Setelah selesai, saya jalankan run cxsetup, Alhamdulillah, berhasil lagi.
Sungguh iseng-iseng yang luar-biasa, dari sini saya jadi paham sistematika instalasi software di linux. Intinya adalah adanya kesaling-terkaitan antara library dan file binari. Dan mengenai peletakan file binari, bisa dimana saja, yang umumnya ada di /usr/ atau /usr/bin, /opt/ atau /bin.
Inti dari cerita saya ini, dapat saya simpulkan sebagai berikut :
Semua paket Linux berisi file binari dan library, yang akan dimasukan ke system, dan sudah ada dalam paket tersebut. (misal, jika akan diinstal ke /usr, maka isi dari paket instalasi akan ada folder /usr/nama-paket). Dan pada dasarnya kita bisa meletakan file binari dimanapun, dan yang terpenting adalah agar file binari bisa terbaca, pembuatan symbolic link ke direktori /bin adalah harus.
Langkah-langkahnya adalah :
- Ekstrak paket instalasi Linux, apa saja. Debian, rpm, tgz.
- Masuk ke folder hasil ekstraksi, dan lihat folder apa yang ada, jika yang ada folder /usr, maka masukan folder hasil ekstraksi tersebut ke /usr. Folder /usr/lib, masukan library software hasil ekstrakan tersebut ke /usr/lib. Jika folder hasil ekstrakan berisi folder /opt, maka masukan folder software tersebut ke /opt. Dan seterusnya.
- Setelah meletakan semua folder hasil ekstraksi yang berisi binari dan library ke tempatnya masing-masing yang ingin di tuju, jangan lupa buatlah symbolic link dari direktori binari software tersebut ke direktori /bin, yang merupapakan direktori berisi symbolic link dari macam-macam paket yang ada di system. Setelah semua dilakukan, hingga pembuatan symbolic link, berarti langkah terakhir adalah, Selamat Menikmati! Kita telah berhasil menginstalasi paket Linux secara manual, tanpa batasan jenis paket instalasi (debian, rpm atau tgz).
CATATAN
Eksperimen saya tersebut berhasil dengan lancar untuk paket non-free yang tidak membutuhkan manajemen dependensi paket dengan sistem yang rumit. Jika kita akan menginstalasi secara manual paket free Linux, tentu saja akan lebih rumit, karena kita harus membuat symbolic link untuk librari yang dibutuhkan suatu paket, yang tidak akan bekerja tanpa library dengan versi yang sesuai. Paket Crossover 6 Proffesional dan NeroLinux 3.5 Full yang saya jadikan sampel, saya dapatkan dari hasil searching. Seyogyanya, kita tidak boleh menggunakan paket non-free yang memang dikomersialkan tanpa membelinya, walaupun itu dalam lingkup sistem free software dan linux.
Happy Hacking! Happy Linux-ing!
Comments
kalau dynamic link di dobel klik juga bisa asal librarynya satisfied.
static sama dynamic itu bukannya lebih ke apakah library2 dimasukkan jadi satu file binary output atau dipecah pecah. diwindows ada .dll di linux ada .so