Pengenalan
UNIX dan LINUX Secara Umum
Unix adalah nama sebuah
system operasi yang asal mulanya dikembangkan pada Laboratorium Bell. Sistem
operasi adalah perangkat lunak komputer yang mengatur dan mengendalikan operasi
dasar system komputer.Unix terdiri atas sejumlah program (daftar instruksi
untuk memperoleh hasil tertentu) yang dirancang untuk mengontrol interaksi
antara fungsi-fungsi pada mesin yang beraras rendah dengan program aplikasi.
Tugas dari system opersi diantaranya :
·
Melakukan fungsi manajemen system berkas
·
Mengendalikan berbagai sesumber pada
system,seperti disk dan printer
·
Mengatur sejumlah pemakai yang
menggunakan system bersamaan
·
Membentuk penjadualan proses-proses
didalam system.
Sejarah
UNIX
Ken
Thompson dari Laboratorium Bell membuat versi awal dari UNIX dengan nama UNICS
(UNIplexed Information and Computing Service), suatu nama yang dipengaruhi oleh
system operasi pendahulunya, MULTICS (MULtiplexed Information and Computing
Services). MULTICS sendiri juga di ciptakan oleh Ken Thompson dan
rekan-rekannya. Versi pertama UNIX diselesaikan pada tahun 1969, ditulis dengan
bahasa rakitan (assembly) pada computer PDP-7 (sebuah komputer keluaran Digital
Equpment Corporation).
Pada
tahun 1973, Ken Thompson dan Dennis Ritchie menulis ulang Kernel- bagian inti dari
system UNIX- dengan bahasa C. Perkembangan inilah yang membuat UNIX kini dapat
diterapkan pada berbagai mesi, menginagat C adalah bahasa yang bersifat
portable ( mudah di pindahkan).
Pemakaian
UNIX pada mesin lain dimulai pada tahun 1976/1977. Saat itu, Dennis Ritchie dan
Stephen Johnson berhasil memindahhkan system
UNIX ke mesin Interdata 8/32. Hal inilah yang menjadi tonggak sejarah yang
menunjukkan keportabilitas UNIX
Sekitar
tahun 1975 Laboratorium Bell mulai memberikan UNIX ke universitas-universitas dengan imbalan
yang sangat murah. Salah satu universitas yang akhirnya melahirkan UNIX yang
sangat popular adalah Universitas California, Barkeley. Versi UNIX-nya terkenal
dengan sebutan BSD (Barkeley Software Distribution).
Lisensi
UNIX yang bersifat komersial diberikan pertama kali oleh AT&T ke System
Onyx, sebuah perusahaan yang didirikan oleh Bob Marsh dan Kip Myers pada tahun
1978. Saat itu UNIX dianggap sebagai system operasi yang ampuh untuk menangani
system dengan 16 bit.
Pada
dekade 80-an, UNIX berkembang dengan pesat, termasuk pada PC. Salah satu system
UNIX pada PC yang terkenal adalah XENIX (Santa Cruz Operation), yang merupakan
mitra Microsoft. Pada dekade ini pula lahir system V (1984, dikembangkan di Computing Science
Research Group, Bell Laboratories, New Jersey) yang menjadi kiblat dari
kebanyakan versi UNIX. Selain itu, pada tahun 1984 juga terdapat proyek yang
disebut GNU (GNU’s not Unix) yang dikembangkan oleh the Free Software
Foundation (FSF). Tujuan dari proyek ini adalah membangun system semacam UNIX
yang bersifat bebas-royalti bagi pemrogram dan pengembang. Proyek inilah yang
dikemudian hari mendasari system operasi Linux.
Mulai
pertengahan 90-an, Linux (cloning dari system operasi UNIX yang diciptakan oleh
Linus Torvalds dan dipublikasikan pertama kali sekitar November 1991) mulai
naik daun di lingkungan PC dan menjadi pesaing Microsoft Windows. Memasuki
tahun 2000, Linux terus berkibar. Dengan konsep “open source” (kode program
bisa di lihat dan dikembangkan oleh siapa saja) dan gratis, banyak pemakai,
terutama dilingkungan kampus, yang tertarik menggelutinya. Dukungan aplikasi
yang kian meluas, dari aplikasi perkantoran, multimedia, hingga database, yang
kebanyakan bersifat gratis, membuat kalangan pemakai Linux tumbuh dengan cepat.
Kini muncul banyak distribusi Linux, antara lain :
·
Red Hat
·
Mandrake
·
Slackware
·
Debian,dan
·
SuSe
Keistimewaan UNIX
Portabilitas
Sistem
UNIX mudah diadaptasikan ke system komputer yang lain. Sifat portabilitas ini
membawa UNIX dapat dipakai pada berbagai jenis komputer. Kini UNIX telah
menyebar pada berbagai jenis system, dari notebook , mikrokomputer (PC), hingga
mainframe. Perusahaan-perusahaan komputer yang besar seperti IBM Sun Microsystems juga mengeluarkan komputer yang
berbasis UNIX.
Bagi
pemakai, hal seperti ini sangatlah menguntungkan. Mengapa menguntungkan? Sebab
portabilitas berarti ketidak bergantungan pada satu perangkat keras. Ini
berarti pemakai tidak perlu terpaku pada satu vendor. Untuk beralih dari suatu
system UNIX ke system UNIX lainnya dapat dilakukan dengan mudah. Hal ini tidak
hanya terbatas pada systemnya saja, melainkan juga pada aplikasinya. Program
aplikasi yang berjalan pada suatu system UNIX dapat dipindahkan ke system UNIX
lainnya, dengan jalan mentransfer program sumber dan kemudian melakukan
kompilasi lagi pada system UNIX yang baru. Bahkan beberapa aplikasi bersifat
kompatibel dalam bentuk obyek, sehingga tidak diperlukan proses kompilasi.
Multiuser
Multiuser
berarti sejumlah orang (pemakai) dapat menggunakan system secara bersamaan dan
berbagi sesumber (disk, printer dan sebagainya ). UNIX mendukung keperluan
seperti ini.
Keuntungan dengan
adanya sifat multiuser:
·
Penghematan perangkat keras
Sebab
perangkat keras (misalnya printer, disk) dapat dipakai oleh orang banyak
·
Data dapat diakses oleh orang banyak
secara serentak
Ini
berarti tidak ada penduplikasian data. Selain itu konsistensi data lebih
terjamin.
Mutitasking
Seseorang
pemakai dapat melakukan beberapa pekerjaan dalam waktu yang bersamaan dari
sebuah terminal. Pekerjaan-pekerjaan yang tidak memerlukan interaksi dari
pemakai (seperti melakukan pengurutan data dan pengecekan kosa kata) bisa
dilaksanakan di latar belakang. Pemrosesan ini memungkinkan saat suatu
pekerjaan sedang dilaksanakan oleh system, pemakai dapat melakukan tugas-tugas
lain.
Kemampuan
system operasi yang memungkinkan seseorang dapat melaksanakan beberapa tugas
pada saat bersamaan bisa dinamakan Multitasking.
Sistem
berkas yang hierarkis
Sistem
berkas yang hierarkis memungkinkan pemakai mengorganisasikan informasi atau
data dalam bentuk yang mudah untuk diingat dan mudah untuk mengaksesnya.
Informasi-informasi yang ada dapat diatur misalnya dikelompokkan per pemakai
atau berdasarkan suatu departemen.
Shell
UNIX
Shell
UNIX menjadi jembatan antara pemakai dan system. Ia bertindak sebagai
penerjemah perintah yang sangat bermanfaat bagi pemakai. Kemampuan shell
mencakup dua hal :
·
Modus interaktif dan
·
Modus pemrograman
Pada
mode interaktif, pemakai dapat memberikan perintah dan kemudian shell akan
mengerjakan perintah yang diberikan. Hal ini dapat diulang-ulang sebab begitu
shell telah selesai menjalankan perintah, shell akan menunggu pemakai
memberikan perintah kembali.
Pada
modus pemrograman, pemakai dapat menyusun suatu program yang berupa sejumlah
perintah yang biasa disebut skrip shell. Selanjutnya, shell akan mengerjakan
perintah-perintah tersebut secara berurutan. Hal seperti ini sangat bermanfaat
untuk menangani pekerjaan yang bersifat ritin. Pada modus ini pemakai dapat
membuat suatu prototype suatu kegiatan tanpa harus menggunakan bahasa
pemograman seperti C.
Baik
pada mode interaktif maupun pemograman, pemakai dapat dengan mudah mengarahkan
keluaran-keluaran perintah yang normalnya ke layar menjadi ke satu berkas.
Bahkan pemakai dapat juga mengaatur agar hasil suatu perintah menjadi masukan
bagi perintah yang lain.
Utilitas
Sistem
operasi UNIX tersusun atas sejumlah program, yang antara lain berupa utilitas.
Utilitas-utilitas yang tersedia pada UNIX mempunyai tugas yang bermacam-macam,
antara lain berhubungan dengan :
·
Manajemen berkas
·
Penyunting berkas
·
Pendukung komunikasi
·
Pendukung pengembangan perangkat lunak.
Dengan
mengombinasikan utilitas-utilitas yang ada, pemakai dapat membuat program baru
untuk melaksanakan tugas seperti yang diharapkan. Hal ini dapat dilakukan
dengan cepat dan mudah.
Struktur system operasi Unix
(Hardware & Software)
Struktur
Perangkat Keras
Sistem
komputer yang berbasis UNIX tidak lepas dari aspek perangkat lunak (software),
tetapi juga melibatkan perangkat keras (hardware). Perangkat keras menyatakan
berbagai fisik dari komputer. Perangkat keras tersebut adalah :
·
Unit system
·
Konsol
·
Terminal
·
Printer
·
Jalur komunikasi
Unit
system mencakup unit pemroses pusat (CPU, Central Processing Unit), memory
(penyimpan informasi) dan media penyimpan hard disk serta peranti untuk keperluan backup (membuat cadangan data)
seperti floppy disk dan magnetic tape.
Konsol
adalah peranti yang terdiri dari layar dan keyboard yang dipakai oleh manajer
system (administrator system) untuk mengontrol operasi system. Pesan-pesan
kesalahan system ditampilkan pada peranti ini. Peranti ini juga dapat
diopersikan sebagai terminal bagi pemakai.
Terminal
adalah peranti yang terdiri dari layar dan keyboard yang bisa digunakan oleh
pemakai untuk berinteraksi dengan system. Suatu terminal dapat terhubung ke
system secara langsung ataupun terhubung lewat jalur komunikasi (misalnya
telpon) dan modem (alat pengubah dari sinyal digital pada komputer menjadi
sinyal analog pada telpon dan sebaliknya). Sebuah terminal juga bisa berupa PC
yang telah dilengkapi dengan program emulasi terminal (seperti TERN, PROCOM+).
Program telnet pada lingkungan Windows juga bisa digunakan untuk melakukan
koneksi ke system UNIX.
Jalur
komunikasi adalah peranti yang biasa digunakan untuk menghubungkan terminal
jarak jauh ke system UNIX ataupun menghubungkan system dengan system UNIX yang
lain atau mainframe.
Printer adalah peranti
yang digunakan untuk memperoleh informasi dalam kertas.
Struktur
perangkat Lunak
Komponen-komponen
penting dalam perangkat lunak UNIX berupa :
·
Kernel
·
Shell
·
Utilitas
·
Aplikasi
Kernel
Kernel adalah inti dari
system UNIX, yang mengontrol perangkat keras dan membentuk berbagai fungsi
beraras rendah. Fungsi-fungsi yang dilaksanakan oleh kernel :
·
Pelayanan tanggal dan jam system
·
Manajemen berkas dan penanganan sekuriti
·
Pelayanan operasi masukan dan keluaran
·
Manajemen dan penjadualan proses
·
Manajemen memory
·
Melakukan kegiatan akuntansi system
·
Melakukan penanganan kesalahan dan
interupsi
Bagian-bagian
lain dari UNIX, seperti aplikasi dan shell, memanggil kernel untuk membentuk
layanan kepadanya. UNIX menyediakan antar muka antara bagian luar kernel dan
kernel sendiri, berupa system call (pemanggilan system). Setiap pemanggilan
system mengintruksikan kernel untuk membantuk layanan tertentu sesuai dengan
permintaan program yang memanggilnya. Sebagai contoh kalau suatu program hendak
membaca data dari terminal, program perlu menyampaikan permintaan ke kernel.
Kernel akan melakukan tindakan yang sesuai dengan permintaan program, kemudian
menyampaikan hasilnya ke program.
Shell
Shell
adalah penerjemah pada system UNIX perangkat lunak inilah yang mejadi jembatan
antara pemakai dan system UNIX. Pemakai cukup memberikan perintah dan shell
yang akan menanganinya. Perintah sendiri dapat berupa :
·
Perintah built-in
Perintah
yang merupakan bagian internal dari shell
·
Perintah eksternal
Perintah
yang bukan berupa bagian internal dari shell (dapat berupa utilitas atau
program aplikasi).
Ada
beberapa jenis shell yang beredar saat ini. Empat di antaranya yang sangat
menonjol adalah
·
Bourne shell,
·
C shell,
·
Korn shell,dan
·
Bourne Again shell.
Bourne
shell adalah jenis shell yang tertua pada system UNIX. Nama shell ini
berdasarkan nama penciptanya Stephen R. Bourne, dari Laboratorium Bell,
AT&T. Shell ini diperkenalkan pertama kali pada akhir 70-an dan dipakai
sebagai shell utama pada UNIX yang berkiblat AT&T.
C
shell diciptakan oleh Bill Joy. Shell ini menjadi standar pada system UNIX
versi Barkeley. Format perintah menyerupai bahasa C. Kini muncul versi
pengembangannya yang disebut tesh.
Korn
shell adalah shell yang diciptakan oleh David Korn di Laboratorium Bell, AT&T
pada tahun 1983. Namun, shell ini baru dipublikasikan pada tahun 1986. Shell
ini bersifat kompatibel dengan Bourne shell, artinya perintah-perintah yang
didukung Bourne shell juga dapat dijalankan pada korn shell.
Bourne
Again Shell (bash) populer di lingkungan Unix. Shell ini dibuat dengan
menyertakan fitur yang terdapat pada Korn Shell dan C Shell dan tentu saja
bersifat kompatibel dengan Bourne Shell.
Utilitas
Utilitas adalah program
yang disediakan system UNIX untuk melaksanakan tugas tertentu. Jumlahnya banyak
sekali dengan fungsi yang beraneka ragam.
Beberapa kelompok
utilitas dilihat dari fungsinya :
·
Utilitas manajemen berkas dan direktori
Utilitas
kelompok ini sangat bermanfaat untuk melakukan tugas yang berhubungan dengan
berkas dan direktori, misalnya untuk membuat direktori dan menghapus berkas.
·
Utilitas penyunting berkas
Utilitas
ini sering disebut editor, sangat bermanfaat untuk membuat program atau
menyimpan informasi tertentu ke dalam berkas.
·
Utilitas penunjang komunikasi dan
jaringan
Utilitas
ini bermanfaat untuk melakukan komunikasi antar pemakai.
Bahkan
pemakai dapat mentransfer data antarsistem.
·
Utilitas administrasi system
Utilitas
ini berguna bagi administrator system untuk mengelola system. Misalnya untuk menciptakan nama
pemakai baru dan mendaftarkan printer pada system.
·
Utilitas pemrograman C
Utilitas
ini berguna untuk membuat program aplikasi dengan bahasa C.
·
Utilitas penganalisis unjuk kerja system
Utilitas
ini dapat digunakan oleh administrator system untuk menganalisis unjuk kerja
system, sehingga dapat melakukan penyetelan guna meningkatkan unjuk kerja.
·
Utilitas untuk keperluan backup dan
restore
Utilitas
ini bermanfaat untuk menyalin atau memindahkan data atau program ke media
eksternal seperti magnetic tape, atau sebaliknya.
Program aplikasi
Aplikasi adalah
program-program yang dibuat oleh pemakai, untuk memenuhi kebutuhannya sendiri.
Program-program ini dapat dibuat dengan menggunakan sejumlah utilitas, perintah
built-in milik shell, ataupun dibangun dengan bahasa pemograman seperti
C,COBOL, atau Python dan berbagai development tool seperti Oracle dan Informix.
Bisa juga berupa program paket yang dibeli dari pemasok perangkat lunak.
Struktur direktori dan file Unix
Berkas pada UNIX
dikelompokkan menjadi 3 golongan utama, berupa :
·
Berkas biasa
·
Direktori
·
Berkas special
Sturktur berkas system
UNIX bersifat hierarkis, manyerupai pohon yang terbalik. Puncaknya berupa root
(/). Kemudian, di bawahnya terdapat beberapa cabang yang disebut direktori yang
lain atau berupa berkas(bukan directori).
Setiap pemakai
mempunyai home directory, yaitu directory yang dituju pertama kali saat login.
Nama home directory dapat diketahui dengan memberikan perintah :
·
Echo $HOME (pada Bourne shell,Bourne
Again shell, dan Korn shell)
·
Echo~(pada C shell, Bourene Again shell,
dan Kor Shell)
Direktory tempat
pemakai sedang bekerja disebut directory kerja. Nama directory kerja dapat
diperoleh dengan memberikan perintah pwd.
Nama path berkas digunakan untuk mengacu suatu nama
berkas. Nama path dapat berupa absolut
maupun relative. Nama path absolute selalu dimulai dari root (dimulai
dengan /). Nama path relative bertolak dari direktori kerja.
Perintah dalam UNIX
Suatu perintah UNIX
dapat berupa nama perintah kemudian diikuti dengan pilihan dan argument.
Formatnya :
Nama_perintah[pilihan][argument…]
Suatu pilihan pada
perintah UNIX umumnya diawali dengan tanda minus.
Kalau ada beberapa
pilihan dalam suatu perintah, pilihan dapat digabungkan dengan hanya menggunakan
sebuah tanda minus. Dalam hal ini , urutan pilihan dapat dibolak-balik.
·
Who = untuk mengetahui para pemakai
system
·
Who am I = untuk menampilkan nama
pemakai system yang memberikan perintah ini
·
Logname = Untuk menampilkan nama pemakai
system yang memberikan perintah ini
·
Cal = untuk menampilkan kalender
·
Man = Untuk menampilkan dokumentasi
online dari suatu perintah
Masuk dan keluar ke/dari unix
Untuk masuk ke system
UNIX (login) diperlukan nama pemakai dan password. Untuk mengubah password
gunakan perintah passwd. Dalam mengetikkan suatu perintah, huruf kecil dan
capital mempunyai makna yang berbeda
Perintah untuk keluar
dari system UNIX :
·
Exit atau <Ctrl-D> untuk Bourne
shell, Bourne Again Shell, dan Korn Shell
·
Logout atau <Ctrl-D> untuk C shell
dan Bourne Again Shell
Pengolahan
Directory
Suatu nama directory pada dasarnya sama
dengan penamaan berkas. Operasi-operasi yang bisa dilakukan pada directory :
·
Mengetahui direktori kerja dengan pwd
·
Membuat direktori baru dengan mkdir
·
Menghapus directori yang kosong dengan
rmdir
·
Menghapus direktori yang berisi berkas
dengan rm-r
·
Memindah directori kerja dengan cd
·
Memindahkan berkas-berkas ke suatu
direktori dengan mv
Permisi akses berkas
Permisi untuk mengakses
berkas atau direktori diterapkan pada tiga jenis pemakai, yaitu :
·
Owner (pemilik)
·
Group
·
Other
Adapun jenis
pengaksesan yang ada berupa :
·
Read
·
Write
·
Execute
Pada unix terdapat
jenis pemakai yang mempuyai wewenang tertinggi dalam mengakses berkas-berkas
yang ada pada system, yaitu disebut superuser.
Perintah-perintah yang
berhubungan dengan permisi akses :
·
Is-l untuk mengetahui permisi akses
suatu berkas
·
Chmod untuk mengubah permisi akses suatu
berkas atau direktori
·
Chown untuk mengubah kepemilikan berkas
·
Chgrp untuk mengubah group yang tercatat
pada berkas
·
Umask untuk menentukan permisi akses
terhadap penciptaan berkas atau direktori
Editor
vi
Vi adalah editor teks yang berorientasi
pada layar. Ada tiga jenis modus pada vi, yaitu :
·
Modus penyisipan
·
Modus perintah
·
Modus baris akhir
Untuk menyimpan teks dan
keluar dari vi pemakai dapat memberikan perintah :
·
ZZ
·
:wq
·
:x
Untuk keluar dari vi
tanpa perlu melakukan penyimpanan perintahnya berupa :
:q!
Perintah a,i,A,I,o,O
berguna untuk melakukan penyisipan teks
Perintah-perintah yang
berhubungan dengan penyuntingan teks :
·
Menghapus teks (umumnya diawali dengan
d)
·
Mengubah teks (umumnya diawali dengan c)
·
Membatalkan penghapusan atau
penyuntingan (u dan U)
Kebanyakan perintah vi
dapat diberi factor pengulang. Misalnya untuk menghapus 5 buah karakter,
perintahnya bisa berupa 5x. untuk perintah yang terdiri dua karakter (seperti
dd dan dW), factor pengulangan dapat diletakkan di depan perintah (contoh 5dd)
atau diantara dua karakter perintah (contoh d5d)