Minggu, 02 Juni 2013

Mengenal beberapa istilah di dunia Linux


Tizen adalah proyek open source dari Linux Foundation sebagai penerus dari Linux Mobile (LiMo), sehingga banyak sekali teknologi open source asli Linux yang terlibat didalamnya. Apabila Anda menyukai Tizen dan ingin terlibat lebih jauh didalamnya tentunya sedikit banyak harus memahami berbagai istilah yang sering digunakan di dunia Linux atau open source lainnya yang dari segi teknis terkadang memang sulit dipahami orang awam. Artikel berikut ini mencoba untuk membantu Anda yang ingin memahami beberapa istilah yang kerap digunakan di kalangan pengguna Linux.


I. Distro

Distro atau distribusi adalah kumpulan software Linux yang siap di-install. Distribusi meliputi kernel, library, aplikasi-aplikasi sehari-hari, GUI (Graphical User Interface), dan unsur-unsur lain yang disesuaikan dengan keinginan pembuatnya. Distro yang dikemas dalam format CD atau DVD distro memudahkan Anda dalam meng-install Linux karena sebagian besar yang dibutuhkan untuk menggunakan sistem Linux termuat di dalamnya. Selain itu, sistem installer-nya yang relatif mudah dimengerti, menjadikan proses install Linux semudah menekan beberapa tombol "Next" lalu selesai. Sebelum kehadiran distro Linux, tidak semua orang bisa meng-install-nya karena harus memahami cara meng-compile software dari source code-nya. Sebelumnya source code ini di download dari Internet. Baru kemudian di-copy ke hard disk atau storage media lainnya. Konfigurasi juga harus dilakukan secara manual sehingga menyulitkan bagi pengguna pemula. Bandingkan dengan distro masa kini, seperti Ubuntu 12.10 (Quantal Quetzal) yang seluruh proses install-nya membutuhkan waktu 15-30 menit.

Apabila Anda ingin merasakan "tantangan" meng-install Linux di era sebelum kehadiran distro Linux dengan program setup canggih, Anda bisa mencoba project Linux From Scratch. Opsi lain yang sedikit lebih mudah adalah distro Gentoo. Gentoo memaketkan semua software-nya dalam bentuk source code dan baru di-compile saat akan di-install ke komputer pengguna. Namun, proses compile-nya sudah dipandu oleh proses otomatisasi sehingga tidak serumit distro Linux From Scratch.


II. Tarball

Arti harfiahnya yang berarti "bola tar" mungkin terdengar aneh. Terlepas dari arti harfiahnya, tarball merupakan file-file yang dipaketkan dengan utility tar. Lazimnya, file tersebut memiliki extension .tar. Tarball juga bisa dikombinasikan dengan kompresi gzip atau bzip sehingga extension-nya menjadi tar.gz dan tar.bz2. Tarball biasanya memaketkan source dari suatu aplikasi. Sebelum menggunakannya, Anda harus melakukan proses unpack lalu meng-compile-nya. Untuk meng-unpack (uncompress) file .tar gunakan perintah berikut ini.
tar -xf nama_file.tar
Sementara untuk meng-compress-nya, Anda harus menggunakan opsi tambahan:
tar -xzf nama_file.tar.gz
tar -xjf nama_file.tar.bz2
Catatan: Agar lebih sederhana, file dengan extention tar.gz juga sering disingkat menjadi .tgz dan .tar.bz2 menjadi tbz2.


III. Shell

Setiap sistem operasi memiliki kernel yang berperan penting dalam melakukan interaksi sistem dengan hardware. Adapun program shell dihadirkan sebagai media interaksi pengguna de­ngan sistem (komputer) via serangkaian perintah (command line). Shell secara visual wujudnya adalah prompt, misalnya linux@localhost $. Dari kiri ke kanan, masing-masing berarti:
  • nama user adalah linux
  • nama komputer adalah localhost
  • User adalah user biasa. Jika yang aktif adalah root, maka tandanya berganti menjadi #

