8/08/2011

5 Hal yang perlu Anda ketahui setelah memakai Linux selama seminggu

Jadi, udah seminggu makai Linux? Gimana? Agak bingun? Kurang srek? Yah, santai aja: semua pemula memang gitu. Emang pas kalian pakai Windows, langsung bisa, gitu? Pasti ada belajarnya 'kan?

Nah, berikut adalah hal-hal yang perlu Anda ketahui tentang Linux bila sudah menggunakannya kurang lebih satu minggu, demi memperlancar pengalaman Anda.


  1. Tata filesystem di Linux
    Pada Windows, kalian pasti terbiasa dengan melihat C:\, D:\ dan seterusnya untuk setiap perangkat. Sayangnya, Linux tidak berpikiran begitu (akan dijelaskan di nomor berikutnya).

    Daripada basa-basi coba-coba nerangin apa maksud siapa, langsung saja:
    • /
      Dibaca "root", / merupakan akar dari Linux. Semua file dan folder tersimpan di lokasi ini. Pada umumnya, sangat disarankan untuk tidak menaruh file disini, melainkan aturan utama mengenai / adalah hanya untuk folder.
      Dibawah /, ada beberapa folder sistem yang penting. Dibawah saya jelaskan yang umum-umum:

    • /home
      Dibaca "root home" atau "slash home", /home menampung semua file pribadi setiap user.
      Misalnya untuk pengguna dengan username "sasha", maka folder home dia akan terlihat seperti: /home/sasha.

    • /bin, /sbin dan /usr/bin
      Ketiga direktori ini menampung semua file biner untuk dijalankan. Pada umumnya, /bin menampung perintah-perintah umum dan dasar pada sistem Linux, seperti cd, cat, touch, ls, man, dll. /sbin menampung semua perintah khusus untuk administrasi sistem, seperti ping dan sebagainya. /usr/bin menampung sisanya, yaitu perintah dan aplikasi umum seperti nautilus, gnome-terminal, gedit, gcalc-tool dan lain-lain.

    • /usr
      /usr menampung file-file dan direktori statik, yaitu file dan direktori yang jarang sekali kena modifikasi. Umumnya, file-file di bawah /usr adalah file yang dapat dibaca oleh semua pengguna, namun tidak dapat ditulis (kecuali superuser, tentunya).

    • /etc
      Direktori ini umumnya menampung file-file configurasi untuk aplikasi-aplikasi Linux.

    • /var
      Ini sering disebut sebagai kebalikannya /usr. /var mengandung file-file yang berubah-ubah secara konstan (variable). Umumnya dipakai aplikasi sebagai tempat cache. Karena sifatnya yang variabel, maka ini satu-satunya direktori selain /home/[username] yang dapat dibaca dan ditulis oleh semua orang.

      Direktori / umum.

  2. Partisi bukan Harddisk
    Mungkin bagi yang beralih dari Windows, mereka terbiasa menganggap sebuah partisi sebagai sebuah drive berbeda.
    Pada Linux, ini bukan kasusnya.

    Untuk sebagian besar perangkat (mungkin semua), mereka dianotasikan sebagai file dibawah folder masing-masing; jadi 1 perangkat, 1 folder. Disini saya hanya akan menjelaskan perangkat media penyimpanan seperti HDD, HDD eksternal, FD, dan lain-lain.

    Perankgat media penyimpanan ada beberapa jenis, yang paling umum adalah ATA dan SATA. Nah, sekarang penjelasan yang rumitnya: untuk setiap media penyimpanan ATA, akan dikasih ID /dev/hdx, begitu juga untuk SATA: /dev/sdx.
    x disini adalah ID urutan di sistem (sistem yang menentukan), dinyatakan oleh huruf. Misalnya jika Anda memiliki HDD utama (on board), maka akan hampir pasti muncul sebagai /dev/sda. Untuk yang kedua /dev/sdb (misalnya untuk HDD eksternal), ketiga /dev/sdc (misalnya untuk Flash Disk), keempat /dev/sdd (untuk Flash Disk kedua) dan seterusnya.

    Bagaimana untuk partisi? Partisi dinyatakan oleh angka setelah ID urutan. Jadi, untuk partisi pertama di /dev/sda, akan muncul sebagai /dev/sda1; partisi kedua /dev/sda2. Jadi misalnya untuk HDD eksternal yang isinya 2 partisi primary dan 3 partisi extended, ID device-nya /dev/sdb, partisi primary pertama adalah /dev/sda1, kedua adalah /dev/sda2, dan untuk extended /dev/sda3, diikuti oleh 3 partisi logical-nya /dev/sda4/dev/sda5 dan /dev/sda6.

    Perintah fdisk -l menampilkan daftar partisi. Seperti yang saya katakan diatas, partisi extended akan dianggap partisi.

    Ingat, dari contoh diatas, partisi extended dihitung sebagai partisi primary, walaupun sebenarnya hanya merupakan wadah untuk partisi logical (nanti kalo nggak paham, saya bikin postingannya sendiri).

    Catatan kedua: /dev/sda merupakan hardware-nya sedangkan /dev/sda1 merupakan partisi-nya. Sering sekali orang yang tidak tahu perbedaan kedua itu tidak sengaja membuat komputer mereka jadi kentang gosong.

  3. Istilah yang akan Anda temui selama di dunia LinuxLinux terdiri dari banyak unsur, dan unsur-unsur tersebut saling berhubungan, namun tidak saling ketergantungan dengan satu jenis (yah, paling nggak untuk sebagian besar unsurnya, lah). Berikut adalah beberapa istilah yang akan membantu Anda dalam mengatasi masalah (mudah-mudahan):

    • Repositori (repo)
      Secara singkat, repo adalah suatu pusat file-file paket aplikasi. Pada Linux, pemasangan aplikasi sangat umum (dan lebih disarankan) daripada pemasangan dari file terpisah, karena repo biasanya sangat terawat dari virus, worm dan malware lainnya.
      Biasanya, di Indonesia repo dibagi menjadi dua: repo lokal dan repo biasa. Perbedaannya, pada repo biasa, sang pengguna mesti mengunduh paket aplikasi dari repo yang terletak di jalan raya internet. Kadang-kadang ada beberapa aplikasi yang perlu sekitar 200MB per download, jadi mungkin mereka yang mempunyai bandwidth terbatas kewalahan.
      Makanya ada repo lokal. Pada intinya, repo lokal berperan sebagai repo pada umumnya, namun berada (biasanya) di HDD eksternal (karena satu repo lengkap bisa berpuluh-puluh GB ukurannya).


    • Dependency
      Jika dialih-bahasakan jadi Indonesia, dependency adalah ketergantungan.
      Seringkali, aplikasi Linux tidak dapat berdiri sendiri. Ia perlu file dan library tambahan agar memenuhi "ketergantungan"-nya agar dapat berjalan.
      Sebenarnya dependency ini sangat membantu pada pemrograman Linux. Pada Windows, hampir semua aplikasi mesti menyertakan dependency-nya sendiri. Oleh karena itu, seringkali aplikasi Windows lebih besar daripada seharusnya. Namun pada Linux, jika 2 atau lebih aplikasi membutuhkan dependency yang sama, maka dependency tersebut tidak perlu kita install lagi.

    • Direktori aktif (private working directory -- pwd)
      Istilah ini khusus digunakan dalam lingkungan Terminal. Intinya, direktori aktif atau private working directory adalah direktori yang sang pengguna berada pada waktu itu.

      Perintah pwd berguna untuk mengetahui direktori aktif. Untuk kasus saya, direktori aktifnya adalah /home/adeklipse

    • Desktop Environment
      Atau lingkungan desktop. Secara kasar, DE adalah kumpulan aplikasi yang memberikan Anda desktop. Ini termasuk aplikasi aksesoris, permainan, grafik, internet, perkantoran, multimedia, dan seterusnya. Intinya DE yang bertanggung jawab atas pengalaman desktop.
      Contoh DE: GNOME, KDE, Fluxbox, Openbox, XCFE, LXDE.

    • Window Manager
      Window Manager adalah sebuah program yang bertanggung jawab dalam manajemen jendela di Desktop. Dia yang menentukan bagaimana tingkah laku jendela ketika jendela di-minimize, maximize, di-close, diseret-seret, diubah ukurannya, dan lain-lain.
      Contoh WM: Compiz, KWin, Enlightenment, Metacity, Mutter.

      Sebuah WM mengendalikan bagaiman tingkah laku jendela-jendela di desktop
    • Window Decorator
      Sesuai namanya, sebuah Window Decorator adalah program yang bertanggung jawab menggambar dekorasi jendela, seperti bingkai dan tombol-tombol close, WD berhubungan langsung dengan sebuah WM, tapi bisa juga menggunakan alternatif. Untuk sebagian besar kasus, sebuah WM sudah disediakan sebuah WD; Compiz mempunyai Emerald, Metacity mempunyai Metacity, Mutter mempunyai Mutter -- sebagian besar dari kasus itu namanya eponimus.
      Contoh WD: Metacity, Emerald, Mutter

      Dekorasi untuk sebuah jendela di atur oleh WM, yang kemudian digambar oleh WD.
    • Shell 
      Shell secara singkat adalah suatu program untuk membantu proses input dan output komputer. Dulu, shell biasanya mereferensikan kepada suatu program yang membantu input dan output pada sebuah Terminal (misalnya tty, nanti kita bahas). Baru-baru ini, dengan munculnya Ubuntu 11.04 dengan Unity dan Fedora 15 dengan GNOME Shell, ada muncul jenis shell yang baru, yaitu shell grafis.
      Intinya tetap sama: untuk membantu proses input dan output komputer, namun dengan pendekatan grafis.

    • Display Manager
      Sebenarnya sebuah DM berperan besar, namun seringkali diabaikan. Banyak orang yang hanya mendefinisikan DM sebagai login screen. Namun itu kurang tepat. Sebuah DM, sesuai namanya, mengatur dan memanajemen tampilan yang dilayar Anda. Selebihnya saya juga kurang tawu. Mangap, :P
      Contoh-contoh DM adalah: GDM, KDM dan LightDM.

    • Display Server
      Ini penjelasannya agak rumit, tapi intinya sebuah display server bertanggung jawab untuk memberikan output ke monitor dari hasil input yang diberikan oleh sebuah Window Manager. Apalagi untuk implementasi paling umum, yaitu xorg, sebuah WM compositing perlu berkomunikasi ke xorg agar fitur compositing-nya terlihat.
      Selain
      xorg, ada juga Wayland. Lain kali saya jelaskan; belum saya pelajari ini...

  4. Perintah-perintah yang berguna
    Berikut adalah perintah-perintah yang akan sangat memudahkan Anda dalam mengatur dan memanajemen sistem Anda:
    • apt-get (Debian, Ubuntu dan turunannya)
      Ini adalah perintah utama jika ingin memasang, menghapus, meng-update dan meng-upgrade aplikasi lewat repositori [mana saja]. Berikut sintaks ringkasnya:
      # apt-get install [nama-aplikasi]: digunakan untuk memasang aplikasi lewat repositori. Perintah ini akan mengambil file-file yang diperlukan -- termasuk dependency -- dan memasangnya, kadang-kadang dengan konfirmasi, kadang-kadang tidak.
      # apt-get remove [nama-aplikasi]: digunakan untuk menghapus sebuah aplikasi dari sistem. Jika ada suatu dependancy aplikasi tersebut yang tidak digantungkan oleh aplikasi lain, maka akan muncul saran bahwa file tersebut dapat dengan aman dihapus.
      # apt-get purge [nama-aplikasi] atau apt-get remove --purge [nama-aplikasi]: kurang lebih sama dengan apt-get remove, namun dengan purge, file-file konfigurasi (yang terletak di /etc) akan ikut terhapus.
      # apt-get update: dapat dibaca di sini (nomor 1). Begitu juga untuk # apt-get upgrade (nomor 5).

      Ingat bahwa apt-get memerlukan hak superuser!

    • add-apt-repository (Ubuntu dan turunannya)
      Perintah ini biasa digunakan untuk menambah sejenis repositori, yakni repo PPA (lain kali ane jelaskan). Yang saya tahu, perintah add-apt-repository juga dapat untuk menambah repo lain selain PPA, tapi implementasi yang paling umum (dan satu-satunya saya ketahui) adalah untuk penambahan PPA. Berikut sintaksnya:
      # apt-add-repository ppa:[nama-ppa]/[sufiks-ppa]
      Beberapa contoh penggunaan perintah ini dapat dilihat di sini.

    • cp dan mv (semua perisa GNU/Linux).
      cp dan mv sangat berperan dalam pengoperasian dan manipulasi file di Linux. Gunanya sederhana saja: menyalin (copy) dan memindah (move -- juga dikenal dengan cut) file-file. Sintaks umumnya ada banyak. Saya coba terangkan satu-satu (umumnya perintah ini juga berlaku untuk perintah mv. Bedanya hanya untuk mv, file sumber hilang):

      $ cp [nama-file] [nama-file-baru] Sintaks ini digunakan jika hanya ingin meng-copy file dan sekaligus mengubah namanya.
      $ cp [nama-file] /lokasi/file/sasaran/ Sintaks ini digunakan bila file sumber berada pada direktori aktif.
      $ cp /lokasi/file/sumber/ [nama-file] Sintaks ini jarang digunakan. Sintaks ini digunakan bila file sumber tidak berada pada direktori aktif, namun direktori sasaran merupakan direktori aktif.
      $ cp /lokasi/file/sumber /lokasi/file/sasaran Sintaks ini digunakan apabila kedua file sumber dan file sasaran berada di direktori berbeda dan tidak keduanya direktori aktif.

      Untuk perintah mv, sintaksnya persis seperti cp.
      Untuk memindah/menyalin folder, sintaksnya juga sama, namun perlu ditambahkan opsi -r. Berikut contohnya:

      $ cp -r /usr/share/themes/elementary/ /home/adeklipse/.themes/ Ini akan menyalin direktori di elementary di /usr/share/ beserta isinya kedalam /home/adeklipse/.themes sehingga akan terbentuk direktori baru di /home/adeklipse/.themes/elementary/
      Ingat untuk memodifikasi file sistem (bukan filesystem, ya) -- termasuk memindah/cut file/folder sistem -- perlu hak yang sesuai.
    • mkdir (semua perisa GNU/Linux)
      Ini perintah hanya untuk membuat direktori baru. Muhammad Kadir mkdir bersintaks:

      $ mkdir [nama-direktori-baru] Ini untuk membuat sebuah direktori pada direktori aktif.

      $ mkdir /lokasi/direktori/baru/[nama-direktori-baru] Ini untuk membuat sebuah direktori diluar direktori aktif.
  5. GNU/Linux
    Mungkin Anda sadar bahwa dari kemarin, saya sering menggunakan isitilah GNU/Linux. Ini karena (beneran, lho) Richard Stallman, ketua proyek GNU, agak iri karena Linux lebih terkenal daripada proyek GNU.
    Sebenarnya, Oom Stallman mempunyai alasan yang bagus buat komplen: hampir semua (tapi kayaknya memang semua) aplikasi untuk Linux itu sebenarnya aplikasi GNU. Ingat, bahwa Linux bukan OS, tapi kernel, jadi perlu aplikasi lain agar bisa berjalan. Jika dianalogikan, Linux  hanya adalah mesin mobil. Sementara GNU adalah rangka, interior, bodi dan lain-lain. Yang kalian lihat sekarang adalah GNU.
    Tapi kenapa GNU tidak memakai kernelnya sendiri? Sebenarnya, ada kernel GNU, bernama GNU Hurd, namun sudah sangat lama didalam pengembangan. Sampai sekarangpun, belum ada versi final yang keluar.
Okeh, cukup untuk sekian. Pengen tidur. =.=;

No comments:

Post a Comment