8/09/2011

5 Hal yang Anda perlu ketahui setelah memakai Linux selama sebulan.

Linux bukanlah merupakan entititas yang padat, melainkan terdiri dari unsur-unsur terpisah yang, apabila dipadukan, akan membentuk OS berbasis Linux yang mungkin Anda pakai sekarang.

Disini, saya ingin menjelaskan tentang beberapa hal yang kalian perlu tahu setelah beberapa bulan pemakaian Linux. Saya agan menggunakan distro elementary OS 0.1 Jupiter sebagai dasar penjelasan saya, dan berhubung Jupiter termasuk turunan Ubuntu 10.10 Maverick Meerkat, maka sebagian besar poin yang saya ajukan akan juga berkaitan dengan Ubuntu.

Langsung saja:
  1. Perbedaan Desktop Environment, Window Managers dan Toolkit.
    Ya, sebenarnya inilah yang menginspirasikan saya membuat postingan ini. Pada postingan sebelumnya, kita telah mempelajari tentang Desktop Environment. Tapi, apa bedanya (misalnya) GNOME dan GTK? KDE dan Qt? Enlightenment dan ETK?

    Untuk penjelasan yang gampang, kita analogikan desktop kita sebagai hidangan makanan:
    DE/meja merupakan sebuah lingkungan/alas. Diatas DE/meja tersebut terdapat sebuah WM/piring yang menampung jendela/isi piring. Didalam WM/piring ada toolkit/makanan yang terdiri dari widget/lauk.

    Penjelasan kasar saya:
    Desktop Environment adalah sebuah lingkungan (dan kadang-kadang termasuk kumpulan aplikasi) yang menyediakan sebuah desktop untuk jendela-jendela.
    Window manager adalah program yang mengatur sistem penjendelaan; dia memposisikan sebuah jendela disini, dia yang mengatur jarak antar jendela ini dengan itu, dia yang mengatur harus berapa desktop yang ada, dia yang mengatur panjang dan lebar jendela, dll.
    Toolkit bak sebuah paket yang isinya beberapa widget. Widget adalah yang menyediakan komponen jendela; dia yang menampilkan tombol-tombol, radio button, checkbox, tabs, text box.

    Klik gambar buat lebih jelas.

  2. tty1, tty2, tty3 hingga tty7.
    tty merupakan singkatan dari teletypewriter. Saya tidak akan detail memasuki topik ini, karena saya sendiri tidak terlalu paham juga.
    Yang saya pahami, tapinya, bahwa tty1, tty2 adalah lingkungan Linux. Coba Anda tekan Ctrl+Alt+F1 (jangan sekarang, habis baca aja), Anda akan dihadapi dengan lingkungan teks. Ini adalah salah satu lingkungan teks Linux, yakni tty1. Coba Anda tekan Ctrl+Alt+F2, Anda akan masuk ke tty2. Ctrl+Alt+F3, F4, F5, F6 akan mengantarkan Anda ke tty3, tty4, tty5 dan tty6, masing-masing.

    Namun tty7 berbeda. Lingkungan ini dikhususkan untuk lingkungan grafis. Setelah Anda puas di tty1 hingga tty6, lalu Anda menekan Ctrl+Alt+F7, Anda akan diantarkan kembali ke modus grafik. Mungkin karena tty7 sengaja direservasi untuk modus grafik kali.
    Kalau masalah tty8, tty9, tty10, 11, 12, dan seterusnya, sayangnya saya belum tahu. Mungkin nanti saya update postingan ini sekali saya tahu.

    <ada yang tahu gimana ngeskrinsyut tty? =.=>

  3. Shell dan jenis-jenisnya.
    Penjelasan singkat: shell merupakan sebuah aplikasi yang memudahkan produktifitas kerja.
    Dulu, mungkin sebelumm tahun 2005, shell hampir eksklusif berlaku untuk terminal Linux. Ini termasuk Bash, Dash, Ash, dll. Mungkin Anda pernah mendengarnya, dan mungkin belum.

    Shell dalam konteks ini bertanggung jawab atas input dan output semua perintah yang dikirim ke kernel Linux. Iya, semua perintah cd, ls, man, touch, cat, dikirim oleh shell ke kernel, diproses, lalu di kembalikan hasil prosesnya ke pengguna. Tapi untuk sebagian besar shell, seperti bash, ia memberika fitur tambahan, antara lain:
    • Tab-autocompletion; sebenarnya yang bertanggung jawab atas autocompletion bukan Terminal-nya, tapi bash-nya. Coba Anda lakukan tab autocompletion dengan sh atau dash; pasti tidak bisa.
    • Command history. Secara umum dapat diakses di ~/.bash_history
    • Custom bashrc. Dengan fitur ini, pengguna dapat menentukan banyak hal, antara lain menentukan behavior fitur autocompletion, menentukan alias, dll.
    • Up down command searching. Mungkin Anda sudah sadar, pada Terminal di Ubuntu dan banyak distro lainnya, ketika memencet tombol up di keyboard, maka perintah terakhir yang Anda gunakan akan muncul. Ini tidak akan terjadi pada sh.
    Perintah-perintah yang Anda kirim ke jendela Terminal sebenarnya tidak Anda kirim langsung ke kernel, melainkan ke shell-nya dulu, lalu shell-nya akan menginterpretasikannya, baru dikirim ke Linux. Oleh karena itu, gnome-terminal, Konsole, Terminator dinamakan "Terminal emulator", sebab ia mengemulasikan input dan output Terminal dalam lingkungan desktop.

    Sedangkan ada lagi tipe shell yang relatif lebih baru, yaitu shell seperti Unity dan GNOME Shell. Sepertinya sudah jelas apa itu shell dalam konteks ini, jadi saya tidak akan membahas lebih.

  4. Channel repositori
    Pada artikel sebelumnya, Anda dikenalkan pada istilah repositori. Nah, beberapa aplikasi memiliki lebih dari 1 oleh karena audience yang berbeda.
    Pertama-tama, ada si pengguna Linux umum: orang kantoran yang pengen komputernya dapat dipercaya, maka ia lebih baik memilih channel yang stable. Kedua, ada yang hobi bermain Linux dan suka aplikasinya memiliki fitur terbaru, namun masih dibawah naung ketakutan akan sistem dia eror; dia lebih baik memakai channel beta. Ketiga, ada pengguna yang menggunakan Linux sebagai hobi, dan tidak takut bila komputernya crash, freeze, hang atau eror -- malah, dia senang ada tantangan; oleh karena itu, dia dapat menggunakan dev atau daily. Keempat adalah seorang pengembang aplikasi Linux, dan akan pastinya menggunakan channel yang dev atau daily.

    Channel juga sering dikenal sebagai branch.
    Jadi, dapat dijabarkan:

    Stable adalah channel yang berisi aplikasi yang telah teruji dan sifatnya stabil, dan memiliki fitur umum dan paling jarang kena update. Hanya fitur-fitur dan fix-fix terstabil dan terkokoh saja yang dapat masuk ke channel stable.

    Beta adalah channel yang berisi aplikasi yang belum teruji sedalam stable, sehingga tidak dapat dikatakan sekokoh dan fungsional stable. Namun beta sering memiliki fitur yang lebih baru daripada stable, walaupun sifatnya sama-sama belum stabil.

    Alpha/dev adalah channel yang luar biasa tidak stabil, dan hanya ada dengan tujuan murni memperbaiki bug-bug yang muncul.

    Daily, weekly, dll. adalah channel yang kurang lebih seperti alpha/dev, namun dengan rilis yang terjadwal. Sementara versi baru keluar di channel dev tergantung kepala pengembang-nya, di channel daily (misalnya), sebuah build baru akan keluar dalam jangka waktu setiap hari; untuk weekly setiap minggu; monthly setiap bulan; dan seterusnya. Channel ini, ketika sebuah build baru dikeluarkan, sangat jarang build tersebut telah teruji, walaupun dalam jangka waktu kecil; ketika kena deadline, maka build baru (mungkin bisa secara otomatis) akan dikeluarkan di channel tersebut.

    Trunk adalah channel yang paling tidak stabil, namun memiliki fitur yang paling baru. Trunk biasanya digunakan sebagai cabangan utama untuk para developer mendapatkan versi terbaru sebuah aplikasi untuk dikembangkan.

    Kebetulan sekali, Ubuntu Chromium sepertinya lengkap cabangannya.

  5. Perbedaan antara GNU dan Linux, dan mengapa banyak orang berpendapat bahwa lebih tepat jika dinamakan "GNU/Linux" daripada "Linux" saja.
    Ini mengangkat kontroversi beberapa tahun yang lalu, mungkin karena Oom Stallman agak sirik dengan Oom Torvalds (haha).

    Ceritanya, sepertinya Torvalds mendapat kredit yang berlebihan mengenai Linux, dan unsur-unsur yang memang membuat Linux "Linux" kurang dapat perhatian.

    Yang saya maksud diatas adalah aplikasi GNU. Pernah dengar?
    Seperti yang telah dibahas pada postingan sebelumnya, Linux bukanlah sebuah sistem operasi, tapi kernel. Hanya kernel, dan itu saja. Bahkan perintah-perintah dasar seperti "cd", "ls", "man", "cat", "touch", dll. bukan termasuk Linux, melainkan termasuk salah satu dari sekian banyak aplikasi GNU yang terdapat didalam Linux. Untuk perintah dasar diatas, disediakan oleh paket aplikasi kecil bernama "gnucoreutils" (maaf kalo salah).

    Dan bagaimana dengan aplikasi-aplikasi Linux lainnya? GNOME? Compiz? Nautilus?
    Secara umum, karena mereka dibangun dengan menggunakan aplikasi-aplikasi GNU, maka mereka secara teknis termasuk aplikasi GNU juga.

    Jadi agak ambigu dan kurang jelas jika kita menganggap Linux yang kita pakai sekarang hanya sebagai "Linux". Mulai sekarang, cobalah Anda kenal dan gunakan dengan nama GNU/Linux.
Sekian untuk posting ini. Mudahan bermanfaat, dan bila ada yang salah TOLONG DIBILANG.
Terima kasih sebelumnya. :)

No comments:

Post a Comment