User dapat memasukkan (mengetik) berbagai macam pe­rintah melalui shell. Perintahnya dapat berasal dari internal bawaan shell atau berasal dari program-program eksternal, termasuk aplikasi yang di-install user, seperti LibreOffice, Firefox, dan lain-lain. Jenis shell yang umumnya digunakan oleh distro adalah bash. Shell meupakan singkatan dari Bourne Again Shell. Jenis shell lainnya antara lain, zsh, csh, dash, tcsh, dan seterusnya. Masing-masing memiliki kelebihan dan kekurangan pada aspek variasi perintah yang dimiliki, fasilitas built-in, auto-completion (bantuan untuk mencari nama dari suatu perintah, nama file dan sebagainya), dan seterusnya.


IV. Kernel

Sistem operasi Linux bisa berjalan karena adanya fondasi yang disebut kernel Linux. Kernel adalah software yang bekerja di low level (tingkat dasar) untuk berinteraksi dengan berbagai hardware di komputer. Jadi, jika Anda sedang berselancar (browsing) lewat Firefox, kernel lah yang mengatur penerimaan dan pengiriman data Anda lewat kartu jaringan atau Wi-Fi komputer. Begitu juga jika Anda memasukkan USB stick atau USB flash drive (UFD) ke port USB, kernel bertugas mendeteksi adanya disk ini dan menyiapkannya agar siap diakses pengguna.

Wujud fisik dari kernel bisa Anda temui di direktori /boot sebagai file dengan nama "vmlinuz" disertai angka versi tertentu. Setiap distro memiliki versi kernel tertentu. Misalnya, Ubuntu 12.02 LTS Precise dan turunannya, seperti distro Mint 13, menggunakan kernel versi 3.2.x. Huruf "x" disini bisa berupa sembarang angka. Jadi bisa saja saat Anda meng-update kernel di Ubuntu 12.04, Anda akan mendapatkan versi 3.2.1. Namun, sampai saat ini, berdasarkan pengamatan penulis, Ubuntu 12.04 masih menggunakan kernel 3.2.0 tetapi dengan angka revisi yang semakin bertambah, contohnya 3.2.0-37-generic. Semakin baru versi distro yang Anda pakai, semakin baru pula versi kernel yang digunakan. Misalnya, Ubuntu 12.10 dengan kernel 3.5.x yang lebih baru ketimbang kernel 3.2.x yang digunakan Ubuntu 12.04. Kernel versi terbaru biasanya membawa peningkatan performa dan kestabilan sistem, penggunaan daya listrik yang lebih hemat, mendukung lebih banyak jenis hardware, dan sebagainya.

Kernel adalah salah satu dari paket-paket Linux yang tidak boleh dihapus sembarangan. Apabila Anda menghapus kernel, apalagi kernel versi tersebut adalah satu-satunya yang Anda di sistem Anda, maka saat Anda me-restart komputer, Anda tidak dapat lagi masuk ke sistem Linux atau sistem akan langsung hang. Umumnya, paket kernel dinamakan "linux-image" di keluarga distro Ubuntu dan "kernel" di keluarga distro Fedora.


V. Window Manager

Antarmuka pengguna grafis atau Graphical User Interface (GUI) Linux dibagi dalam suatu struktur client-server. Di server, ada sistem yang bernama Xorg yang berinteraksi dengan layar monitor dan graphics card Anda. Di sisi client, ada window manager. Bagi distro dengan fasilitas KDE atau Gnome, sisi client-nya dibagi lagi menjadi desktop environment dan window manager. Window manager adalah sistem yang mengatur tampilan grafis dari aplikasi, peletakan window dan berbagai pernak pernik grafis lainnya. Namun window manager tidak ikut campur tentang bagaimana aplikasi berjalan atau menggunakan fasilitas grafis itu sendiri. Dari sisi user, window manager membantu kita me­ngelola susunan window aplikasi di layar desktop, misalnya secara tile (saling berdampingan) atau cascading (bertumpuk satu sama lain).

