Pengetahuan Dasar dan 101 istilah umum dalam dunia Linux OS

101 istilah dalam dunia linux yang perlu kamu ketahui ketika belajar linux

Jika kamu pengguna windows baik pengguna biasa atau teknisi sekalipun, kamu bakal rada asing dengan istilah-istilah baru yang digunakan ketika kamu beralih menggunakan LINUX. Istilah berikut ini sangat penting dan sering dipakai sehingga wajib kamu ketahui.

Aplikasi Linux vs Windows

Karena Linux Open source maka yang mengembangkan linux bukan hanya satu team tapi semua orang boleh andil dalam mengembangkan linux, untuk memenuhi kebutuhan tertentu biasanaya komunitas akan membuat module/package/library yang diberinama sesuai keinginan yang membuat, nah nama ini lah yang akan terdengar asing bagi pengguna baru linux. kebanyakan aplikasi linux berbasis console /Command Line Interface (CLI) tak heran jika nama dari aplikasi yang berjalan di CLI dianggap sebagai command linux untuk. Sebagai contoh aplikasi task manager dengan CLI di linux diberi nama top atau htop , maka untuk menjalankan aplikasi tersebut via terminal kita harus mengetikan nama dari program tersebut yaitu top atau htop.

Di linux untuk aplikasi task manager saja ada lebih dari 1 ,hanya saja pasti ada aplikasi yang terkenal,maka kita biasanya menggunakan aplikasi yang terkenal. Untuk aplikasi yang sejenis misalnya task manager bisa memiliki nama yang berbeda untuk versi GUI ,karena aplikasinya dibuat oleh orang/team  yang berbeda pula.

Linux seperti Building Block

membangun linux sistem Jika kamu menggunakan windows,secara default windows sudah membundle GUI dan utilitas untuk mengatur sistem dan kita tidak perlu untuk mengganti utilitas tersebut, misalnya task manager,registry editor,network manager dll. Memang ada aplikasi buatan pihak ke3 diluaran sana yang fungsinya sama tetapi kita tidak perlu menginstall nya karena aplikasi default tidak bisa dihapus karena menjadi satu kesatuan dari windows itu sendiri.

Berbeda dengan LINUX dimana kita bisa memilih package untuk membangun sistem yang kita miliki, kita bisa mengganti Desktop Environment ,mengganti tool utilitas,mengganti kernel,mengganti file manager,mengganti,task manager dll.

Karena linux memang diciptakan dari berbagai komunitas yang ada sehingga linux seperti building block, dimana kita bebas untuk memilih block /package yang akan kita gunakan untuk membangun sistem,walau pada awalnya linux itu memusingkan karena harus berhadapan dengan banyak sekali istilah tetapi jika kamu membaca tulisan ini dijamin akan menuntun mu belajar linux dengan lebih mudah. Linux tidak membatasi kita untuk berkreasi itulah kekuatan dari opensource .

Opensource

Llinux merupakan Opensource Operating system dimana source code (kode yang ditulis oleh programmer untuk membangun aplikasi) dipublikasikan secara bebas untuk komunitas. Komunitas juga diberi kebebasan untuk memodifikasi,mengembangkan dan menyebarkan kembali. kebebasan inilah yang membuat aplikasi opensource cepat berkembang menyesuaikan zaman. karena dalam komuniatas open source setiap orang bisa ikut andil dalam pengembangan aplikasi opensource ini.

GNU

GNU merupakan kependekan dari GNU’s not UNIX.  GNU meiliki pengertian aplikasi yang kompatible dengan UNIX yang  dikembangkan oleh Free Software Foundation (FSF). Tujuan dari GNU adalah semua aplikasi yang dibuat adalah opensource

Kernel

Kernel adalah modul utama dalam sistem operasi (OS) yang menjadi bagian terpenting dari sistem operasi. Kernel diLoad pertama kali pada saat sistem operasi booting dan akan tetap ada di dalam memory samapi sistem dimatikan, oleh karena itu kernel ditempatkan di area terlindung di memory(RAM) untuk menghindari tertimpa oleh memory aplikasi lain .kernel dirancang sekecil  mungkin  agar menghemat resource (karena kernel diload di memory secara permanent begitu komputer dihidupkan).Pada dasarnya kernel bertugas menagani memory management,process dan task management serta disk management, kernel juga sebagai penghubung antara hardware dengan aplikasi yang ada di dalam sistem. kernel biasanya digunakan oleh sistem operasi berbasis UNIX seperti Linux,FreeBSD,Android dll

