SISTEM OPERASI
LINUX
SEKILAS TENTANG LINUX
Linux adalah sebuah system operasi yang mirip Unix, yang merupakan
implementasi independen dari POSIX, meliputi true multitasking, virtual
memory, shared libraries, demand loading, proper memory management dan
multi user. Linux seperti layaknya Unix, mendukung banyak software mulai
dari TeX, Xwindow, GNU C++ sampai ke TCP/IP. Linux adalah system operasi
yang disebarkan secara luas dengan gratis di bawah licensi GNU General
Public Licence (GPL), yang berarti juga source code linux tersedia.
Itulah yang membuat Linux sangat spesial. Linux masih dikembangkan oleh
kelompok-kelompok tanpa dibayar, yang banyak dijumpai di internet.
Mereka tukar menukar kode, melaporkan bug dan membenahi segala masalah
yang ada. Setiap orang yang tertarik dipersilahkan untuk bergabug dalam
pengembangan Linux.
SEJARAH LINUX
Nama Linux merupakan kombinasi unik antara nama penciptanya dan nama
system operasi yang menjadi targetnya (Unix). Semuanya berawal dari
system operasi yang bernama Minix. Minix dibuat oleh Profesor Andrew
Tanenbaum. Minix adalah system operasi mirip Unix yang bekerja pada PC.
Linus Torvalds (Nama Pencipta Linux) adalah seorang mahasiswa di
universitas Helsinski yang menggunakan Minix. Walaupun cukup bagus ia
belum menganggap Minix memadai. Torvalds yakin ia bisa membuat produk
yang lebih baik. Pada tahun 1991 ia membuat kernel system operasi yang
ia namakan “Linux”, yang merupakan klon dari Unix.
Seperti halnya Minix, Linux tidak menggunakan kode apapun dari vendor
Unix komersial, sehingga Torvalds bisa mendistribusikan Linux ke
internet secara bebas dan gratis dan ia pun melakukannya. Pada 5 Oktober
1991, Torvalds mengeposkan kernel system operasi ciptaannya di
news-group comp.os.minix. Ia mengumumkan bahwa source code Linux
tersedia dan meminta programmer lain untuk ikut mengembangkannya. Ketika
itu Linux masih setengah matang, hanya bisa menjalankan sedikit perintah
Unix seperti bash, gcc dan gnu-make. Saat Linux 1.0 diluncurkan pada
tahun 1994, Linux sudah cukup stabil dan memiliki banyak fiture seperti
preemptive multitasking (kemampuan untuk membagi sumber daya CPU untuk
banyak aplikasi) dan symentric multiprosessing (kemampuan untuk membagi
tugas diantara banyak CPU). Linux bahkan memiliki maskotnya sendiri yang
Torvalds jelaskan sebagai “seekor penguin yang menggemaskan dan ramah,
yang kekenyangan setelah makan banyak ikan herring.”
Pada tahun 1996, tim pengembangan Linux yang ada di seluruh dunia mulai
memberikan hasilnya. Tahun itu mereka telah membuat versi Linux untuk
sejumlah versi hardware dari Atari ST sampai Machintosh. Linux terus
berkembang pesat, utamanya kerena ada sejumlah distributor (seperti
Mandrake, RedHat, Caldera, dsb) yang berkompetisi untuk berebut pangsa
pasar. Agar pasarnya tidak termakan, sebuah distributor harus terus
menerus berinovasi. Saat ini ada 7 distribusi (distro) Linux yang paling
terkenal:
- RedHat Linux, distro Linux paling popular di Amerika
Serikat dan salah satu yang paling mudah digunakan.
- Mandrake Linux, distro Linux yang menambahkan patch
dan update untuk distro RedHat Linux yang juga menyediakan panduan
berbahasa Indonesia. Bermarkas di Perancis.
- Caldera OpenLinux, distro Linux dengan instalasi dan
lingkungan pengguna grafis yang bagus.
- SuSE Linux, distro Linux yang paling popular di
Eropa yang juga menyediakan perangkat instalasi dan panduan berbahasa
Indonesia. Bermarkas di Jerman.
- Slackware Linux.
- Debian GNU/Linux.
- Turbo Linux 3.0.1, distro Linux yang paling popular
di Asia yang menyediakan set karakter khusus Asia.
KEUNGGULAN LINUX
Berikut beberapa keunggulan Linux:
- Linux Gratis, Linux merupakan Sistem Operasi
yang 100% gratis, bukan shareware. Hak cipta LINUX dipegang oleh GNU
General Public License (GPL). Suatu badan yang mengatur distribusi
Freeware. GPL membolehkan distribusi LINUX secara gratis asalkan
"source code-nya" disertakan.
- Linux Siap Pakai, Sistem Operasi lain
memberikan aplikasi awal yang sangat sedikit, Linux memberikan hampir
semua yang pengguna butuhkan dan inginkan antara lain: variasi editor
text, aplikasi grafis complex, browser, games, aplikasi perkantoran,
dll.
- Linux Mudah di Install.
- Linux Multitasking, Linux dapat menjalankan
beberapa aplikasi dalam waktu yang bersamaan dan masing-masing aplikasi
juga dapat melakukan bebrapa pekerjaan dalam dalam waktu yang sama (Multi-threading).
- Linux Multiuser, Lebih dari satu orang dapat
memakai Linux pada saat yang bersamaan dan hal ini tentunya dilakukan
dalam lingkungan jaringan komputer.
- Linux Handal, Linux dapat menangani situs web
yang mendapat akses jutaan per hari. Dengan tambahan peralatan Linux
dapat berkompetisi dengan super komputer berharga jutaan dollar. Banyak
komputer Linux yang berjalan selama tahunan tanpa pernah sekalipun
crash dan ini menunjukkan kehandalannya.
- Linux Fleksibel, Linux tidak perduli apabila
dipakai bukan dengan komputer terhebat di pasaran. Ia berjalan dengan
baik dengan apapun yang ada misalnya dengan komputer 386/486.
- Linux Kompatibel, Linux dapat dijalankan di
berbagai jenis komputer seperti 386/486/Pentium PC, Machintosh, PowerPC
bahkan komputer Alpha dan SPARC. Linux juga mampu menangani
multi-prosessor dan mampu menangani hampir semua kartu audio dan
video. Linux dapat di install di harddisk berisi Windows/DOS (selama
masih ada ruang sisa) dan tidak mempengaruhi kinerja keduanya. Linux
mempunyai lingkungan desktop yang user friendly (KDE dan GNOME).
LAPISAN-LAPISAN PADA LINUX
Sistem Linux dijelaskan dengan menggunakan lapisan-lapisan. Lapisan
yang paling dalam adalah konputer dan poranti pendukungnya (seperti
disk, tape, printer, dll). Ini semua disebut perangkat keras system.
Diseputar perangkat keras tersebut terdapat sejumlah program yang
mengendalikan sumber daya komputer, mengorganisir system file, mengurus
disk dan tape. Pengoperasian yang dilakukannya sangat detil sehingga
tidak perlu diketahui oleh pemakai. Lapisan ini disebut dengan Kernel.
Kernel menyediakan lapis dukungan yaitu berupa program ultilitas.
Utilitas berfungsi untuk melakukan akses system bagi pemakai.
Lapis terluar dari system Linux adalah Shell. Shell merupakan
penghubung antara pemakai dan system. Dalam kenyataannya, shell
merupakan bagian dari ultilitas, namun karena kerumitan dan fungsinya
yang sedikit unik, maka shell cenderung dianggap sebgai lapis terpisah.
Shell memiliki fungsi untuk menganalisa setiap perintah yang dimasukkan
melalui prompt Linux dan mengeksekusi perintah tersebut. Disamping itu,
shell memiliki kemampuan sebgai interpreter dari bahasa pemrogramannya
yaitu bahasa shell.
Ada tiga jenis shell yang paling umum digunakan pada system Linux,
yaitu :
- Bourne Again Shell (bash), adalah shell yang dibuat
oleh Brian Fox dari Free Software Foundation. Karena merupakan
pengembangan dari Bourne Shell (sh) dan Korn Shell (ksh) dari system
Unix, bash cukup kompatibel dengan skrip-skrip shell lainnya yang
ditemukan pada system Unix lainnya.
- C Shell (csh), adalah shell yang berasal dari
University of Barkeley (BSD) dan biasanya didistribusikan pada system
BSD saja. Namun akhir-akhir ini C Shell juga selalu ada pada Linux.
Shell ini merupakan perbaikan dari Bourne Shell. C Shell menggunakan
symbol “%”sebagai karakter prompt.
- Korn Shell (ksh), adalah shell yang mengadaptasi
kemampuan C Shell yang tidak terdapat pada Bourne Shell. Disamping itu
beberapa kemampuan khusus ditambahkan di dalamnya. Korn shell
menggunakan symbol “#” sebagai karakter prompt.
ADMINISTRASI
SISTEM PADA LINUX
Sebuah sistem
komputer, tetap membutuhkan perhatian dari manusia supaya dapat berjalan
dengan baik. Mungkin sistem tersebut tetap dapat berjalan tanpa harus
mendapatkan perhatian penuh dari manusia, namun jika terjadi masalah
pada sistem tersebut, peranan manusia tetap diperlukan. Manusia yang
bertugas untuk menangani hal ini disebut Administrator Sistem atau
System Administrator, disingkat menjadi sysadmin atau admin saja.
APA ITU ADMINISTRASI
SISTEM ?
Sebuah sistem komputer tidak akan dapat bekerja dengan baik jika salah
satu dari ketiga komponen ini dihilangkan: hardware, software,
brainware. Hardware adalah bagian komputer yang ada secara fisik.
Software adalah kode-kode instruksi yang dijalankan pada hardware yang
bersangkutan. Sedangkan brainware adalah manusia yang bertugas untuk
mengoperasikan sistem komputer. Administrasi sistem adalah aspek yang
berkaitan erat pada faktor brainware tersebut.
Seorang sysadmin bertugas untuk menjaga agar sebuah sistem dapat tetap
berjalan sesuai dengan fungsinya. Jika ada masalah pada sistem tersebut,
dia berkewajiban untuk memperbaikinya. Setiap sistem komputer
membutuhkan sysadmin, mulai dari komputer pribadi sampai ke mainframe
berukuran besar. Semuanya tetap membutuhkan sysadmin. Jika anda adalah
satu-satunya pengguna di komputer anda, anda adalah sysadmin bagi
komputer anda sendiri. Anda semua adalah seorang sysadmin mungkin tanpa
kesadaran anda sendiri.
Linux memiliki beragam fasilitas untuk mengotomatisasi seluruh
kegiatannya. Hal ini tentunya sangat memudahkan seorang administrator.
Administrator tidak perlu melakukan pekerjaan yang berulang-ulang secara
manual, pekerjaan yang demikian dapat diserahkan kepada sistem Linux.
Dengan perintah yang tepat, sistem akan dapat melakukan tugasnya tanpa
perlu diperintah ulang.
KONSEP USER DAN PERMISSION
Linux adalah sistem operasi multiuser. Artinya, sebuah sistem Linux
dapat dipakai oleh lebih dari satu orang sekaligus. Seorang pengguna
Linux memiliki sebuah direktori pribadi (home directory) untuk menyimpan
file-filenya. Umumnya ia tidak diperkenankan untuk memodifikasi isi
direktori selain home directory-nya. Pada kebanyakan sistem Linux, home
directory user abc biasanya diletakkan di /home/abc.
Pada Linux, setiap file
dimiliki oleh seorang user dan sebuah group. Hak akses baca, tulis, dan
execute untuk user dan group juga dapat dibatasi. Hal ini akan
mempermudah administrasi sistem karena user tidak akan dapat mengubah
konfigurasi sistem seenaknya, berbeda dengan sistem operasi yang tidak
didesain sebagai sistem operasi multiuser seperti halnya Windows.
Pada Linux (dan sistem UNIX
lainnya) ada sebuah account yang memiliki hak mutlak pada sistem
tersebut, account tersebut secara tradisional disebut 'root'. Account
ini bisa melakukan apa saja pada Linux tanpa mempedulikan hak akses.
Account ini umumnya hanya digunakan untuk keperluan administrasi, dan
tidak digunakan untuk keperluan sehari-hari.
Mengapa account root tidak baik digunakan untuk keperluan sehari-hari?
Program pada sebuah sistem operasi (Linux ataupun bukan Linux) mungkin
memiliki bug atau kesalahan pemrograman. Dengan menjalankan program
sebagai root, bug tersebut memiliki kemungkinan untuk dapat merusak
seluruh sistem. Sedangkan jika program tersebut tidak dijalankan sebagai
root, maka kerusakan hanya akan terjadi pada file milik user yang
bersangkutan. Selain itu manusia adalah makhluk yang suka melakukan
kesalahan, dengan account root, kesalahan tersebut akan dapat merusak
sistem, sedangkan jika dilakukan oleh user biasa, kesalahan tersebut
hanya akan berakibat fatal pada file yang dimiliki oleh user yang
bersangkutan. Itulah sebabnya mengapa virus software hampir tidak pernah
menjangkiti Linux, karena para penggunanya hanya menggunakan account
'root' untuk hal-hal yang benar-benar memerlukan 'root'. Sebaliknya,
pada sistem operasi single user seperti DOS, Windows atau MacOS, setiap
user adalah 'root', dapat anda bayangkan kekacauan yang terjadi pada
masa itu jika sistem operasi tersebut digunakan oleh beberapa orang.
STRUKTUR DIREKTORI LINUX
Sebuah filesystem pada Linux dibagi menjadi banyak direktori. Hal ini
akan memudahkan sysadmin karena file yang anda cari akan berada di dalam
direktori sesuai dengan fungsi dan kegunaannya.Berikut ini adalah beberapa lokasi direktori yang
penting untuk diketahui oleh seorang sysadmin:
- /bin: berisi program yang esensial, yang
berguna jika partisi /usr tidak terhubungkan
- /boot: berisi file-file yang penting untuk
booting Linux, seperti halnya kernel Linux.
- /usr: berisi file-file program dan data yang
diperlukan untuk menjalankan program yang bersangkutan, file di dalam
hirarki ini dapat dibuat menjadi read-only
- /var: berisi file-file yang dinamik seperti
email, file log dan sebagainya.
- /etc: berisi file konfigurasi dari program.
- /mnt: berisi mount point dari partisi lainnya
di sistem komputer anda, pada Linux Mandrake misalnya, /mnt/win_c
adalah isi drive C: pada sistem operasi DOS/Windows
- /dev: berisi device, seperti /dev/ttyS0 adalah
port serial pada komputer, atau /dev/fd0 adalah floppy disk.
- /home: berisi home direktori dari user pada
system.
- /sbin: berisi program-program yang esensial
untuk sysadmin.
- /root: adalah home directory dari user 'root',
tidak disimpan di bawah direktori /home karena kemungkinan direktori
tersebut belum di-mount.
MEMONITOR KEADAAN SISTEM
Seorang Administrator sistem harus mengetahui apa saja yang sedang
terjadi pada sistem anda. Hal-hal yang umum untuk diketahui adalah:
- Proses apa saja yang sedang berjalan pada saat
tersebut, dan juga detilnya seperti pemilik proses, pemakaian CPU,
pemakaian memori dan sebagainya. Untuk mendapatkan informasi ini,
seorang sysadmin dapat menggunakan perintah ps, pstree, gtop atau ktop.
- Siapa saja yang sedang login pada saat itu. Informasi
ini dapat didapat dari perintah who.
- Siapa saja yang memasuki sistem beberapa waktu
terakhir. Dapat dilihat dari perintah last
- Melihat keadaan ruang harddisk. Dapat dilihat dari
output perintah df.
- Melihat kapan user tertentu terakhir login. Dapat
dilihat dari perintah finger atau last.
MEMONITOR FILE-FILE LOG
Linux memiliki mekanisme untuk
mencatat kejadian-kejadian penting. Kejadian-kejadian tersebut dicatat
ke file-file log tertentu. Pada kebanyakan distribusi Linux, biasanya
file log disimpan di dalam direktori /var/log atau /var/adm.
Fasilitas pencatatan tidak menulis kejadian pada sebuah file, tapi ke
beberapa file sesuai dengan kategorinya. Sebagai contoh pada distribusi
RedHat atau Mandrake terdapat file-file di bawah ini:
- /var/log/cron, mencatat semua kegiatan cron (utilitas
untuk menjalankan program secara periodik)
- /var/log/httpd/*, mencatat akses ke web server
- /var/log/maillog, mencatat segala hal yang
berhubungan dengan email
- /var/log/messages, mencatat segala hal yang tidak
termasuk pada file log lainnya.
- /var/log/news/*, mencatat segala hal yang berhubungan
dengan news server
- /var/log/samba/*, mencatat hal-hal yang berhubungan
dengan file server samba
- /var/log/secure, mencatat hal-hal yang berhubungan
dengan keamanan sistem
- /var/log/spooler, mencatat hal-hal yang berhubungan
dengan pencetakan
- /var/log/xferlog, mencatat transfer file melalui FTP.
MEMPERBAIKI KEAMANAN SISTEM
Mungkin tugas yang paling berat dari seorang sysadmin, terutama yang
bertanggung jawab untuk sistem yang terhubungkan pada Internet adalah
masalah keamanan sistem. Untuk ini seorang sysadmin dituntut untuk
memiliki kesadaran lebih tinggi dalam masalah keamanan.
Sistem operasi Linux berkembang dengan kecepatan yang sangat tinggi,
berbeda dengan sistem operasi lain yang closed source. Terkadang, hanya
beberapa menit setelah masalah keamanan ditemukan, sudah dibuatkan
patch-nya. Supaya seorang sysadmin mendapat informasi secepat mungkin,
ia harus secara periodik mencek status keamanan dari vendor Linux yang
dia gunakan.
Berikut adalah halaman security dari beberapa vendor Linux:
UTILITAS INTERAKTIF UNTUK
ADMINISTRASI SISTEM
Beberapa distribusi Linux menyertakan utilitas untuk mempermudah
konfigurasi sistem. Utilitas ini sangat mempermudah bagi anda yang cuma
ingin memakai Linux, dan tidak punya banyak waktu untuk melakukan
konfigurasi.
Berikut adalah daftar utilitas tersebut untuk beberapa distribusi
terkemuka.
- RedHat Linux: Linuxconf
- Linux Mandrake: Linuxconf atau Drakconf atau
Drakxconf
- SuSE Linux: YaST
- Caldera OpenLinux: coas atau lisa
|
|