Window manager modern juga dapat mengatur pembagian layar desktop menjadi beberapa workspace. Workspace berfungsi layaknya virtual desktop bagi satu atau lebih aplikasi. Misalnya workspace satu untuk mengetik, workspace dua untuk browsing, dan seterusnya. Tentu saja, hanya ada satu workspace yang dimunculkan di satau layar monitor. Dengan cara ini, Anda bisa fokus di pekerjaan tertentu saja. Saat ini mayoritas distro Linux menggunakan sistem Gnome (versi 3) atau KDE (versi 4). Masing-masing menyediakan fasilitas canggih dan mudah digunakan pengguna. Sesuai perkembangan zaman, disertakan juga dukungan mouse atau touch gesture sehingga dengan pola gerakan mouse/jari tertentu di mousepad/layar, Linux bisa melakukan aksi tertentu. Semakin nyaman bukan?


VI. Repository

Repository (atau sering disingkat repo) adalah server-server di Internet yang berisi koleksi paket-paket suatu distribusi Linux. Repository juga bisa dikemas secara offline dalam bentuk CD/ DVD yang berisi koleksi paket Linux. Repository adalah rujukan saat kita ingin meng-update sistem Linux. Para pengembang distro Linux biasanya menempatkan paket-paket versi terbarunya di repository berupa online storage server. Konsekuensinya, pengguna yang ingin meng-update Linux harus terhubung ke Internet untuk terhubung dengan repository tersebut. Bagi sebagian orang, hal ini mungkin menghambat sehingga terpaksa meng-update Linux melalui media CD atau DVD repository.

Repository suatu distro biasanya spesifik bagi distribusi tersebut. Misalnya, repository distro Fedora hanya untuk distro Fedora, repository distro Gentoo hanya untuk pengguna Gentoo, dan seterusnya. Pengecualiannya adalah jika distro tersebut masih merupakan turunan dari distro resmi bagi repository. Misalnya, distro Mint sebagai turunan Ubuntu, masih dapat menggunakan repo Ubuntu, disamping repo Mint resminya. Contoh lainnya adalah distro Salix yang memakai repository Slackware.

Repository suatu distro biasanya tersebar di beberapa server di berbagai negara yang disebut mirror repository. Mereka melakukan sinkronisasi setiap selang waktu tertentu dengan server repo utama. Sebagai tambahan, pilihlah repository terdekat de­ngan lokasi Anda di Internet. Anda pun dapat menggunakan fungsi khusus atau plug-in di sistem Linux untuk memandu Anda dalam menemukan repository yang tepat. Kedekatan lokasi repository tidak bersifat mutlak karena kecepatan aksesnya bisa saja lebih lambat dibandingkan server utama yang lebih jauh.


VII. Root

Istilah root bisa membingungkan karena maknanya yang berbeda tergantung konteks yang digunakan. Makna pertama adalah ada root dalam konteks user. Pemakai Windows menamakannya Administrator. Root adalah user dengan kekuasaan tertinggi. Root dapat mengakses file dan direktori apa saja, bisa memformat partisi, membuat account user baru, serta hal-hal lain yang tidak bisa dilakukan user biasa. Sementara makna lainnya adalah root directory berkaitan dengan konteks direktori /. Direktori ini adalah puncak dari hirarki direktori di Linux. Hal ini berbeda dengan sistem Windows yang membagi dalam drive letter (huruf drive) C:, D:, dan seterusnya sesuai partisi yang aktif. Partisi yang di-mount sebagai root directory berperanan penting karena jika rusak akan membuat sistem Linux mogok bekerja (gagal booting atau lainnya). Sebagai catatan, ada juga direktori /root yang merupakan home directory bagi user root. Repotnya, orang sering menyebutnya direktori root meskipun seharusnya dibaca "slash root".


VIII. Mount

Suatu partisi agar bisa diakses isi datanya, harus melewati suatu proses yang disebut mount. Jadi, jika Anda memiliki partisi bernama sda1, data di dalamnya baru dapat diakses jika "disambungkan" ke suatu direktori, misalnya /home/xyz. Perintah yang digunakan di sini adalah:
mount /dev/sda1 /home/xyz
Catatan: perintah ini dijalankan sebagai user root