Boot Loader

Boot loader adalah kode perintah yang bertugas untuk menangani proses booting ke sistem opearsi (OS) sebelum sistem operasi tersebut diload/dipanggil. Boot laoder ini dipanggil setelah proses (Power On Self Test)POST firmware (BIOS /UEFI) selesai ketika proses booting berlangsung.

Sebagai contoh linux menggunakan GRUB /LILO dan windows menggunakan windows boot manager. boot loader ini muncul /terlihat ketika kamu menginstall lebih dari 1 sistem operasi di komputermu (Multi boot)
windows-boot-manager

Unified Extensible Firmware Interface(UEFI) dan  Basic Input Outputsystem – BIOS (Legacy)

Ketika kamu mencet tombol power dan sebelum OS berjalan,maka BIOS /UEFI bertugas utnuk melakukan inisialisasi hardware yang terpasang  pada komputer.OS pun akan berjalan ketika semua hardware yang terpasang terinisialisasi dengan baik.

UEFI adalah generasi baru dari BIOS, UEFI dan BIOS memiliki cara yang berbeda dalam menginisiallisasi harware, sehingga berefek pada performa OS yang kamu gunakan.
UEFI dibuat untuk menghilangkan batasan ketika menggunakan BIOS dan memberi dukungan developer untuk mengembangkan system dengan kapasitas besar dan komputasi yang cepat. menggunakan UEFI sangat disarankan karena UEFI menjadi standar baru dalam dunia komputer saat ini.

–“BIOS hanya bisa membaca Disk dengan kapasitas maximal 2TB”–

GPT(GUID Partition Table) dan  MBR (Legacy) Partition Table

MBR dan GPT adalah partition table yang bertugas untuk menyimpan informasi partisi yang ada di dalam storage drive (HDD dan SSD).seperti dimana sektor awal dan akhir partisi,partisi mana yang bootable,lokasi dari sistem operasi,jumlah dan volume partisi.Oleh sebab itulah pada saat kamu nginstall komputer kamu ditanyakan mau pilih GPT atau MBR yang akan digunakan sebagai partition table. MBR digunakan oleh sistem operasi versi lama dan GPT ada sebagai pengganti atau versi baru dari MBR yang digunakan di komputer modern saat ini. MBR dan GPT memiliki cara yang berbeda dalam menyimpan informasi partisi pada sebuah storage.

  1. Batasan /Kekurangan MBR (Master Boot Record)
    disebut master boot record karena MBR merupakan spesial boot sector yang berada di awal dari sebuah drive,sector ini berisi boot loader dari sebuah sistem operasi yang terinstall dan informasi lain tentang partisi yang ada.
    MBR hanya bisa membaca hardisk dengan kapasitas maximal 2TB, hanya mensupport maximal 4 partisi primary,jika ingin membuat lebih dari 4 partisi maka harus membuat extended partisi dan membuat partisi logical didalam nya.
    mengatur partisi MBR pada windows menggunakan disk management tool
  2. Keuntungan menggunakan GPT
    GPT  menjadi standar untuk GUID partition table ,ini merupakan standar baru yang lahir bersama UEFI.
    disebut GPT (GUID Partition Table) karena setiap partisi yang ada di drive diwakili dengan “globally unique identifier”atau GUID – yang merupakan text random yang panjang sebagai indentitas dari setiap partisi.
    GPT tidak mempunyai limitasi seperti MBR ,limitasi hanya akan ada di sistem operasi, jadi kamu bisa memasang drive dengan kapasitas besar diatas 2TB dan bisa membuat partisi sebanyak yang kamu mau sampai sistem operasi membatasinya.
    Ketika MBR menyimpan informasi di satu tempat maka GPT menyimpan data menyebar di setiap partisi di sebuah drive sehingga akan memudahkan pproses recovery ketika terjadi korup pada partition table yang menyebabkan system oprasi tidak bisa booting.
    mengatur partisi GPT lebih dari 4 partisi menggunakan disk management tool

Windows hanya bisa menggunakan GPT jika berada pada mode UEFI bukan BIOS legacy. semua varian windows 64bit bisa menggunakan UEFI dan GPT mulai dari Windows Vista, 7 , 8 , 8.1 ,dan windows 10. windows juga bisa membaca GPT pada mode BIOS legacy tetapi tidak bisa booting menggunakan GPT jika ada pada mode BIOS legacy.

Terminal

