Sistem operasi (OS) adalah perangkat lunak yang bertindak sebagai perantara antara perangkat keras komputer dan pengguna. Mengelola perangkat keras komputer dan menyediakan layanan penting untuk berbagai aplikasi. Menjadi jembatan bagi pengguna untuk berinteraksi dengan komputer dan komponennya.
-
Pengelola Sumber Daya
-
Manajemen Proses
-
Manajemen Memori
-
Manajemen File System
-
User Interface
Linux adalah nama yang diberikan kepada sistem operasi bertipe Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama (open source). Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapa saja. Dengan kata lain, kalian pun juga bisa berkontribusi untuk mengembangkan linux menjadi sistem operasi yang lebih baik kedepannya.
Kelebihan Linux (Pros) | Kelemahan Linux (Cons) |
---|---|
Sumber Terbuka (Open Source) yang mendukung inovasi dan kebebasan pengguna | Kompatibilitas perangkat lunak terbatas |
Keamanan yang kuat, kurang rentan terhadap malware dan virus | Dukungan perangkat keras masih terbatas |
Stabilitas, kinerja handal, dan jarang memerlukan rebooting | Kurva pembelajaran curam untuk pengguna baru yang tidak terbiasa menggunakan Unix type |
Berbagai distribusi untuk berbagai keperluan pengguna (distro) | Dukungan komersial terbatas |
Kustomisasi tinggi, pengguna memiliki kontrol penuh atas sistem | Keterbatasan aplikasi dan permainan (contoh: valorant) |
Filesystem mendeskripsikan data yang kita punya. Dengan filesystem kita bisa letak dari suatu file atau direktrori, akses terhadap suatu data. Tanpa Filesystem, kita tidak akan mengetahui di mana sesuatu disimpan, di mana segala sesuatu dimulai atau berakhir.
Filesystem di Linux adalah bagian dari sistem operasi yang mengatur dan mengelola data di penyimpanan, seperti hard disk. Filesystem membantu dalam:
- Mengatur file di dalam disk
- Mengelola nama file
- Menyimpan ukuran file
- Mencatat tanggal pembuatan file
- Menyimpan informasi lain tentang file
Filesystem ini penting untuk memastikan semua data tersimpan dengan rapi dan mudah diakses.
Filesystem di Linux memiliki struktur berkas hierarkis, yaitu sistem berkas yang tersusun seperti pohon:
- Direktori Utama (Root Directory): Direktori paling atas.
- Subdirektori: Direktori yang ada di bawah root dan direktori lainnya.
Setiap direktori dan subdirektori bisa diakses dari root directory. Biasanya, satu partisi disk punya satu filesystem, tapi bisa juga lebih dari satu. Filesystem dirancang untuk mengelola data di penyimpanan yang tidak mudah hilang (non-volatile) dan menyediakan ruang untuk menyimpan data.
Semua sistem berkas memerlukan namespace, yaitu metodologi penamaan dan pengorganisasian. Namespace menentukan proses penamaan, panjang nama file, atau subset karakter yang dapat digunakan untuk nama file. Namespace juga menentukan struktur logis file pada segmen memori, seperti penggunaan direktori untuk mengatur file tertentu.
Jika kita ingin belajar Linux lebih mendalam, hal yang paling dasar untuk dipahami adalah struktur direktorinya. Struktur direktori pada Linux sangat berbeda dengan Windows. Berikut adalah perbandingan sturuktur direktori baik Windows maupun Linux.
Directory | Deskripsi |
---|---|
Program Files | Berfungsi untuk menyimpan program-program dan aplikasi yang terinstal di dalam Windows. |
Windows | Menyimpan segala proses juga konten-konten utama windows. Akan terjadi kerudakan system jika ada kesalahan dalam mengatur folder ini. Isi dari folder ini berupa system32, Assembly, dan Web. |
Temp | Digunakan untuk menyimpan file-file sementara. |
Document and Settings | Berfungsi untuk menyimpan dokumen dan pengaturan-pengaturan user mulai dari desktop, start menu, dsb. |
Directory | Deskripsi |
---|---|
/ (root filesystem) | Top-level directory, Partisi dimana diletakkan "/" (root system) akan menjadi direktori sistem atau partisi pokok. Hanya bisa diakses oleh user root atau super user. |
/bin | User binaries, memuat program arahan yang merupakan sebagian dari sistem operasi Linux. Direktori ini meng-handle perintah stkitar Linux, seperti cd, ls, cp, dll. |
/etc | Configuration files, direktori yang berisi file-file konfigurasi sistem. Selain itu, juga berisi file yang dijalankan ketika start up. |
/sbin | System binaries, memuat file administration yang dapat diakses seperti fdisk, shutdown, reboot, dll. |
/usr | User programs, direktori yang berisi file-file binary, libraries, dokumentasi, dan source code dari sistem. |
/var | Variable files, memuat berbagai file system seperti log, direktori mail, print dan lain – lain. Yang sering kali berubah kandungannya. |
/dev | Device files, direktori ini berisi file perangkat untuk setiap perangkat keras yang terpasang pada sistem. Ini bukan driver perangkat, melainkan file yang mewakili setiap perangkat di komputer dan memfasilitasi akses ke perangkat tersebut. |
/home | Home directories, ini home direktori untuk setiap user. Setiap user pasti memiliki subdirektori di /home . |
/lib | System libraries, memuat file-file library Linux yang mendukung binary files dalam direktori /bin dan /sbin . |
/mnt | Mount directory, direktori untuk mounting file sistem sementara (not removeable media). |
/media | Removable media devices, direktori untuk mounting removable media seperi drive CD-ROM, hardisk eksternal, flashdisk, zip drive, dll. |
/opt | Optional add-on applications, direktori ini menyimpan file-file tambahan dari vendor-vendor tertentu. Sifatnya hanya optional. Diharapkan dengan adanya direktori ini, manajemen paket aplikasi tambahan dapat dilakukan dengan mudah. |
/boot | Boot loader files, Direktori yang berisi file-file yang berhubungan dengan boot loader, contohnya Grub boot manager, File Kernel initrd, vmlinux, dll. |
/tmp | Temporary files, direktori yang digunakan untuk menyimpan data sementara. Isi dari direktori ini dibersihkan setiap kali sistem boot. |
/root | Ini bukan file system root (/). Ini adalah direktori home untuk user. |
Untuk menjelajahi filesystem, kita bisa menggunakan beberapa commands atau perintah:
list
. Untuk menampilkan list atau daftar file-file apa saja yang ada disuatu directory. Parameter yang sering dipakai pada perintah ls adalah -a
, -l
, -t
, -h
, dan -r
. Parameter digunakan untuk menentukan output yang kita inginkan. Parameter bisa digabungkan, dan urutan letak parameter tidak memengaruhi hasil.
print working directory
. Untuk mengetahui di directory mana kita berada sekarang.
change directory
. Digunakan untuk pindah ke directory lain. Syntax-nya adalah cd <nama_directory>
. Misalnya kita sedang berada di directory /home/pelatihan dan ingin berpindah ke directory /usr/share
. Maka command yang kita gunakan adalah cd /usr/share
.
Contoh lain:
cd
ataucd ~
untuk pindah ke directory home usercd /
untuk pindah ke directory rootcd ..
untuk pindah ke parent directory dari directory sekarangcd -
untuk kembali ke working directory sebelumnya
copy
. Sesuai namanya maka command ini bertugas untuk copy (salin) file atau direktori.
move
. Digunakan untuk memindahkan suatu file atau direktori secara permanen. Command mv
juga bisa digunakan untuk me-rename file atau direktori.
user linux akan menggunakan command package manager untuk menginstal package yang dibutuhkan. Package manager akan mengambil package yang dibutuhkan dari repository yang sudah dikonfigurasi sebelumnya. Package yang dibutuhkan tersebut bisa berupa package utama atau package dependensi. Package utama adalah package yang dibutuhkan oleh user untuk bisa berjalan. Package dependensi adalah package yang dibutuhkan oleh package utama untuk bisa berjalan.
Beberapa command yang dapat dilakukan untuk memanage package pada linux yang sering digunakan adalah sebagai berikut :
-
apt-get update
Command ini digunakan untuk mengupdate list package yang ada pada repository. Command ini harus dijalankan sebelum menginstal package agar package yang diinstal adalah package terbaru.
-
apt-get install <package-name>
Command ini digunakan untuk menginstal package yang dibutuhkan. Contohnya adalahapt-get install nginx
. -
apt-get remove <package-name>
Command ini digunakan untuk menghapus package yang sudah terinstal. Contohnya adalahapt-get remove nginx
.
Dalam linux, text editor yang sering digunakan adalah nano dan vim. Dua text editor tersebut dapat berjalan pada command line interface (CLI).
Nano merupakan teks editor yang termasuk mudah dipahami karena terdapat shortcut pada bagian bawah layar. Untuk membuka file menggunakan nano, dapat menggunakan perintah berikut.
nano [nama-file]
Jika tidak bisa menggunakan perintah tersebut, berarti nano
belum terinstall. Untuk melakukan instalasi nano
dapat menggunakan perintah berikut.
sudo apt update
sudo apt install nano -y
Pada contoh kali ini akan digunakan untuk mengedit file contoh.txt
.
nano contoh.txt
Pada interface tampilan shortcut, simbol ^
sama dengan tombol Ctrl
dan simbol M-
sama dengan tombol Alt
. Contoh penggunaannya adalah untuk melihat daftar shortcut yang dapat digunakan pada nano menggunakan shortcut Ctrl + G
.
Untuk keluar dari tampilan bantuan, dapat menggunakan tombol Q
. Setelah mengubah isi dari file yang ingin diubah, file dapat disimpan menggunakan shortcut Ctrl + O
.
Kemudian akan muncul pertanyaan File Name to Write:
yang dapat diisi nama hasil file yang ingin disimpan. Setelah itu dapat ditekan Enter
.
Ketika ingin keluar dari text editor secara langsung tanpa menyimpan file, dapat menggunakan shortcut Ctrl + X
. Tekan N
jika tidak ingin menyimpan perubahan atau Y
untuk menyimpan perubahannya.