Posted by : Unknown
Minggu, 28 September 2014
Pengenalan LINUX
Kata "Linux" untuk
saat ini sudah tidak asing lagi bagi para pengguna internet dan komunitas
mahasiswa yang memiliki hobi untuk mencoba software-software baru. Secara
teknis dan singkat dapat dikatakan, Linux adalah suatu sistem operasi yang
bersifat multi user dan multi tasking, yang dapat berjalan di berbagai platform
termasuk prosesor Intel 386 maupun yang lebih tinggi. Sistem operasi ini
mengimplementasikan standar POSIX. Linux dapat berinteroperasi secara baik
dengan sistem operasi yang lain, termasuk Apple, Microsoft dan Novell. Nama
Linux sendiri diturunkan dari pencipta awalnya, Linus Torvalds, yang sebetulnya mengacu pada suatu kumpulan
software lengkap yang bersama-sama dengan kernel menyusun suatu sistem operasi
yang lengkap. Lingkungan sistem operasi ini mencakup ratusan program, termasuk
kompiler, interpreter, editor dan utilitas.
Perangkat bantu yang mendukung konektifitas, ethernet, SLIP dan PPP dan
interoperabilitas. Produk perangkat lunak yang handal (reliable), termasuk versi pengembangan terakhir. Kelompok
pengembang yang tersebar di seluruh dunia yang telah bekerja dan menjadikan
Linux portabel ke suatu platform baru, begitu juga mendukung komunitas pengguna
yang memiliki beragam kebutuhan dan juga pengguna dapat turut serta bertindak
sebagai tim pengembang sendiri.
Perbedaan mendasar Linux
Satu hal yang membedakan Linux terhadap sistem operasi lainnya adalah
harga. Linux ini lebih murah dan dapat diperbanyak serta didistribusikan
kembali tanpa harus membayar fee atau royalti kepada seseorang. Tetapi ada hal
lain yang lebih utama selain pertimbangan harga yaitu mengenai source code.
Source code Linux tersedia bagi semua orang sehingga setiap orang dapat
terlibat langsung dalam pengembangannya. Kebebasan ini telah memungkinkan para
vendor perangkat keras membuat driver untuk device tertentu tanpa harus
mendapatkan lisensi source code yang mahal atau menandatangani Non Disclosure Agreement (NDA). Dan itu
juga telah menyediakan kemungkinan bagi setiap orang untuk melihat ke dalam
suatu sistem operasi yang nyata dan berkualitas komersial. Karena Linux itu
tersedia secara bebas di internet, berbagai vendor telah membuat suatu paket
distrbusi yang dapat dianggap sebagai versi kemasan Linux. Paket ini termasuk
lingkungan Linux lengkap, penagkat lunak untuk instalasi dan mungkin termasuk
perangkat lunak khusus dan dukungan khusus.
Perbandingan Linux terhadap sistem
operasi lainnya
Linux disusun berdasarkan standar sistem operasi POSIX yang sebenarnya
diturunkan berdasarkan fungsi kerja UNIX. UNIX kompatibel dengan Linux pada
level system call, ini berarti sebagian besar program yang ditulis untuk UNIX
atau Linux dapat direkompilasi dan dijalankan pada sistem lain dengan perubahan
yang minimal. Secara umum dapat dikatakan Linux berjalan lebih cepat dibanding
UNIX lain pada hardware yang sama. Dan lagi UNIX memiliki kelemahan yaitu tidak
bersifat free. MS-DOS memiliki kemiripan dengan Linux yaitu file sistem yang
bersifat hirarkis. Tetapi MS-DOS hanya dapat dijalankan pada prosesor x86 dan
tidak mendukung multi user dan multi tasking, serta tidak bersifat free. Juga
MSDOS tidak memiliki dukungan yang baik agar dapat berinteroperasi dengan
sistem operasi lainnya, termasuk tidak tersedianya perangkat lunak network,
program pengembang dan program utilitas yang ada dalam Linux.
MSWindows menawarkan kemampuan grafis yang ada pada Linux termasuk
kemampuan networking tetapi tetap memiliki kekurangan yang ada pada MS-DOS.
Windows NT yang juga tersedia untuk Digital Alpha selain prosesor x86. Namun
Windows NT ini masih juga memiliki beberapa kekurangan yang telah ada pada
MS-DOS.Waktu untuk menemukan suatu bug dalam suatu sistem operasi ini tak
sebanding dengan harga yang harus dibayar. Sistem operasi Apple untuk Macintosh
hanya dapat berjalan di sistem Mac. Juga memiliki kekurangan dari sisi
ketersediaan perangkat bantu pengembang (development tool) dan juga kurang
dapat secara mudah untuk berintoperasi dengan sistem operasi lainnya. Apple
juga telah memungkinkan Linux dapat dijalankan pada PowerMac.
Sejarah Linux
Linux pada awalnya dibuat oleh seorang mahasiswa Finlandia yang bernama
Linus Torvalds. Dulunya Linux merupakan proyek hobi yang diinspirasikan dari
Minix, yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. Linux
versi 0.01 dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5
Oktober 1991, Linus mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya
dapat menjalankan shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler).
Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan
untuk jaringan, pengembangan software dan bahkan untuk pekerjaan sehari-hari.
Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika
dibandingkan dengan sistem operasi komersial (misalnya Windows 9.x/NT/2000/ME).
Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan
karena Linux dikembangkan oleh beragam kelompok orang. Keragaman ini termasuk
tingkat pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat
berkomunikasi dengan cepat dan efisien, internet menjadi pilihan yang sangat
tepat. Karena kernel Linux dikembangkan dengan usaha yang independent, banyak
aplikasi yang tersedia, sebagai contoh, C Compiler menggunakan gcc dari Free Software Foundation GNU’s Project. Compiler ini banyak
digunakan pada lingkungan Hewlett-Packard dan Sun. Sekarang ini, banyak
aplikasi Linux yang dapat digunakan untuk keperluan kantor seperti untuk
spreadsheet, word processor, database dan program editor grafis yang memiliki
fungsi dan tampilan seperti Microsoft Office, yaitu Star Office. Selain itu,
juga sudah tersedia versi Corel untuk Linux dan aplikasi seperti Matlab yang
pada Linux dikenal sebagai Scilab. Linux bisa didapatkan dalam berbagai
distribusi (sering disebut Distro). Distro adalah bundel dari kernel Linux,
beserta sistem dasar linux, program instalasi, tools basic, dan program-program
lain yang bermanfaat sesuai dengan tujuan pembuatan distro. Ada banyak sekali distro Linux, diantaranya :
·RedHat,
distribusi yang paling populer, minimal di Indonesia. RedHat merupakan
distribusi pertama yang instalasi dan pengoperasiannya mudah.
· Debian,
distribusi yang mengutamakan kestabilan dan kehandalan, meskipun mengorbankan
aspek kemudahan dan kemutakhiran program. Debian menggunakan .deb dalam paket
instalasi programnya.
·Slackware,
merupakan distribusi yang pernah merajai di dunia Linux. Hampir semua
dokumentasi Linux disusun berdasarkan Slackware. Dua hal penting dari Slackware
adalah bahwa semua isinya (kernel, library ataupun aplikasinya) adalah yang
sudah teruji. Sehingga mungkin agak tua tapi yang pasti stabil. Yang kedua
karena dia menganjurkan untuk menginstall dari source sehingga setiap program
yang kita install teroptimasi dengan sistem kita. Ini alasannya dia tidak mau
untuk menggunakan binary RPM dan sampai Slackware 4.0, ia tetap menggunakan libc5 bukan glibc2 seperti yang lain.
·SuSE,
distribusi yang sangat terkenal dengan YaST (Yet another Setup Tools) untuk mengkonfigurasi sistem.
SuSE merupakan distribusi pertama dimana instalasinya dapat menggunakan bahasa Indonesia .
·Mandrake,
merupakan varian distro RedHat yang dioptimasi untuk pentium. Kalau komputer
kita menggunakan pentium ke atas, umumnya Linux bisa jalan lebih cepat dengan
Mandrake.
·WinLinux,
distro yang dirancang untuk diinstall di atas partisi
DOS (WIndows). Jadi untuk menjalankannya bisa di-klik dari Windows. WinLinux
dibuat seakan-akan merupakan suatu program aplikasi under Windows. Dan masih
banyak distro-distro lainnya yang telah tersedia maupun yang akan muncul. Anton,
Afri ,dan Wisesa Open Source Campus Agreement
Kelebihan Linux
Di sini akan dijelaskan beberapa kelebihan dari sistem operasi Linux/UNIX
dibandingkan dengan dengan sistem operasi yang lain. Dan berikut ini adalah
beberapa fakta dari hal-hal yang menguntungkan dengan menggunakan program dan
file-file Linux/UNIX :
Pada dasarnya semua data tersimpan di dalam harddisk walau ada beberapa
kondisi dimana data tersimpan di disket. Linux/UNIX memberikan beberapa proses
spesial dimana terminal, printer dan device hardware lainnya dapat diakses
seperti kita mengakses file yang tersimpan dalam harddisk atau disket. _ Ketika
program dijalankan, program tersebut dijalankan dari harddisk ke dalam RAM dan
setelah dijalankan akan dinamakan sebagai proses. Linux/UNIX menyediakan servis
untuk membuat, memodifikasi program, proses dan file. Linux/UNIX mendukung
struktur file yang bersifat hirarki. Linux/UNIX adalah salah satu sistem
operasi yang termasuk ke dalam kelas sistem operasi yang dapat melakukan
multitasking. Multitasking sendiri adalah keadaan dimana suatu sistem operasi
dapat melakukan banyak kerjaan pada saat yang bersamaan.
Selain multitasking, Linux/UNIX juga dapat mendukung multiuser. Yaitu
sistem operasi yang pada saat bersamaan dapat digunakan oleh lebih dari satu
user yang masuk ke dalam sistem. Bahkan untuk Linux juga mendukung
untuk
multiconsole dimana pada saat bersamaan di depan komputer langsung tanpa harus
melalui jaringan dan memungkinkan lebih dari satu user masuk ke dakam sistem.
Bagian sistem operasi
Sistem Operasi Linux/UNIX terdiri dari kernel, program sistem dan
beberapa program aplikasi. Kernel merupakan inti dari sistem operasi yang
mengatur penggunaan memori, piranti masukan keluaran, proses-proses, pemakaian
file pada file system dan lain-lain. Kernel juga menyediakan sekumpulan layanan
yang digunakan untuk mengakses kernel yang disebut system call. System call ini digunakan untuk mengimplementasikan
berbagai layanan yang dibutuhkan oleh sistem operasi.
Program sistem dan semua program-program lainnya yang berjalan di atas
kernel disebut user mode. Perbedaan
mendasar
antara program sistem dan program aplikasi adalah program sistem dibutuhkan
agar suatu sistem operasi dapat berjalan sedangkan program aplikasi adalah
program yang dibutuhkan untuk menjalankan suatu aplikasi tertentu. Contoh :
daemon merupakan program sistem dan pengolah kata (word processor) merupakan program aplikasi.
Bagian penting kernel Linux
Kernel Linux terdiri dari beberapa bagian penting, seperti : manajemen
proses, manajemen memori, hardware device drivers, filesystem drivers,
manajemen jaringan dan lain-lain. Namun bagian yang terpenting ialah manajemen
proses dan manajemen memori. Manajemen memori menangani daerah pemakaian
memori, daerah swap, bagian-bagian kernel dan untuk buffer cache. Manajemen proses menangani pembuatan proses-proses
dan penjadwalan proses. Pada bagian dasar kernel berisi hardware device drivers
untuk setiap jenis hardware yang didukung.
Redirection
Fasilitas redirection memungkinkan kita untuk dapat menyimpan output dari
sebuah proses untuk disimpan ke file lain (Output Redirection) atau sebaliknya
menggunakan isi dari file sebagai input dalam suatu proses (Input edirection).
Komponen-komponen dari redirection adalah <, >, < <, > > Untuk lebih
jelas nya akan di berikan contoh untuk masing-masing redirection :
a. Output Redirection
Kita akan menggunakan perintah cat yang telah tersedia secara default di
shell linux.
Syntax-nya
sbb :
$ cat > <namafile>
Contoh
:
Membuat
File dengan nama test
antoro@drutz:~$ cat > test
ini hanya sebuah test dari output redirection
hehehehehe........
^D
Melihat
isi file test
antoro@drutz:~$ cat test
ini hanya sebuah test dari output redirection
hehehehehe........
antoro@drutz:~$
Penambahan
untuk file test
antoro@drutz:~$ cat > > test
baris ini tambahan dari yang lama...
^D
Melihat
kembali isi file test setelah ditambahkan beberapa kata
antoro@drutz:~$ cat test
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
antoro@drutz:~$
Disini
kita melihat bahwa output dari perintah cat akan di belokkan (redirect) ke
sebuah file dengan nama test.
b.
Input Redirection
Isi dari suatu file akan kita gunakan sebagai input dari suatu proses
yang akan kita jalankan. Sebagai contoh kita akan mencoba mengirimkan mail ke
diri sendiridengan isi mail berasal dari file test tadi antoro@drutz:~$ mail antoro < test Sekarang
kita lihat mail yang telah dikirim tadi dengan perintah sbb :
antoro@drutz:~$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/antoro": 1 message 1 new
N 1 antoro@drutz.adhyaks Thu Nov 9 14:51 14/525
& 1
Message 1:
From antoro@drutz.adhyaksa.net Thu Nov 9 14:51:12 2000
Delivered-To: antoro@drutz.adhyaksa.net
To: antoro@drutz.adhyaksa.net
Date: Thu, 9 Nov 2000 14:51:12 +0700 (JAVT)
From: antoro@drutz.adhyaksa.net (/me)
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
& q
antoro@drutz:~$
Isi
dari file test di jadikan sebagai input dari proses yang kita lakukan yaitu
proses pengiriman mail.
Pipeline
Pipeline ( | ) adalah fasilitas di shell UNIX yang berfungsi untuk
memberikan input dari suatu proses dari output proses yang lain. Misalkan
sebagai contoh :
Sebelum
kita gunakan pipeline
antoro@drutz:~$ find *
dead.letter
mbox
test
Setelah
kita gunakan pipeline
antoro@drutz:~$ find * | grep test
test
antoro@drutz:~$
Pada
contoh pipeline di atas, mempunyai arti bahwa output dari perintah find menjadi
input dari perintah grep yang
kemudian
hanya mengambil kata "test" dari output find.
Shell (bash command)
Shell adalah sebuah program yang membaca input standar yaitu keyboard.
Ketika kita mengetikkan sesuatu di keyboard maka shell akan menafsirkan apa
yang kita ketikkan. Sebagai contoh apabila kita ketikkan ls pada shell dan ls ternyata merupakan program yang dapat di eksekusi maka
shell akan menjalankan program tersebut. Misal :
antoro@drutz:~$ ls
test
antoro@drutz:~$ hello
bash: hello: command not found
antoro@drutz:~$
Kita
dapat melihat bahwa ketika ls kita
ketikkan maka program ls dijalankan,
sedangkan apabila kita jalankan
hello dan karena memang tidak ada program hello maka shell tidak dapat mengeksekusinya.
Jenis-jenis shell
Jenis shell yang digunakan di unix maupun linux banyak macamnya, tetapi
dilihat dari segi kuantitas pemakainya shell yang banyak dipakai adalah sebagai
berikut :
·
Bourne shell (sh)
·
C shell (csh)
·
Korn shell (ksh)
·
Bourne Again shell (bash)
Yang
paling banyak di gunakan adalah bash,
dimana bash ini merupakan
pengembangan dari sh dan ksh. Mayoritas
distribusi
linux saat ini menggunakan bash sebagai
default shell-nya.
Perintah-perintah dasar dalam Linux
cat
Perintah
cat ini menampilkan isi dari suatu
file ke standart output (stdout) Syntax :
$ cat <namafile>
Contoh
:
antoro@drutz:~$ cat test
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
cat dapat juga digunakan untuk memasukkan
sebuah isi dari suatu file ke dalam file yang lain.
Syntax
:
$ cat file1 file2 file3 > file4
clear
Perintah
clear ini mirip dengan cls pada DOS yang gunanya membersihkan
layar Syntax :
$ clear
Anton,
Afri ,dan Wisesa Open Source Campus Agreement
cp
Mirip
dengan copy pada DOS,
perintah cp ini berfungsi
mengkopi file. Syntax :
$ cp [option] file /dir/path/
Untuk
lebih jelas silahkan dibaca pilihan-pilihannya dengan menjalankan :
$ cp --help
cut
Perintah
cut mendefinisikan suatu file yang
berisi data berdasarkan kolom Syntax :
$ cut [option] file
Contoh
: kita akan cut file test dari
kolom 1-7
antoro@drutz:~$ cut -c 1-7 test
ini han
heheheh
baris i
antoro@drutz:~$ cat test
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
antoro@drutz:~$
Dari
contoh dapat terlihat bahwa cut hanya
menampilkan isi dari file test dari kolom 1 - 7
find
Dari
namanya sudah dapat diterka bahwa perintah ini berfungsi untuk mencari file
ataupun directori. Syntax :
$ find /path [option]
Contoh
:
antoro@drutz:~$ find . -name te*
./test
antoro@drutz:~$
grep
Perintah
ini berguna untuk pencarian data di dalam file, penggunaan grep akan lebih mengefisienkan waktu
ketimbang harus membaca satu persatu Syntax :
$ grep [option] "data" file
Contoh
:
antoro@drutz:~$ grep "ini" test
ini hanya sebuah test dari output redirection
baris ini tambahan dari yang lama...
antoro@drutz:~$
ln
Kegunaan
perintah ini adalah untuk membuat link dari satu file/directori ke
file/directori lain Syntax :
$ ln -s /path/to/source target
Contoh
:
antoro@drutz:~$ ln -s test uji
antoro@drutz:~$ ls -l
total 2
-rw-r--r-- 1 antoro antoro 102 Nov 9 14:11 test
lrwxrwxrwx 1 antoro antoro 4 Nov 10 03:21 uji -> test
antoro@drutz:~$
Dari
contoh dapat dilihat bahwa file uji adalah merupakan link dari file test
locate
Perintah
ini digunakan untuk mengetahui dimana letaknya sebuah file atau directori.
Fungsinya kurang lebih sama dengan find,
bedanya locate menggunakan sebuah database (biasanya terletak di /var/lib/locatedb ) yang dapat di
update menggunakan perintah updatedb.
Syntax :
$ locate <something>
Contoh
:
antoro@drutz:~$ locate uji
/home/antoro/uji
antoro@drutz:~$
ls
Perintah
ini sama seperti dir pada DOS yanitu
berfungsi untuk menampilkan isi dari suatu directory beserta atributatribut
filenya. Syntax :
$ ls [option] /directory
Contoh
:
antoro@drutz:~$ ls /home/antoro
test uji
antoro@drutz:~$
mkdir
Perintah
mkdir ekivalen dengan md (make directory) pada DOS yang berguna
untuk membuat sebuah directory. Syntax :
$ mkdir <namadir>
mv
Perintah
ini mirip dengan perintah move pada
DOS yang berguna untuk memindahkan file dari satu directory ke directory
lainnya, atau juga dapat digunakan sebagai pengganti nama file (ren/rename pada DOS) Syntax :
$ mv file1 file2
rm dan rmdir
Perintah
rm adalah perintah untuk menghapus
file. Untuk directory dapat digunakan rmdir Syntax
:
$ rm <namafile>
$ rmdir <namadirectori>
tail
Perintah
ini berlawanan dengan perintah cut, tail mendefinisikan sebuah data pada file
menurut barisnya. Sedikit perbedaan adalah pada tail secara default ditampilkan 10 baris terakhir dari isi
file Syntax :
$ tail [option] <namafile>
mount
Setiap
device dalam linux agar dapat diakses harus terlebih dahulu di-mount atau
dikaitkan. Syntax :
$ mount [option] /dev/<devicefile>
/path/to/mountdir
Contoh
:
$ mount /dev/hda1 /mnt/disk
ps
Perintah
ini digunakan untuk melihat setiap proses yang dijalankan di dalam mesin
beserta nomor prosesnya. Syntax :
$ ps [option]
kill
Perintah
kill (mematikan) sesuai namanya
adalah berfungsi untuk mengirimkan signal ke suatu proses. Sehingga bisa
memerintahkan apakah suatu proses ditunda , dihentikan atau dilanjutkan. Tetapi
paling sering digunakan untuk mematikan proses yang sedang berjalan. Syntax :
$ kill <nomor-prosesnya>
adduser, passwd dan userdel
Perintah
adduser dan userdel adalah file-file untuk administrasi
user. adduser digunakan untuk menambahkan user pada suatu mesin. Kemudian
setelah ditambahkan ditentukan password user yang baru tersebut dengan perintah
passwd. Sedangkan userdel digunakan untuk menghapus user di
mesin. Untuk menjalankan perintah-perintah ini diperlukan root priviledge.
Syntax :
# adduser <namauser>
# passwd <namauser>
# userdel [-r] <namauser>