terminal dalam linux merupakan interface yang memungkinkan user untuk berinteraksi dengan sistem komputer menggunakan Command Line Interface (CLI) , setiap Desktop environment mempunyai aplikasi terminal sendiri-sendiri misalnya untuk Desktop environment XFCE untuk berinteraksi dengan terminal kita bisa menggunakan aplikasi xfce4-terminal.

TTY

Dahulu kala terminal yang terkoneksi ke komputer,untuk mengontrol komputer menggunakan electromechanical teleprinters atau teletypewriters (TeleTYpewriter, TTY) . Sejak kala itu nama TTY digunakan untuk memberi nama console interface dengan basis command line interface (CLI).

Dalam linux pada umumnya mempunyai 6 virtual console (TTY) , kamu bisa mengaksesnya menggunakan kombinasi tombol Ctrl+Alt+F1 hingga F6 , sedangkan Ctrl+Alt+F7 digunakan untuk menyembunyikan terminal console (TTY) dan kembali ke tampilan X windows.

Root /

Root dalam linux bisa berarti partisi induk dari file sistem linux yang diwakili dengan simbol back slash(garis miring ) / atau bisa merupakan hak akses tertinggi untuk user dalam linux sistem (Seperti administrator dalam windows) user dengan privilage/hak akses tertinggi (Root) biasanya akan diberi simbol tanda pagar # ketika pada terminal console , sedangkan user biasa akan ditandai dengan tanda dolar $
tingkatan hak akses user pada linux

Mounting

sistem unix mempunyai satu directory tree dengan induk root yang diwakili dengan garis miring / , sehingga untuk dapat mengakses file dari storage kita harus memasukan /mapping /mounting sotorage tersebut ke directory tree agar file yang ada di dalam storage tersebut bisa diakses .

masih bingung? gini lohh… pada windows induk dari file adalah drive itu sendiri yang diwakili dengan drive letter misalnya C: D: E: dan seterusnya , sedangkan linux hanya mempunyai 1 induk  directory tree  yaitu root yang biasa diwakili dengan garis miring / , jadi umpama kamu nancepin flashdisk, flashdisk mu harus dimuat /dimount ke struktut directory tree  yang ada biasanya kita buatkan dulu sub directory kshusus untuk nge mount flashdisk biar gampang misalnya kita buatin dulu directory /home/flashdisk  .

Di windows semua hardware yang terpasang akan muncul di device manager , sedangkan di linux semua device yang terpasang akan muncul di direcroty /dev  atau /media . Jika kamu membuka isi directory tersebut maka akan muncul semua hardware yang terpasang di komputer kamu (sama saja kaya device manager windows kan,hanya saja berbasis text) flashdisk mu akan terdeteksi sebagai sda1 ,sda2,sda3 dst bergantung ada berapa removeable disk yang terpasang. kamu tidak bisa membuka isi flashdiskmu dengan membuka file yang ada di directory /dev atau /media,karena yang muncul di situ hanya file block bukan directory sehingga kamu perlu ngemount dahulu agar bisa melihat isi flashdisk mu , perintah untuk mount  adalah mount /dedsda1 /home/flashdisk    setelah di mount ke directory /home/flashdisk maka kamu bisa melihat isi dari flashdisk mu di directory tersebut. untuk melepasnya silakan gunakan perintah umount /dev/sda1. Dijaman sekarang proses mounting biasanya berjalan secara otomatis ketika flashdisk ditancapkan. tetapi jika kamu ingin belajar linux kamu harus memahami konsep ini karena mounting sangat sering digunakan ketika kita melakukan perbaikan /customisasi sistem yang hanya bisa dilakukan menggunakan terminal console. 

 X windows /X11 System

X windows atau X11 atau bisa juga disebut X  adalah aplikasi berbasis client-server pada sistem operasi berbasis UNIX yang bertugas untuk membuat GUI environment. dalam X system Server berjalan di komputer local /komputer itu sendiri tetapi bisa melayani X client local ataupun lewat jaringan  secara transparan misalnya ketika komputer itu diremot desktop.

X windows sistem terdiri dari berbagaikomponen yang bekerja sama untuk membetuk tampilan GUI ,komponen ini diataranya :

  1. X server
    X server adalah apllikasi pada linux yang bertugas untuk mengontrol display dan input hardware .
    X server juga menerima dan memproses informasi dari x client dengan bantuan Windows manager
  2. Windows manager 
    windows manager merupakan  X client yang menagangi tugas secara general untuk mengatur tampilan GUI diantaranya mengatur layar,memetakan koordinat untuk layar , memetakan interface GUI untuk ditempatkan di layar dll.
  3. X client
    X client adalah semua aplikasi GUI yang berkomunikasi dengan X server menggunakan X protocol . jadi semua aplikasi berbasis GUI seperti browser ,aplikasi office ,aplikasi edit video dll merupakan X client.

