UTAMA Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial 50 Pertanyaan Seputar Linux 50 Pertanyaan Seputar Linux Noprianto Memahami Linux memang tidak semudah memahami penggunaan Mac OS ataupun Microsoft Windows. Bagi Anda yang tertarik, mengetahui cara kerja Linux atau distro Linux sangatlah menarik. Dengan memahaminya, kita bisa sedikit banyak mengetahui cara kerja sistem operasi secara umum. B agi Anda yang pertama membeli komputer yang telah terinstalasi dengan Windows. Saat-saat pertama menggunakan, Anda mungkin akan merasa bingung, tidak mengerti suatu tombol berfungsi untuk apa, bagaimana mengopi file dan lain sebagainya. Namun, apabila Anda memang tertarik untuk memahami lebih lanjut, membaca satu buku dan disertai latihan mungkin akan segera membantu Anda untuk mampu menggunakan Microsoft Windows. Apalagi, jika Anda menggunakan Windows XP yang saat ini mudah untuk digunakan. Bagi pengguna Mac OS, kesan sulit menggunakan atau bingung mungkin juga hanya terjadi di awal-awal penggunaan. Selanjutnya, ketrampilan Anda menggunakan sudah akan meliuk-liuk seperti kemampuan window di Mac untuk meliuk-liuk laksana penari berbakat. Sekarang, bagaimana dengan Linux? Mungkin lebih banyak pengguna yang akan terbingung-bingung dengan di Linux di kali pertama penggunaan dan terus terbingungbingung sampai waktu yang cukup lama, dibandingkan dengan yang hanya bingung di awal. Apalagi jika kita bicara ini tahun lalu, atau dua tahun lalu. 34 INFOLINUX 02/2005 Pengguna Windows dengan mudah dapat bertanya kepada teman-temannya yang juga menggunakan Windows. Bagaimana mengakses CDROM, bagaimana mengopi file dari disket dan lain sebagainya dapat dengan mudah terjawab. Dengan banyaknya pengguna yang menggunakan setting default Windows, maka langkah demi langkah panduan akan dapat dilakukan dengan sangat mudah. Hampir setiap komputer yang menggunakan Windows akan memiliki cita rasa penggunaan yang sama. Hal ini juga terjadi pada sistem Mac, yang walaupun secara komunitas lebih sedikit dan terbatas dibandingkan dengan komunitas pengguna Windows, kemudahan penggunaan dan konsep aplikasi (seperti satu tempat untuk tugas-tugas yang berhubungan) telah menjadinya banyak penggunanya cukup belajar dari buku atau sekedar menggunakan. Linux agak sedikit repot. Pertama, ada halangan dari sisi distro. Kita boleh saja bertanya kepada rekan kita bagaimana caranya menginstall program yang kita inginkan. Dan, jawabannya bisa beragam. Halangan kedua ada pada sisi desktop. Kita bisa bertanya bagaimana cara mengopi file, dan jawabannya pun bisa beragam. Jangan lupakan juga Linux itu sendiri. www.infolinux.web.id Pada awal-awalnya, setiap device harus selalu di mount agar dapat digunakan. Hal ini diperparah dengan mount point distro yang bisa berbeda-beda untuk device yang sama. Interface untuk mounting yang seragam juga belum ada. Pengguna SUSE mungkin tinggal klik pada icon floppy di desktop untuk mengakses disket, namun, bagaimana dengan pengguna distro lain yang tidak memiliki fasilitas serupa? Untuk mengerti Linux dan membuat kita lebih mudah menggunakan Linux, mengerti Linux itu sendiri adalah hal yang penting. Oleh karena itu, kami mencoba menyajikan beberapa pertanyaan dan jawaban tanpa istilah teknis yang terlalu banyak, yang paling sering diajukan oleh pengguna Linux baik yang baru ataupun yang ingin mengetahui Linux lebih dalam. SISTEM OPERASI SECARA UMUM Bagian ini berisikan beberapa pertanyaan yang berhubungan dekat dengan sistem operasi. Bagi Anda yang ingin sekedar menggunakan Linux, beberapa pertanyaan berikut ini mungkin akan kurang menarik bagi Anda. Namun, beberapa pertanyaan berikut ini juga akan membantu memahami Linux secara umum. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial UTAMA 50 Pertanyaan Seputar Linux Kenapa harus ada sistem operasi? Setiap perangkat yang kita gunakan, mulai dari komputer sampai cellular phone adalah komponen elektronika yang memiliki fungsi elektronis sendiri. Namun, semua hal tersebut belum cukup karena belum bisa digunakan secara langsung oleh user. Tidak mungkin memrogram semua secara keras ke dalam komponen elektronika karena akan menjadi sangat mahal, kaku dan konyol. Oleh karena itu, kita kemudian mengenal konsep sistem operasi (sebuah program yang dapat memahami dan mengelola perangkat keras dan memiliki cara untuk berkomunikasi dengan pengguna), yang salah satunya bertujuan untuk menjembatani fungsi elektronis perangkat keras dengan penggunanya. Banyak fungsi pengelolaan kemudian diserahkan kepada sistem operasi. Sistem operasi juga menangani perluasan fungsi dari suatu perangkat. Tanpa adanya sistem operasi, dengan desain saat ini, komputer dan cellular phone tentu hanya akan menjadi barang elektronik yang tak memiliki fungsi. Bagaimana hubungan Linux dengan sistem operasi lain? Linux adalah salah satu sistem operasi yang menuruti standar POSIX (standar yang digunakan oleh banyak sistem operasi). Oleh karena itu, Linux bukanlah sistem operasi aneh yang hidup di dunia sendiri. Dengan implementasi Linux yang menuruti standar tersebut, Anda yang bisa menggunakan Linux akan dapat pula menggunakan banyak sistem operasi lainnya. Linux juga dapat berjalan pada banyak jenis perangkat (mulai dari perangkat genggam sampai server). Bagaimana kemampuan Linux dalam menangani proses? Pertama-tama, kita perlu memahami bahwa penanganan proses adalah sesuatu yang sangat penting bagi suatu sistem operasi. Bahkan, seberapa suatu sistem operasi dapat menangani proses dapat menyebabkan sistem operasi tersebut naik kelas ke sistem untuk enterprise turun kelas menjadi sistem operasi rumahan. Linux sebelum versi 2.6 hanya mampu menangani PID sampai sekitar 32000. Untuk kebutuhan rumah atau server kecil, ini sudah lebih dari cukup. Namun, untuk kebutuhan enterprise, ini masih jauh sekali. Kernel 2.6 kini datang dengan dukungan PID sampai lebih dari 1 juta. Hal ini setidaknya membantu Linux untuk mulai memasuki dunia enterprise lebih serius lagi. Bagaimana proses-proses saling berkomunikasi? Banyak cara. Namun, salah satu cara tertua adalah Interprocess communication dengan penggunaan signal. Jadi, suatu proses berbicara dengan proses lain dengan saling mengirimkan dan memroses signal. Signal seringkali kita lakukan pula dalam kehidupan sehari-hari. Andaikata masing-masing dari kita adalah sebuah proses, maka ajakan makan, ungkapan rasa sayang atau bahkan ancaman juga bisa diartikan sebagai signal. Pihak yang menerima signal tersebut, seperti ajakan makan, tentu bisa menanggapinya sesuai kondisi saat itu. Untuk mengirimkan signal di Linux, kita menggunakan program kill. Proses yang menerima signal bisa melakukan salah satu dari tiga hal berikut: menerima aksi default apa adanya (ajakan makan berarti makan bersama), menolak (ajakan makan tidak diterima) atau membelokkan ke aksi lain (ajakan makan dibelokkan menjadi pergi jalan-jalan, misalnya). Namun, tidak semua signal yang dikirimkan bisa diproses sesuka keinginan proses penerima signal. Apakah yang dimaksud dengan shared library? Shared library adalah pustaka yang dimaksudkan untuk digunakan bersamasama. Di Windows, kita mengenal shared library sebagai file dengan ekstensi .DLL. Di Linux, kita mengenal shared library dengan file berekstensi .so. Dengan adanya shared library, maka fungsi-fungsi untuk kebutuhan tertentu bisa dipisahkan dari program utama, dan bisa digunakan ulang oleh berbagai program lain. Lokasi penyimpanan shared library adalah di /lib, /usr/lib atau /usr/local/lib. Beberapa program ada yang suka pula untuk menyimpan di direktori program mereka seperti /opt/XXX/lib dan lokasi lain. Shared library umumnya juga disingkat menjadi library atau lib saja. Bagaimana kompatibilitas binary di Linux? Sangat penting bagi suatu sistem operasi untuk menjaga kompatibilitas binary yang berjalan di atasnya. Binary bisa berupa program ataupun library. Perhatikanlah di Windows. Format portable executable milik www.infolinux.web.id Windows cukup kompatibel untuk waktu yang cukup lama. Di Linux, kita pernah mengalami format binary a.out yang hampir bisa dipastikan tidak ada lagi saat ini. Semua binary menggunakan format ELF. Namun, Linux tetap bisa menerima format binary a.out asal dimasukkan sebagai opsi di kernel pada saat kompilasi. Kompatibilitas binary penting sekali untuk suatu platform. Linux bahkan mendukung tipe binary terpisah seperti class Java yang nantinya didaftarkan di kernel sebagai tipe tertentu, yang akan diproses oleh program tertentu (JRE). Apakah kernel Linux dan apa pula kernel 2.6? Kernel adalah inti dari suatu sistem operasi. Linus dan teman-temannya membuat kernel. Perubahan pada kernel akan memiliki dampak besar pada sistem operasi. Sebagai contoh, penggunaan kernel 2.4 hanya bisa menerima user sampai sekitar 65000 user. Namun, kernel 2.6 sudah bisa menerima lebih dari 4 juta user. Kernel Linux bisa dikompilasi sendiri oleh usernya melalui tampilan yang mudah untuk dimengerti. Pembuat distro juga umumnya memberikan tambahan sana sini pada kernel agar sesuai dengan distro mereka. Bagi yang ingin mencoba melakukan kompilasi kernel, Anda bisa mendownload source code kernel di http://www.kernel.org. Apakah Linux benar-benar telah digunakan secara serius? Sudah. Linux di pasar sistem operasi server menurut beberapa riset global memiliki bagian sekitar 20% dan ini akan bertambah. Di dunia desktop memang baru sekitar 2% atau 3%. Apakah mungkin menjalankan Linux pada mesin-mesin non x86? Salah satu keunggulan Linux adalah dapat berjalan pada arsitektur non x86. Linux dapat berjalan di mesin-mesin 64bit seperti Sparc ataupun mesin-mesin kecil seperti ditemukan pada cellular phone, PDA ataupun Single Board Computer. Apakah yang dimaksud dengan virtualisasi Linux? Linux juga dapat divirtualkan. Artinya, Linux dapat berjalan di atas Linux dengan bebera- INFOLINUX 02/2005 35 UTAMA Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial 50 Pertanyaan Seputar Linux pa perubahan pada kernel. Salah satu proyek virtualisasi Linux yang paling berhasil adalah User Mode Linux (user-mode-linux.sourceforge.net). Dengan proyek UML ini, Linux berjalan di atas Linux sebagai salah satu proses. Namun, walau sebagai salah satu proses, instance Linux tersebut dapat berupa distro berbeda, atau menyediakan service berbeda sehingga sistem utama tetap bersih apabila salah satu instance kotor. Ini sangat berguna bagi software developer, system administrasi jaringan besar, atau pengguna yang senang mencoba-coba distro baru. Kunjungi website UML untuk informasi lebih lanjut. Apakah tersedia driver untuk Linux ketika membeli hardware tertentu? Ketika menggunakan Windows, membeli perangkat baru bukanlah masalah besar. Karena semua dilengkapi dengan driver yang cocok untuk versi Windows yang Anda gunakan. Di Linux, membeli hardware harus sedikit hati-hati. Kalau belum yakin bahwa Linux sangat mendukung hardware tersebut, berhati-hatilah. Karena, bisa-bisa baru berjalan di Linux sekitar 1 atau 2 tahun lagi. Hal ini disebabkan karena tidak semua produsen perangkat keras menyediakan driver untuk Linux. Banyak pertimbangan. Mulai dari masalah bisnis, legal ataupun teknikal. Namun, hal ini diharapkan berubah seiring dengan makin banyaknya Linux digunakan. Kita nantikan driver dapat diinstall dengan cara yang mudah di masa depan. DISTRIBUSI LINUX Bagian ini berisikan berbagai pertanyaan mendasar dan lanjutan tentang distro Linux. Beberapa pemahaman seperti apakah pengertian distro, kemudian kompatibilitas antar distro, memilih distro dan lain sebagainya akan dibahas. Bagi Anda yang ingin sekedar menggunakan Linux, beberapa pembahasan di sini mungkin akan kurang menarik. Apakah distro itu? Distro adalah kependekan dari distribusi. Sistem Linux adalah sistem yang terpisahpisah. Ada kernel dan ada aplikasi/pustaka yang diambil dari komunitas free software. Namun, itu saja belum cukup. Harus ada installer yang mudah agar sistem Linux dapat diinstall oleh siapa saja. Kemudian, harus ada mekanisme pengaturan program-program, 36 INFOLINUX 02/2005 Situs web www.distrowatch.com. update dan lain sebagainya. Masalahnya, tidak ada seorang atau satu pihak pun yang mengelola Linux dan hal-hal yang kita bahas sebelumnya. Oleh karena itulah, ketika suatu pihak membungkus kernel, aplikasi, pustaka dan segala yang diperlukan dalam suatu cara instalasi serta manejemen program sendiri, kita menyebutkan sebagai suatu distribusi. Ini sama seperti analogi ayam goreng dipasaran. Apabila kita mengenal distro Linux SUSE, Red Hat, dan Debian misalnya, kita mengenal ayam goreng KFC, Texas dan lainnya, termasuk buatan sendiri. Di sistem operasi lain seperti Windows dan Mac, kita sebenarnya juga mengenal distro, namun hanya ada satu: dari Microsoft atau Apple. Bagaimana kompatibilitas antar distro? Kita mengenal standarisasi Linux. Seberapa distro yang Anda gunakan menuruti standar tersebut akan membantu meningkatkan kompatibilitasnya dengan distro lain. Distro populer seperti SUSE dan Red Hat telah menuruti standarisasi Linux. Hal-hal lain seperti manajemen paket juga perlu diperhatikan. Tidak semua paket berbasis RPM untuk suatu distro bisa digunakan langsung pada distro lain yang juga berbasis RPM. Bahkan, penamaan paket juga bisa berbeda untuk distro yang berbeda. Tidak semua distro kompatibel, namun distro-distro besar umumnya lebih menuruti standar. www.infolinux.web.id Dimanakah saya bisa melihat distrodistro populer? Anda bisa amati di www.distrowatch.com. Di website tersebut, akan terdapat link untuk mengakses distro-distro terpopuler. Pemain-pemain lama seperti Slackware, SUSE, Debian dan Red Hat masih bertahan sebagai distro-distro top. Distro baru seperti Knoppix mampu merebut minat pasar yang Anda dan menjadikannya sebgai salah satu distro terpopuler. Satu hal yang perlu diperhatikan, predikat distro populer diberikan kepada distro umum karena minat pasar memang condong ke arah tersebut. Tidak terkenal atau populer bukan berarti tidak bisa digunakan. Banyak distro kecil yang tidak masuk sebagai distro populer namun sangat diandalkan oleh penggunanya. Umumnya, distro-distro tersebut memiliki fungsi khusus. Apakah yang dimaksud dengan distro umum dan distro khusus? Distro umum dan khusus bisa dibedakan berdasarkan target penggunanya. Seperti dibahas sebelumnya pada distro-distro populer, distro umum memiliki pasar yang lebih luas karena distro tersebut bisa digunakan oleh siapa saja. Pengguna biasa, pengembang aplikasi atau system administrator. Dengan tersedianya banyak paket di internet, maka distro tersebut diharapkan dapat diandalkan untuk berbagai tugas. Di lain si- Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial UTAMA 50 Pertanyaan Seputar Linux si, terdapat pula distro yang dikembangkan dengan tujuan sangat spesifik, seperti untuk firewalling, atau untuk rescue system, atau untuk demo dan lain sebagainya. Penggunanya lebih terbatas dan jelas. Kenapa kita membahas ini? Pada dasarnya, karena setiap pengguna adalah unik, maka tingkat kebutuhannya juga mungkin unik. Anda tidak harus selalu menggunakan distro populer seperti Red Hat apabila kebutuhan Anda memang tidak perlu dipenuhi dengan distro sekompleks (dan semahal) itu. Cobalah cari-cari di Google untuk distro yang sesuai dengan kebutuhan Anda. Apakah yang dimaksud dengan distro untuk enterprise? Kata yang satu ini memang unik. Begitu kata enterprise dicantumkan dalam nama produk, maka seolah-olah harga bisa ditentukan dengan sangat fleksibel (tingginya). Dan, tak jarang istilah ini digunakan pula secara asal-asalan dan disalahgunakan. Di dunia Linux, kita mengenal Red Hat Enterprise Linux, atau SUSE Linux Enterprise. Harganya biasanya cukup mahal. SUSE misalnya, untuk dukungan 16 CPU bisa mencapai hampir USD 1000. Umumnya, selain mendukung multiprosesor, dan tingkat komputasi yang canggih, dukungan yang diberikan juga cukup bagus. Paket-paket yang tersedia juga dimaintain lebih baik dan serius. Apabila Anda memang ingin mendapatkan dukungan penuh, dengan tingkat komputasi yang tinggi dan mau membayar, maka tidak ada salahnya mencoba distro untuk kebutuhan enterprise. Tapi, apabila Anda hanya membutuhkan server yang selalu menyala 24x7, dengan service file server (SMB, NFS) atau web server yang terus aktif, Anda sepertinya masih belum perlu mengeluarkan uang sebesar itu untuk membeli distro enterprise. Bagaimana kalau saya ingin membuat distro sendiri? Pertanyaan tersebut akan mirip dengan pertanyaan: menggoreng ayam sendiri? Tentunya, apabila menganalogikan distro dengan ayam goreng siap santap yang dijual di pasaran. Bagi Anda yang selalu membeli ayam goreng siap santap, kenapa sampai Anda harus menggoreng ayam sendiri? Bosan? Tidak ada yang cocok? Atau menimbulkan ketergantungan? Membuat ayam goreng sendiri bukanlah hal yang sederhana. Anda mungkin butuh waktu belajar. Butuh meracik bumbu rahasia sendiri, sampai harus menyediakan alat-alat masak yang cocok. Belum lagi masalah pasca menggoreng. Minyak dimana-mana, piring-piring kotor dan lain sebagainya. Atau, apakah semua akan menjadi lebih sederhana kalau Anda mencari ayam goreng merek lain yang belum Anda coba? Begitupun juga dengan membuat distro sendiri. Saat ini, Anda bisa membaca banyak referensi tentang membuat distro sendiri. Distro besar ataupun distro kecil. Namun, waktu dan biaya yang diperlukan tidaklah kecil. Pastikan Anda sudah mencari dan mendapatkan tidak ada distro yang cocok untuk kebutuhan Anda sebelum Anda membuat distro sendiri. Apakah yang dimaksud dengan penurunan distro? Saya cukup sering mendengarnya. Penurunan distro adalah salah satu cara untuk membuat distro baru, namun tidak memulainya dari nol. Paling tidak, Anda tidak harus merancang manajemen paket, penanganan konfigurasi dan lain sebagainya. Penurunan distro saat ini sedang populer. Apabila Anda sangat senang fitur tertentu suatu distro dan tidak menyukai atau tidak membutuhkan fitur lainnya, Anda bisa-bisa saja membuat distro sendiri dan memfokuskan diri untuk melengkapi dan memperbaiki fitur yang Anda sukai tersebut. Menurunkan suatu distro termasuk membuat distro, namun tidak dari start. Katakanlah membuat distro dari nol akan memulai dari titik nol sampai 10. Menurunkan suatu distro bisa dianggap memulai dari titik ke 8 sampai 10. Banyak sekali tutorial yang membantu bagaimana menurunkan dari suatu distro. Namun, sekali lagi, pikirkan benar kebutuhan Anda. Apakah yang dimaksud dengan live distro? Live distro adalah distro yang umumnya dijalankan dari perangkat removeable dan dapat bekerja tanpa bantuan harddisk. CDROM dimasukkan dan secara otomatis proses booting akan dilakukan dari CDROM tersebut, tanpa menyentuh harddisk Anda dan setelah selesai loading, Anda sudah bisa www.infolinux.web.id menikmati desktop yang indah, atau login prompt. Semua hal tersebut dimungkinkan karena adanya RAM disk. Bagian dari RAM diambil dan dijadikan filesystem root untuk sementara untuk file yang berubah. Sebagian file yang tidak berubah (seperti program) akan tetap berada di CDROM untuk diakses. Contoh distro live komplit yang populer belakangan adalah Knoppix. Live distro juga umumnya digunakan sebagai router atau firewall dengan memanfaatkan disket dan komputer kuno. Apabila ada masalah, maka komputer tinggal di reboot. Fungsi lain dari live distro adalah demo produk. Banyak sekali distro yang kini menampilkan video produk setelah selesai loading. Apakah yang harus saya lakukan sebelum memilih distro? Memilih distro adalah pekerjaan yang gampang-gampang susah. Masalahnya, Anda harus mendefinisikan dahulu kebutuhan dan budget Anda dan setelah itu, barulah pemilihan dapat dilakukan dengan baik. Apakah Anda ingin distro yang mudah digunakan, lengkap, update tersedia cepat, deteksi hardware baik dan sekaligus mendapatkan dukungan dari pembuatnya? Atau hanya sekedar mudah diinstall dan lengkap? Atau ingin dijadikan sebagai server yang selalu sibuk? Perhatikan juga bahwa distro mungkin bisa Anda download, namun biaya support dan training mungkin akan menjadi mahal. Hitunglah baik-baik. Membeli distro seharga USD 90 mungkin akan jatuh lebih murah apabila Anda membeli distro seharga USD 35 namun training dan support harus dilakukan lebih sering dan berat. Saya mungkin akan sering berpindah distro. Tindakan berjaga-jaga apa yang harus saya lakukan agar tidak mengulang belajar? Berpindah distro adalah hal yang potensial terjadi. Agar tidak mengalami kesulitan mempelajari distro baru dari nol lagi, usahakan Anda memahami Linux itu sendiri. Kemudian, usahakan menggunakan tooltool standar dan jangan terlalu tergantung pada fasilitas distro. Menggunakan tentu saja boleh, namun, tetap pahami cara kerjanya (apabila Anda beresiko tinggi harus berpindah distro, dan kemudian langsung bekerja tanpa kesempatan belajar). SUSE mungkin INFOLINUX 02/2005 37 UTAMA Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial 50 Pertanyaan Seputar Linux hebat dengan YaST, tapi paling tidak, Anda harus tahu file mana yang diedit ketika menjalankan file tertentu misalnya. YaST juga handal dalam manajemen paket program, tapi sesekali, cobalah menggunakan RPM. BOOTLOADER DAN BOOTING Bagian ini berisikan beberapa pertanyaan tentang penggunaan bootloader dan proses booting secara umum. Memahami keduanya adalah salah satu cara memahami sistem Linux itu sendiri. Apakah bootloader itu? Bootloader, seperti namanya adalah program yang bertugas untuk menjalankan proses booting sistem operasi. Umumnya, program ini disimpan dalam MBR harddisk Anda, dan bertindak sebagai boot manager. Umumnya, bootloader akan selalu terinstalasi apabila Anda melakukan instalasi Linux. Bootloader juga sangat berguna ketika Anda menggunakan dua sistem operasi seperti Linux dan Windows. Dengan demikian, ketika proses booting dilakukan, Anda akan menjumpai sebuah menu kecil untuk memilih sistem operasi ataupun memberikan opsi tertentu pada sistem operasi tertentu. Saat ini, bootloader yang terkenal Apakah bootloader-bootloader populer dan umum digunakan di Linux? Lilo dan grub. Lilo telah dikembangkan cukup lama namun sangat konvensional. Grub lebih baru dan mudah digunakan. Umumnya, Anda tidak perlu memilih grub loader yang ingin diguankan pada saat instalasi distro. Hampir semua distro telah memilih bootloader tertentu sebagai bootloader default. Bagaimana saya menginstall bootloader? Instalasi bootloader akan dilakukan secara otomatis ketika Anda melakukan instalasi distro. Namun, apabila Anda ingin melakukannya secara manual, Anda dapat melakukannya sendiri. Bootloader lilo haru selalu diinstall kembali apabila kita melakukan pengubahan file-file yang dibutuhkan pada saat booting. Hal ini disebabkan karena lilo akan merekam posisi file di dalam harddisk secara keras. Untuk menginstall ulang lilo, sebagai root, ketikkan perintah berikut ini: # lilo 38 INFOLINUX 02/2005 Grub lebih modern dan tidak memerlukan instalasi ulang apabila ada file yang berubah. Grub tidak merekam posisi file di harddisk secara keras. Namun, instalasi ulang grub bisa dilakukan terutama apabila bootloader Anda dihapus oleh program tertentu, atau Anda melakukan instalasi Windows XP setelah menginstall Linux karena Windows XP akan menimpa bootloader dengan miliknya. Untuk instalasi ulang grub, berikan perintah berikut ini sebagai root: # grub-install <DEVICE> sebagai contoh: # grub-install /dev/hda Bagaimana saya dapat meng-uninstall bootloader? Cara yang pertama, dengan menghapus beberapa byte tempat bootloader terinstallasi (menggunakan program dd) sebaiknya tidak dilakukan karena resikonya terlalu besar. Apabila Anda menggunakan lilo, maka Anda bisa memberikan perintah berikut ini untuk menghapus lilo: # lilo -u Bagi Anda yang memiliki bootdisk Windows-windows lama, Anda juga mempergunakan program fdisk seperti berikut ini untuk memaksa MBR dibersihkan: # fdisk /mbr Bagaimanakah proses boot di Linux? Pertama-tama, bootloader akan menjalankan kernel. Kernel kemudian akan melakukan dekompresi dan melakukan inisialisasi struktur datanya di memori, sekaligus melakukan beberapa persiapan yang diperlukan. Setelah kernel selesai, umumnya, pada distro-distro modern, image ramdisk akan dijalankan dan root file sistem sementara akan dimount ke ramdisk sehingga Anda akan memiliki sebuah sistem Linux kecil di RAM Anda. Sistem Linux kecil ini umumnya akan melakukan beberapa persiapan sebelum memasuki sistem yang sebenarnya. Salah satu contoh yang umum adalah menjalankan modul untuk filesystem tertentu, atau bahkan menjalankan modul untuk harddisk tertentu. Sistem Linux kecil ini berfungsi sebagai penengah antara kernel www.infolinux.web.id dan root yang sebenarnya. Di distro-distro kuno (beberapa tahun lalu, dengan pengecualian beberapa distro besar), hal ini umumnya tidak dilakukan karena ada yang melakukan kompilasi kernel tanpa menggunakan modul. Sistem Linux kecil ini sangat berguna karena kernel saat ini umumnya cukup minimalis dengan banyak modul disekitarnya. Setelah sistem Linux mini ini selesai, root filesistem yang sebenarnya siap diakses. root filesistem kemudian dimount dan kontrol segera diserahkan kepada program init (nenek moyang proses di Linux, program yang pertama dijalankan setelah memasuki root filesistem yang sesungguhnya), yang akan membaca konfigurasi init di /etc/inittab. Langkah berikutnya akan sangat tergantung kepada inittab. Tentunya, runlevel akan dibaca terlebih dahulu dan sistem akan melanjutkan eksekusi service sesuai runlevel. Langkah berikut ini juga sangat tergantung prinsip yang dianut distro. Umumnya, semua script-script untuk menjalankan service sesuai runlevel akan dijalankan. Script-script tersebut umumnya terletak di /etc/rc.d/rc<RUNLEVEL>.d/* Sesuai dengan nomor urutnya, scriptscript tersebut kemudian dijalankan. Salah satu dari script tersebut ada yang akan menjalankan program authentikasi, yang mana setelahnya, Anda akan melihat login prompt baik dalam modus teks ataupun GUI. Proses booting pun selesai. Apakah yang dimaksud dengan service sistem operasi? Servis sistem operasi adalah program-program yang akan dijalankan, terutama ketika booting. Umumnya, di sebagian besar distro Linux, script-script untuk menjalankan service tersebut akan disimpan di /etc/rc.d/* atau /etc/init.d/*. Linux saya lambat sekali. Apakah yang bisa saya lakukan untuk mempercepat booting? Mempercepat booting dapat dilakukan salah satunya dengan mengurangi service yang dijalankan pada saat booting. Beberapa diantaranya dapat dilakukan belakangan, atau Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial UTAMA 50 Pertanyaan Seputar Linux secara manual. Ada beberapa hal yang cukup eksperimental untuk dilakukan. Beberapa sistem operasi dapat booting dengan sangat cepat dengan salah satu trik umum adalah menjalankan service yang kurang penting namun lambat setelah layar login ditampilkan. Dengan demikian, user tidak akan merasa menunggu terlalu lama. Tergantung distro Anda, Anda juga dapat melakukan hal yang sama dengan mengubah nomor urut service (perhatikan SXX<SCRIPT> di /etc/rc.d/rc<RUNLEVEL>.d/*. Hal ini bukan ide yang baik, namun bisa menipu. Cara yang lebih baik adalah dengan mengubah total mekanisme eksekusi service sehingga service akan dijalankan oleh program yang mampu menjalankan service dengan pengaturan proses yang baik, mampu melakukan threading atau forking yang baik, tergantung konteks. Cara ini digunakan pada sistem operasi populer lain yang dapat loading dengan sangat-sangat cepat. Intinya, kita merasa cepat karena kita segera menjumpai tampilan untuk kita. Apakah yang dilakukan ketika melakukan kustomisasi proses booting? Secara sederhana adalah dengan mengubah runlevel, mengatur service-service yang akan dijalankan dan mengatur prioritas service. Berhati-hatilah dalam mengatur proses booting. Salah-salah, sistem bisa tidak dapat diboot. Apakah yang dimaksud dengan runlevel? Runlevel akan mengatur service-service apa saja yang akan dijalankan selama booting. Sebagai contoh, runlevel 1 hanya akan menjalankan service yang cukup untuk menjalankan sistem single user. runlevel 2 pada beberapa distro adalah multiuser tanpa kemampuan jaringan, runlevel 3 adalah multiuser dan jaringan, runlevel 4 pada beberapa distro tidak digunakan, dan runlevel 5 adalah multiuser, jaringan dan modus grafikal. Tidak semua distro menuruti aturan ini. Ada beberapa runlevel tambahan, diantaranya, runlevel 0 untuk shutdown, dan runlevel 6 untuk restart. Apakah yang dimaksud dengan ramdisk? Ramdisk adalah cara untuk menggunakan sebagian dari RAM sebagai disk. Dengan demikian, sebagian RAM tersebut bisa kita format, bisa kita mount dan kita gunakan laksana partisi sendiri. Umumnya, ramdisk pada saat booting digunakan untuk sistem Linux mini sebelum memasuki sistem Linux sesungguhnya. PARTISI DAN FILESISTEM Bagian ini akan membahas beberapa hal sehubungan dengan partisi dan penggunaan filesistem. Pemahaman akan hal ini akan menjadikan kita lebih memahami Linux. Bagaimanakah membuat partisi di Linux? Pembuatan partisi di Linux dapat dilakukan menggunakan program fdisk. Namun, program ini tidak bisa digunakan untuk mengubah ukuran partisi tanpa merusak data didalamnya. Program lain yang dapat Anda gunakan adalah program parted (pernah dibahas di InfoLINUX). Program ini dapat digunakan untuk mengubah ukuran partisi tanpa kehilangan data. Namun, satu hal yang harus kita sepakati di sini adalah tidak bijak untuk mengubah terus menerus ukuran partisi. Kita memiliki cara yang lebih baik apabila Anda membutuhkan ukuran partisi yang sangat dinamis. Kita akan membahasnya pada poin terakhir di bagian partisi dan filesystem. Apa yang dimaksud dengan ID partisi? Setiap partisi yang kita buat bisa memiliki ID untuk digunakan pada sistem operasi tertentu. Kita sebut ini sebagai partition ID. Sebagai contoh, pada fdisk, kode untuk partisi Linux adalah 83. Untuk NTFS adalah 7, dan lain sebagainya. Anda bisa menjalankan fdisk dan mengetikkan l sebagai perintah untuk menampilkan id partisi. Bagaimana cara mudah menyiapkan partisi untuk Linux? Mempersiapkan partisi dari Windows merupakan salah satu cara yang baik apabila Anda ingin menginstall Linux setelah menginstall Windows. Siapkan minimal satu partisi berukuran miniml 4 GB, dengan tipe FAT32 misalnya. Anda bisa memformatnya apabila diinginkan. Bagaimana partisi minimal untuk menjalankan Linux? Cukup satu partisi berukuran kurang lebih 4 GB. Itu saja. Dengan asumsi, komputer anda www.infolinux.web.id memiliki kecepatan CPU lebih tinggi dari Pentium III 500 dan RAM minimal 256 MB. Anda tidak perlu menyediakan partisi-partisi lain seperti untuk boot, untuk user dan lain sebagainya apabila Anda hanya menggunakan Linux untuk kebutuhan pribadi. Apakah filesystem yang digunakan di Linux? Kita mengenal cukup banyak filesistem yang didukung Linux. Sebut saja ext2 dan ext3. Kemudian, ada pula reiserfs dan jfs. Dan, masih banyak lagi. Umumnya, saat ini, gunakanlah filesistem yang mendukung fasilitas journaling seperti ext3. reiserfs dan jfs. Dengan sistem journaling, pengubahan ke perangkat keras hanya akan dilakukan apabila jurnal telah di-commit. Hal ini akan membuat filesistem Anda tidak rentan ketika sistem mengalami kegagalan listrik. Ketika file sedang dikopi dan waktu commit belum tercapai, maka jurnal akan di-rollback dan hanya membutuhkan perbaikan kecil pada filesistem dengan asumsi ada beberapa bagian file yang terkopi. Penulis telah menggunakan reiserfs untuk waktu yang lama, dan cukup puas. Bagaimana saya harus memilih filesystem? Memilih filesystem adalah hal yang juga gampang-gampang susah. Namun, seperti dibahas sebelumnya, Anda harus memilih filesistem dengan kemampuan journaling. Setelah itu, pikirkan baik-baik, apakah filesistem Anda akan dipenuhi oleh file kecilkecil namun banyak, atau file besar-besar. Beberapa filesistem lebih cermat dalam menangani file-file kecil dan lain sebagainya. Pembahasan mengenal hal ini tidak dibahas pada kesempatan kali ini. Hal lain yang perlu dipikirkan adalah apakah Anda membutuhkan fitur lain seperti kemampuan resize on the fly dan lain sebagainya. Penulis beberapa kali membutuhkan resizing partisi, dan reiserfs datang dengan tool yang cukup mampu dalam melakukan resize on the fly. Bagaimana saya memformat disk di Linux? Pembuatan partisi, atau yang lebih kita kenal dengan istilah format di Windows adalah mempersiapkan partisi untuk menyimpan file-file. Dalam tahap pembuatan INFOLINUX 02/2005 39 UTAMA Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial 50 Pertanyaan Seputar Linux filesystem ini, beberapa hal akan disesuaikan dengan tipe filesistem, termasuk alokasi beberapa bagian disk untuk menyimpan jurnal, atribut tambahan, dan lain sebagainya. Umumnya, di Linux, pembuatan filesistem dapat dilakukan dengan program berawalan mkfs.*, sebagai contoh: /sbin/mkfs.ext3 /sbin/mkfs.reiserfs /sbin/mkfs.msdos /sbin/mkfs.xfs Apakah yang dimaksud dengan mount? Mount adalah proses menghubungkan suatu partisi atau perangkat dengan filesistem aktif. Proses mount (menggunakan program mount) akan melibatkan dua komponen utama: device dan mount point. Device adalah partisi atau perangkat, sementara mount point adalah direktori sementara untuk menampung isi device. Dengan demikian, untuk mengakses partisi atau device tersebut, kita mengakses ke direktori mount point. Setelah semuanya selesai, kita melakukan unmount dengan program umount dan direktori tersebut kembali menjadi direktori biasa. Bagaimana saya memeriksa filesystem di Linux? Memeriksa filesystem dapat dilakukan secara periodik. Filesistem di Linux cukup tangguh, namun tindakan preventif selalu penting. Untuk memeriksa filesistem, kita menggunakan program fsck.* seperti berikut ini: /sbin/fsck.reiserfs /sbin/fsck.ext3 /sbin/fsck.xfs Apakah yang dimaksud dengan virtualisasi storage? Virtualisasi storage adalah mekanisme dimana kita membuat seolah-olah device penyimpanan menjadi virtual. Tidak tergantung lokasi, tidak tergantung partisi atau disk, dan lain sebagainya. Kita akan mengambil salah satu aspek virtual untuk storage: tidak tergantung partisi/disk. Bayangkan skenario berikut ini. Anda memiliki 3 partisi, masingmasing berukuran 10 GB. Partisi pertama untuk Linux, yang kedua untuk Windows, dan yang ketiga untuk data. Suatu hari, partisi pertama penuh sementara Anda masih membutuhkan tempat. Anda tidak bisa be- 40 INFOLINUX 02/2005 gitu saja menggunakan partisi ketiga. Dalam kondisi ini, mungkin karena perancanaan yang tidak terlalu matang, kita berhadapan pada kondisi tidak optimal. Partisi pertama sesak dan kita terus membutuhkan ruang, sementara partisi ketiga kosong melompong. Mengubah ukuran partisi dengan Partition Magic atau parted bukan solusi yang bijak. Solusi yang baik adalah dengan memiliki chunk-chunk kecil partisi, yang siap kita tambahkan atau kurangi dalam sebuah partisi virtual/logikal yang dibangun juga diatas disk virtual. Semua hal ini dimungkinkan dengan LVM (pernah dibahas langkah demi langkah di InfoLINUX). INSTALASI SOFTWARE Instalasi software dan manajemen paket adalah isu yang tidak ada habis-habisnya di Linux. Kita akan membahas beberapa hal seputar isu ini. Memahami instalasi software akan membantu kita menguasai sistem Linux lebih baik lagi. Bagaimakah konsep pengaturan software di Linux? Di Linux, kita mengenal pustaka dan aplikasi. Sebisa mungkin, sebuah aplikasi menggunakan pustaka yang telah tersedia, daripada mengimplementasikannya sendiri. Oleh karena itu, banyak pengembang aplikasi yang mengandalkan pustaka yang tersedia. Dan, ketika aplikasinya didistribusikan, maka aplikasi tersebut akan menuntut ketersediaan pustaka yang dibutuhkan. Ini adalah hal yang penting untuk dipahami. Apabila setiap aplikasi berniat membundel pustakanya sendiri, maka instalasi software tidak akan serepot ini di Linux. Cara seperti ini memang mudah, namun nantinya akan menimbulkan redundansi pustaka dan konflik pustaka. Kita cukup jarang menemukan pustaka suatu aplikasi disimpan di dalam direktori aplikasi, kecuali aplikasi yang besar dan unik. Di Windows, kita bisa menemukan .DLL dimana-mana, termasuk banyak sekali di program files. Di Linux dan di Windows, pendekatan yang digunakan berbeda. Apakah aplikasi statis dan dinamis itu? Aplikasi dikatakan dikompilasi statis apabila pustaka-pustaka yang dibutuhkan dikompilasi ke dalam binary aplikasi. Dengan demikian, aplikasi tidak lagi membutuhkan pustaka www.infolinux.web.id tambahan. Tidak semua dapat dikompilasi secara statis. Binary aplikasi akan berukuran jauh lebih besar. Pendekatan ini sangat umum ditemukan di Windows, namun tidak umum di Linux. Di Linux, aplikasi lebih banyak dikompilasi secara dinamis. Sebagai konsekuensinya, sebuah program akan bisa bergantung pada banyak pustaka. Ukuran binary akan menjadi kecil sekali. Untuk melihat suatu program bergantung pada pustaka apa saja, gunakan program ldd, seperti contoh berikut ini: $ ldd /bin/ls linux-gate.so.1 => (0xffffe000) librt.so.1 => /lib/tls/ librt.so.1 (0x40035000) libacl.so.1 => /lib/ libacl.so.1 (0x4003d000) libselinux.so.1 => /lib/ libselinux.so.1 (0x40043000) libc.so.6 => /lib/tls/ libc.so.6 (0x40052000) libpthread.so.0 => /lib/ tls/libpthread.so.0 (0x40167000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) libattr.so.1 => /lib/ libattr.so.1 (0x40177000) Bagaimana cara saya mengerti direktoridirektori Linux? Direktori-direktori yang digunakan oleh aplikasi dibedakan menjadi beberapa: program, pustaka, konfigurasi, data dan dokumentasi. Umumnya, untuk program, akan diletakkan di /bin, atau /usr/bin, atau /usr/local/bin. Untuk pustaka, umumnya diletakkan di /lib, /usr/lib, atau /usr/local/lib. Untuk konfigurasi, umumnya di /etc. Untuk data, umumnya di /usr/share/. Untuk dokumentasi, umumnya di /usr/share/doc. Pendekatan seperti program files di Windows juga dapat ditemukan di Linux, dan disimpan di direktori /opt. Apakah yang dimaksud dengan paket aplikasi seperti RPM? Karena prinsip aplikasi di Linux yang ingin menggunakan apa yang telah ada, maka packager aplikasi tidak perlu membundel semua dalam satu paket dan membuat installer sendiri. Cukup sertakan semua file yang dibutuhkan, dan katakan saja aplikasi yang ingin UTAMA Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial 50 Pertanyaan Seputar Linux didistribusikan memerlukan pustaka atau program apa. Atau, konflik dengan program apa yang lain sebagainya. Semua program, deskripsi dan aplikasi tersebut kemudian dibundel dalam satu paket. Kita mengenal beberapa tipe paket. Yang umum ditemukan adalah RPM dan DEB. Paket RPM digunakan oleh distro-distro seperti Red Hat dan SUSE, sementara, DEB digunakan oleh Debian, Knoppix, dan lain sebagainya. Paket-paket tersebut tidak executable. Mereka memerlukan program seperti rpm ataupun dpkg untuk dapat diinstall. Bagaimana kompatibilitas paket antar distro? Pertanyaannya adalah: apakah kita bisa menggunakan RPM untuk Red Hat di SUSE? Jawabannya tegasnya adalah tidak, walaupun dengan beberapa pengecualian. Walaupun sama-sama RPM, aturan-aturan pada setiap distro mungkin menjadikanya tidak kompatibel. Sebagai contoh, di Red Hat, suatu paket mungkin dinamakan A. Sementara, di SUSE, mungkin A1. Paket B yang ingin kita install membutuhkan A, sementara, tidak ada A di SUSE. Padahal, fungsionalitas A datang bersama A1. Aturan lain yang berbeda adalah pustaka yang digunakan. Dan, ini sangat kompleks. Hal lain yang menjadikannya tidak kompatibel adalah direktori peletakan file. Ada paket yang kompatibel satu sama lain, dan sebagian besar tidak. Cari dahulu paket untuk distro Anda (perhatikan dulu versinya) sebelum mencoba-coba paket untuk distro lain, walau sepertinya kompatibel. Bagaimana caranya melihat isi dari suatu paket? Gunakan saja program-program yang ada seperti Midnight Commander. Tekanlah Enter pada file paket, dan Anda dapat mengamati isinya. Cara lain adalah menggunakan program untuk menangani paket tersebut, seperti rpm atau dpkg. Namun, membutuhkan banyak opsi dan relatif lebih repot. Cara lebih mudah adalah dengan memanfaatkan berbagai tool berbasis GUI yang tersedia. Apakah tersedia setup.exe di Linux? Ada, namun belum umum. Beberapa implementasi seperti Inno setup telah tersedia, namun karena konsep aplikasi di Linux Situs web www.distrowatch.com. yang memanfaatkan apa yang tersedia, implementasi installer seperti di Windows menjadi lebih repot. Dan, kita rasa-rasanya tidak seberapa perlu sampai mencari implementasi yang terbaik. Microsoft bahkan belakangan ingin meniru konsep di Linux dengan format MSI nya. Bagaimana penanganan file konfigurasi di Linux ketika kita mengupgrade suatu paket? Penanganan file konfigurasi oleh package manager (rpm, dpkg) umumnya sangat baik. Apabila suatu program ingin diupgrade, atau bahkan dihapus, umumnya konfigurasinya akan ditangani dengan baik sekali. Konfigurasi tidak dihapus apabila user tidak diminta. Sementara, ketika upgrade, terdapat mekanisme yang akan sebisa mungkin memanfaatkan konfigurasi yang ada (apabila memungkinkan) sehingga user tidak harus melakukan konfigurasi ulang. Bagaimana melakukan uninstalasi aplikasi di Linux? Uninstalasi aplikasi di Linux dapat dilakukan semudah kita melakukan instalasi program di Linux. Caranya adalah dengan menggunakan package manager. Namun, ada sedikit hal yang perlu dipahami. Karena Linux memanfaatkan apa yang telah tersedia, maka sangat mungkin sekali apa yang ingin Anda hapus www.infolinux.web.id tersebut diperlukan oleh paket lain. Dan, Anda tidak bisa menghapus paket tersebut begitu saja. Kala memang mau, hapus semua yang membutuhkan paket yang ingin Anda hapus tersebut, barulah paket tersebut dihapus. Caranya tidak harus selalu manual. Bagaimana saya dapat menginstall program Windows di Linux? Hal tersebut dapat dimungkinkan dengan bantuan program Wine. Pastikan Wine telah terinstall dan Wine dapat menjalankan aplikasi yang ingin Anda install tersebut. Kunjungi winehq.com untuk informasi lebih lanjut. Selanjutnya, jalankan setup.exe atau apa saja nama file installernya, dengan bantuan Wine, seperti: wine setup.exe Semua file akan disimpan di dalam .wine di home directory Anda. Di dalam .wine tersebut, Anda seolah-olah akan menemukan sistem Windows kecil. Dengan memahami sifat dan karakteristik Linux, kita akan dapat menguasai Linux. Mungkin butuh waktu yang lebih lama atau proses yang lebih panjang, tapi Linux adalah sistem operasi yang bisa dipelajari dengan sangat menyenangkan. Setelah mengerti Linux, percayalah, usaha Anda tidak akan sia-sia. Selamat mencoba dan menguasai Linux! INFOLINUX 02/2005 41