Proses mount bekerja dengan memasukkan isi partisi ke dalam hirarki direktori Linux. Direktori dan file yang ada di dalam partisi akan terpampang dan bisa ditelusuri lewat berbagai utility, misalnya menggunakan perintah cd. Apabila suatu partisi gagal di-mount karena berbagai alasan (corrupt, bad sector, atau lainnya), isi data pada direktori tersebut tidak dapat dibaca. Tentunya ini bergantung pada seberapa parah kerusakan yang terjadi. Apabila suatu partisi tidak dapat lagi di-mount, Anda harus mengaksesnya menggunakan utility untuk recovery data, seperti Sleuth Kit atau TestDisk.


IX.Daemon

Istilah ini sering jadi plesetan yaitu demon yang artinya hantu atau setan. Memang, sekilas makna konotasi dari daemon cenderung seram, tapi sebenarnya dia menunjuk pada layanan tertentu yang berjalan di sistem kita. Meskipun tidak sama persis, pengguna Windows lebih me­ngenalnya sebagai service.

Sistem Linux masa kini secara default menyertakan banyak layanan, sehingga otomatis banyak daemon yang aktif. Berikut ini beberapa nama daemon dan layanan yang dikontrolnya:
  • CUPS (Common UNIX Printing Service): mengatur proses cetak ke printer, baik printer lokal atau printer jaringan.
  • Apache atau httpd: program web server
  • SANE: mengatur koneksi ke scanner sekaligus mengambil data gambar dari scanner.
  • Samba: membantu akses ke sistem Windows sehingga user bisa mengakses share folder/direktori, atau printer.
  • SSH (Secure Shell): melakukan akses remote yang terenkripsi agar sulit disadap dan dibaca isi komunikasinya
  • Pulseaudio: mengatur sistem suara, sehingga data yang dikirim dari aplikasi terdengar di speaker atau headset melaui sound card.

Daemon otomatis aktif saat Linux melakukan proses boot­ing. Semakin banyak daemon yang aktif, tentunya Linux akan semakin terbebani. Oleh karena itu, pengguna disarankan untuk menon-aktifkan daemon yang tidak dibutuhkan olehnya.


X.Kernel panic

Ternyata bukan cuma manusia saja yang bisa panik, kernel Linux bisa juga panik. Seperti apa bentuk panik dari kernelnya dan apa penyebabnya hingga kernel tersebut menjadi "panik" akan dibahas berikut ini. Kernel panic sebenarnya merupakan istilah yang menunjuk suatu keadaan dimana kernel mendeteksi suatu kesalahan low-level. Umumnya terjadi jika ada eror di module tertentu atau device driver, tetapi bisa juga karena suatu eror di mekanisme kernel, misalnya pengaturan virtual memory. Nah, kernel akan "panik" dan mengeluarkan pesan tertentu di layar atau pada suatu log.

Biasanya pesan yang ditampilkan adalah alamat instruksi yang menyebabkan terjadinya "panik" tersebut. Selain itu, juga ditampilkan seluruh isi register CPU dan runtutan eksekusi prosedur di kernel (sering disebut sebagai stack trace). Informasi ini sebenarnya ditujukan bagi programmer kernel Linux untuk memudahkan mereka melacak sumber penyebab eror tersebut. Saat terjadi kernel panic, hal yang terjadi biasanya adalah sistem tetap berjalan normal atau dampak terparahnya, terjadi crash atau hang. Meskipun jarang terjadi, sistem pun bisa melakukan restart mendadak.

Penasaran kenapa dinamakan panic? Kenapa kok bukan hang atau crash atau sejenisnya? Usut punya usut, ternyata ada fungsi di kernel Linux bernama panic yang bertugas menampilkan informasi di atas sekaligus menindaklanjuti apa yang perlu dilakukan jika langkah recovery perlu dilakukan.



Sumber Majalah Chip

Tidak ada komentar:

Posting Komentar