Setiap Desktop environment biasqnya memiliki komposisi tersendiri baik Widget toolkit,windows manaager dan display manager kamu bisa mengeceknya di archlinux wiki overview of desktop environment

Desktop Environment (DE)

Desktop environment (DE) adalah  graphical users interface (GUI) yang memungkinkan user untuk mengakses dan mengatur fitur penting dan service pada sistem operasi tanpa menggunakan command line interface.
Desktop environment menjadi default interface oleh sistem operasi modern saat ini (seperti Windows,Linux dan MacOS) yang menggantikan  Command Line Interface (CLI) yang digunakan oleh sistem operasi dijaman dulu seperti DOS dan UNIX. walau desktop environment menjadi andalah dijaman ini tetapi user masih bisa mengakses command line interface untuk mengatur service yang memang tidak bisa diakses menggunakan desktop environment.
Ada banyak Linux desktop environment diluaran sana diantaranya yang populer adalah cinnamon,KDE,XFCE,GNOME,MATE,Unity dll

Desktop Environment (DE) utama biasa juga disebut dengan Desktop saja 🙂

Display Manager (DM)

Display manager bisa disebut juga Login manager karena pada dasarnya adalah User interface yang ditampilkan pada saat proses booting berakhir. Display manager dapat digolongkan menjadi 2 yitu Console Displaiy manager (seperti CDM,Console TDM,nodm)  dan  Graphical Display Manager (seperti GDM,KDM,Entrace,LightDM,XDM  dll)

Widget Toolkit /GUI Toolkit

Seperti yang kita ketahui, Linux berbasis text /console/Command Line Interface (CLI) ketika developer ingin membuat Graphichal User Interface (GUI) maka diperlukan semacam library dan engine untuk membangun nya, karena alasan tersebut maka dibuatlah widget toolkit/GUI toolkit untuk mewujudkan mimpi tersebut yang menjadikan Linux lebih berwarna dan User friendly.

widget toolkit, widget library, GUI toolkit, atau  UX library adalah library atau sekumpulan library yang didalam nya terdapat seperangkat Graphical Control element (atau yang sering disebut widget) yang digunakan untuk membangungraphical user interface (GUI) dari sebuah aplikasi atau program.

Kebanyakan Widget toolkit  mempunyai rendering engine tersendiri ,engine ini bergantung pada sistem operasi atau windowing system yang digunakan (linux menggunakan X windows atau X11).
Widget toolkit yang sering digunakan adalah GTK ,GTK+ dan Qt

Packages

Package dalam linux bisa disbut juga aplikasi seperti dalam sistem operasi windows, package disini biasa berupa aplikasi yang bisa langsung dieksekusi,source code atau hanya berupa library/dependencies sebagai pendukung aplikasi lain.

Dependencies

Dependencies dalam linux bisa juga disebut Dynamic link library (DLL)  pada windows system.Namun istilah DLL sangat tidak cocok diterapkan untuk linux,karena package dependencies pada linux diartikan sebagai package lain yang diperlukan oleh package tertentu (yang biasanya akan kamu install) agar package/aplikasi tersebut bisa berjalan.Sudah sangat wajar di linux jika suatu aplikasi/package memerlukan package lain sebagai module agar bisa berjalan.

Package manager

Package manager atau Package management System dalam linux adalah serangkaian aplikasi yang bekerja sama agar dalam proses install,update ,upgrade dan uninstall aplikasi bisa berjalan secara otomatis. Package manager akan mengatur package yang akan diinstall atau yang ada di komputer kita,di dalam setiap package terdapat serangkaian informasi yang akan digunakan oleh package manager untuk mengorganisir package agar berjalan dengan baik,informasi tersebut diantaranya nama package,versi package,dependencies package,vendor,cheksum dll.

Package manager dibuat untuk menghilangkan cara install dan update  secara manual, dimana instal secara manual dapat menyebabkan conflick dependencies  (Dependencies HELL)atau bahkan conflick aplikasi yang menyebabkan sistem tidak stabil.

Beberapa Package manager yang populer digunakan antara lain :

  1. Yellowdog Updater, Modified (yum)
    yum digunakan untuk linux enterprize dengan RPM package manager seperti distro RHEL
  2. pacman (package manager)
    pacman digunakan oleh distro Arch Linux
  3. APT (Advanced Package Tool)
    APT merupakan seperangkat tool yang digunakan untuk mengelola debian package , APT biasanya digunakan oleh linux berbasis debian seperti ubuntu.
  4. Dpkg (Debian GNU/Linux Package Manager)
    Merupakan package manager untuk distro berbasis debian dan menjadi medium package manager, versi yang lebih tinggi dari dpkg adalah APT

Package manager diatas masih berbasis console ,tetapi sekarang sudah dibuatkan untuk versi GUI nya . GUI untuk APT adalah Synaptic sedangkan versi GUI untuk pacman adalah pamac-manager

Repositories /Repository

Repository adalah server yang berisi berbagai macam package yang nantinya akan digunakan oleh package manager sebagai sumber dan dasar untuk melakukan install update dan upgrade package yang diinstall di komputer kamu. dalam  windows memang tidak ada yang namanya repository karena yang mengembangkan hanya satu orang atau satu kelompok, tetapi dalam komunitas opensource dimana setiap orang bisa ikut andil dalam pengembangan aplikasi, maka perlu ada nya server repository sebagai tempat menaruh aplikasi jika ada update.

Repository juga berfungsi untuk memudahkan pencarian aplikasi yang ada dalam komunitas opensource , bisa dibayangkan jika tidak disatukan dalam satu wadah,kita akan sangat sulit untuk mencari aplikasi yang kita inginkan karena aplikasi dengan satu tujuan bisa ada banyak nama dan varian.Dengan adanya repository ,komunitas akan lebih mudah untuk mencari dan melaporkan bug yang ada untuk perbaikan dan pengembangan aplikasi tersebut.
Gampang nya Repository seperti google Play Store(Karena secara teknis merupakan repository), tempat kita untuk mengupload aplikasi yang kita buat dan tempat download smua aplikasi yang diperlukan oleh linux kita.

Biasanya Repository Linux memiliki beberapa tingkatan dan kategori secara umum  diantaranya :

  1. Repository utama/Distro 
    Repository ini biasnaya dibagi menjadi beberapa sub bergantung dari distro tersebut,tetapi pada dasarnya sama dimana dalam repository utama atau repository milik disto semua aplikasi /package yang ada disupport langsung oleh team dari distro tersebut.
  2. Repository Komunitas/User
    Repository  user merupakan repository tempat menaruh aplikasi yang dibuat oleh komunitas dari distro tersebut dimana team internal dari distro tidak ikut dalam pengembangan ,update  aplikasi dan security aplikasi tersebut, jadi user dituntut untuk bisa menginstal aplikasi yang ada dalam user repository secara bijak.
    Setiap distro mempunyai nama untuk User repository,misalanya untuk distro ubuntu user repository diberi nama PPA (Personal Package Archive) sedangkan untuk Arch linux diberi nama AUR (Arch User Repository)

Linux Distribution (Distro Linux)

Karena linux opensource dimana semua orang bebas megubah memodifikasi mengembangkan membangun dan menyebarkan ulang hasil karyanya maka setiap kelompok/komunitas mempunyai goal /tujuan sendiri-sendiri dalam memodifikasi,mengembangkan dan membangun ulang linux , nah komunitas yang mengembangkan linux  dengan goal tertentu ini lah yang disebut dengan Linux distribution (Distro) .

Ada ratusan bahkan ribuan distro di dunia ini baik yang exist di internet atau hanya digunakan oleh perusahaan atau kelompok dalam sekala kecil, misalnya distro linux untuk Wireless module ,Mobil ,CCTV ,mesin-mesin industri ,server dan lain sebagainya.

LTS (Long Term Support)

Merupakan versi aplikasi/package linux (kernel ,OS,aplikasi) versi stable,dimana package LTS memberikan dukungan support dalam waktu lama (misal 6 bulan) dan selama jangka waktu itu aplikasi akan sepenuhnya disupport dan kompatible dengan aplikasi baru tanpa kita harus mengupdate nya.

Versi LTS (baik OS ataupun package) sangat cocok digunakan untuk perkantoran dimana admin tidak perlu melakukan update terlalu sering dan hanya perlu melakukan update jika versi LTS diperbaharui.

Kurang jelas? Silakan Bertanya