1 BAB 5 LINUX 5.1.DEFINISI LINUX Apa itu sistem operasi? Dan apa itu Linux? Biasanya, istilah sistem operasi sering ditujukan kepada semua perangkat l...
5.1.DEFINISI LINUX Apa itu sistem operasi? Dan apa itu Linux? Biasanya, istilah sistem operasi sering ditujukan kepada semua perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perangkat lunak terinstal. Sistem operasi adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan perangkat lunak aplikasi seperti program-program pengolah kata. Sebagian sistem operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu (misalnya dos), tetapi sebagian besar sistem operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem operasi seperti ini disebut sebagai Multi-tasking Operating Sistem (misalnya keluarga sistem operasi Linux). Linux adalah nama yang diberikan pada sistem operasi komputer bertipe Unix dengan logonya berupa seekor burung Pinguin. Linux mempunyai kemampuan MultiTasking, Multi User, dan Memory Management yang baik. Nama "Linux" berasal dari nama pembuatnya, yang diperkenalkan tahun 1991 oleh Linus Torvalds, seorang mahasiswa asal Finlandia yang dilahirkan pada tanggal 28 Desember 1969. Orang yang disebutsebut sebagai bapak Linux ini, sudah mengenal bahasa pemrograman pada umur 10 tahun. Karena hobinya dalam dunia computing, di tahun 1988 Linus diterima di University of Helsinki dan pada tahun 1990 Linus mulai belajar kelas pemrograman C pertamanya. Linus tidak puas terhadap sistem operasi yang ada pada PC pertamanya (MS-DOS atau Disk Operating Sistem), OS buatan Microsoft. Linus lebih cenderung untuk menggunakan sistem operasi bertipe Unix seperti yang dipakai pada komputer milik Universitasnya. Linux adalah sebuah kernel sistem operasi. Pada mulanya, kernel yang dibuat berbasis Minix, sebuah sistem operasi kecil yang dibuat oleh Prof. Andrew Tanenbaum pada tahun 1987, yang banyak digunakan mata kuliah sistem operasi. Sampai saat ini, Minix masih tetap ada, dan masih tetap sederhana karena tujuannya memang untuk praktik kuliah.
5.2.SEJARAH LINUX Pada tahun 1969, Ken Thompson dan Dennis Ritchie (juga adalah developer bahasa C), para peneliti di AT&T Bell Laboratorium Amerika, membuat sistem operasi Unix, cikal bakal dari Linux. Unix mendapatkan perhatian besar karena merupakan sistem operasi pertama yang dibuat bukan oleh hardware maker. Selain itu juga karena seluruh source 53
code-nya dibuat dengan bahasa C, sehingga mempermudah pemindahannya ke berbagai platform. Dalam waktu singkat Unix berkembang secara pesat dan terpecah dalam dua aliran : Unix yang dikembangkan oleh Universitas Berkeley dan yang dikembangkan oleh AT&T. Setelah itu mulai banyak perusahaan yang melibatkan diri, dan terjadilah persaingan yang melibatkan banyak perusahaan untuk memegang kontrol dalam bidang sistem operasi. Persaingan ini menyebabkan perlu adanya standarisasi. Dari sini lahirlah proyek Posix yang dimotori oleh IEEE (The Institute of Electrical and Electronics Engineers) yang bertujuan untuk menetapkan spesifikasi standar Unix. Akan tetapi, standarisasi ini tidak meredakan persaingan. Sejak saat itu, muncul berbagai macam jenis Unix. Salah satu diantaranya adalah Minix yang dibuat oleh A. S. Tanenbaum untuk tujuan pendidikan. Source code Minix inilah yang oleh Linus Torvalds, seorang mahasiswa Universitas Helsinki pada waktu itu, kemudian dijadikan sebagai referensi untuk membuat sistem operasi baru yang gratis dan yang source codenya bisa diakses oleh umum. Sistem operasi ini kemudian diberi nama Linux. Dalam membangun Linux, Linus menggunakan tool-tool dari Free Foundation Software yang berlisensi GNU. Kemudian untuk menjadikan Linux sebuah sistem operasi yang utuh, dia memasukkan program-program yang juga berlisensi GNU. Awalnya Linus membuat Linux sendiri sebagai hobi, karena ia ingin menjalankan sistem operasi semacam Unix dalam komputer 386-nya. Dari hasil kerjanya lahirlah Linux versi 0.01, yang sebenarnya masih belum bisa disebut sebuah sistem operasi. Setelah mengalami perbaikan, jadilah Linux versi 0.02, yang notabene adalah Linux resmi versi pertama yang diumumkan pada publik. Linus mengumumkan source code Linux pada tanggal 5 Oktober 1991. Saat itu Linux sudah dapat menjalankan shell bash, gcc compiler, GNU make, GNU sed, compress dll. Proyek Linux ini mendapatkan perhatian dari para programer di seluruh dunia yang kemudian turut berpartisipasi membangun Linux. Perkembangan Linux berlangsung dengan sangat pesat hingga saat ini. Versi terbaru dari kernel Linux dapat anda check pada situs http://www.kernel.org. Saat ini hanya pembangunan kernel Linux saja yang masih dikontrol oleh Linus sendiri. Sedangkan bagian lain dari sistem operasi Linux telah dikembangkan oleh banyak pihak. Oleh karenanya sekarang kita dapat melihat berbagai macam distro (distribusi, jenis) Linux yang jumlahnya ratusan jenis. Salah satu distro yang terkenal adalah RedHat. Selain itu ada juga distribusi Slackware dan Debian yang memiliki ciri khasnya masing-masing. Linux juga diadaptasi ke banyak bahasa seperti misalnya Linux Trustix Merdeka di Indonesia, Vine Linux di Jepang, RedFlag Linux di Cina, dll. Perkembangan yang pesat ini tidak terlepas dari jasa proyek GNU yang menyediakan program-program bermutu yang gratis dan esensial dalam Linux, seperti shell program, compiler, XFree, Gnome desktop, dll. Boleh dikatakan Linux ada saat ini berkat budaya open source dan fenomena Linux ini pula salah satu bukti kehebatan dari budaya open source.
54
5.3.PENGEMBANG Perbedaan utama antara Linux dan sistem operasi populer lainnya terletak pada kernel Linux dan komponen-komponennya yang bebas dan terbuka. Beberapa lisensi perangkat lunak bebas dan sumber terbuka berdasarkan prinsipprinsip copyleft, sebuah konsep yang menganut prinsip: karya yang dihasilkan dari bagiancopyleft harus juga merupakan copyleft. Lisensi perangkat lunak bebas yang paling umum, GNU GPL, adalah sebuah bentuk copyleft, dan digunakan oleh kernel Linux dan komponen-komponen dari proyek GNU. Sistem Linux berkaitan erat dengan standar-standar POSIX, SUS, ISO dan ANSI. Akan tetapi, baru distribusi Linux-FT saja yang mendapatkan sertifikasi POSIX.1. Sebuah distribusi Linux, yang umum disebut dengan "distro", adalah sebuah proyek yang bertujuan untuk mengatur sebuah kumpulan perangkat lunak berbasis Linux dan memfasilitasi instalasi dari sebuah sistem operasi Linux. Distribusi-distribusi Linux ditangani oleh individu, tim, organisasi sukarelawan dan entitas komersial. Distribusi Linux memiliki perangkat lunak sistem dan aplikasi dalam bentuk paket-paket dan perangkat lunak yang spesifik dirancang untuk instalasi dan konfigurasi sistem. Perangkat lunak tersebut juga bertanggung jawab dalam pemutakhiran paket. Sebuah Distribusi Linux bertanggung jawab atas konfigurasi bawaan, sistem keamanan dan integrasi secara umum dari paket-paket perangkat lunak sistem Linux.
5.4.PERBEDAAN MENDASAR LINUX Satu hal yang membedakan Linux terhadap sistem operasi lainnya adalah, harga. Linux ini gratis. Berarti dapat diperbanyak, dan di distribusikan kembali tanpa harus membayar fee atau royalti kepada seseorang. Selain dari pertimbangan harga. Source code Linux tersedia bagi setiap orang. Perkembangan Linux menunjukkan pentingnya perananan kebebasan ini. Hal ini telah menghasilkan suatu tingkat keterlibatan yang menakjubkan dari ribuan atau bahkan ratusan ribu orang di seluruh dunia. Kebebasan ini telah memungkinkan para vendor perangkat keras membuat driver untuk device tertentu tanpa harus mendapatkan lisensi source code yang mahal, atau menandatangani non descructive agreement. Dan itu juga telah menyediakan kemungkinan bagi mahasiswa ilmu komputer di seluruh dunia untuk melihat kedalam suatu sistem operasi yang nyata dan berkualitas komersial. Karena Linux itu tersedia secara bebas di Internet, berbagai vendor telah membuat suatu paket distribusi, yang dapat dianggap sebagai berbagai versi kemasan Linux.paket ini termasuk lingkungan Linux lengkap, perangkat lunak untuk instalasi, dan mungkin termasuk perangkat lunak khusus, dan dukungan khusus.
5.5.PERINTAH DASAR LINUX Seperti halnya bila kita mengetikkan perintah di dos, command line atau baris perintah di Linux juga diketikkan di prompt dan diakhiri dengan menekan tombol Enter pada keyboard untuk mengeksekusi perintah tersebut.
55
Baris perintah merupakan cara yang lebih efisien untuk melakukan sesuatu pekerjaan. Oleh karena itu pemakai Linux tetap mengandalkan cara ini untuk bekerja. Sebaiknya pemula juga harus mengetahui dan sedikitnya pernah menggunanakan perintah baris ini karena suatu saat pengetahuan akan perintah-perintah ini bisa sangat diperlukan. Berikut akan dijelaskan beberapa perintah dasar yang mungkin kelak akan sering digunakan terutama oleh para pemula. Perhatian: pengetahuan akan perintah-perintah yang lain akan segera bertambah seiring dengan kemajuan Anda menguasai sistem operasi Linux ini. Penjelasan masing-masing perintah akan dipersingkat saja dan untuk mengetahui lebih detail lagi fungsi-fungsi suatu perintah, Anda dapat melihat manualnya, misalnya dengan mengetikkan perintah man. Man adalah perintah untuk menampilkan manual dari suatu perintah. Cara untuk menggunakannya adalah dengan mengetikkan man diikuti dengan perintah yang ingin kita ketahui manual pemakaiannya. Contoh : $ man ls Perintah di atas digunakan untuk menampilkan bagaimana cara penggunaan perintah ls secara lengkap.
Sebagai panduan Anda, berikut adalah daftar perintah secara alfabet. Sebenarnya, Anda dapat saja menekan tab dua kali untuk melihat semua kemungkinan perintah yang dapat digunakan. Misalnya Anda ingin mengetahui perintah apa saja yang dimulai dengan huruf a, maka Anda cukup mengetikkan a lalu tekan tab dua kali.
5.5.1.Daftar Perintah Menurut Alphabet & Perintah & digunakan untuk menjalan perintah di belakang (background). Contoh: wget http://id.wikibooks.org & Perintah & dipakai dibelakang perintah lain untuk menjalankannya di background. Apa itu jalan di background? Jalan dibackground maksudnya adalah kita membiarkan sistem untuk menjalankan perintah sendiri tanpa partisipasi kita, dan membebaskan shell/command prompt agar bisa dipergunakan menjalankan perintah yang lain. Adduser Perintah adduser digunakan untuk menambahkan user. Biasanya hanya dilakukan oleh root untuk menambahkan user atau account yg baru. Setelah perintah ini bisa dilanjutkan dengan perintah passwd, yaitu perintah untuk membuat password bagi user tersebut. Contoh : # adduser udin # passwd udin
56
Perhatikan bahwa semua perintah yang membutuhkan akses root, di sini saya tulis dengan dengan menggunakan tanda #, untuk memudahkan Anda membedakannya dengan perintah yang tidak perlu akses root. Jika Anda menjalankan perintah adduser, Anda akan diminta memasukkan password untuk user yang Anda buat. Isikan password untuk user baru tersebut dua kali dengan kata yang sama. Alias Digunakan untuk memberi nama lain dari sebuah perintah. Misalnya bila Anda ingin perintah ls dapat juga dijalankandengan mengetikkan perintah dir, maka buatlah aliasnya sbb : $ alias dir=ls Kalau Anda suka dengan tampilan berwarna-warni, cobalah bereksperimen dengan perintah berikut : $ alias dir=ls -ar –color:always Untuk melihat perintah-perintah apa saja yang mempunyai nama lain saat itu, cukup ketikkan alias saja (tanpa argumen). Lihat juga perintah unalias. Bg Untuk memaksa sebuah proses yang dihentikan sementara (suspend) agar berjalan di background. Misalnya Anda sedang menjalankan sebuah perintah di foreground (tanpa diakhiri perintah &) dan suatu saat Anda membutuhkan shell tersebut maka Anda dapat memberhentikan sementara perintah tersebut dengan Ctrl-Z kemudian ketikan perintah bg untuk menjalankannya di background. Dengan cara ini Anda telah membebaskan shell tapi tetap mempertahankan perintah lama berjalan di background. Lihat juga perintah fg. Cat Menampilkan isi dari sebuah file di layar. Contoh : $ cat /nama/suatu/file Cd Change Directory atau untuk berpindah direktori dan saya kira Anda tidak akan menemui kesulitan menggunakan perintah ini karena cara penggunaanya mirip dengan perintah cd di dos. Chgrp Perintah ini digunakan untuk merubah kepemilikan kelompok file atau direktori. Misalnya untuk memberi ijin pada kelompok atau grup agar dapat mengakses suatu file. Sintaks penulisannya adalah sbb : # chgrp Chmod Digunakan untuk menambah dan mengurangi ijin pemakai untuk mengakses file atau direktori. Anda dapat menggunakan sistem numeric coding atau sistem letter coding. 57
Ada tiga jenis permission/perijinan yang dapat dirubah yaitu : r untuk read, w untuk write dan x untuk execute. Dengan menggunakan letter coding, Anda dapat merubah permission diatas untuk masing-masing u (user), g (group), o (other) dan a (all) dengan hanya memberi tanda plus (+) untuk menambah ijin dan tanda minus (-) untuk mencabut ijin. Misalnya untuk memberikan ijin baca dan eksekusi file coba1 kepada owner dan group, perintahnya adalah : $ chmod ug+rx coba1 Untuk mencabut ijin-ijin tersebut : $ chmod ug-rx coba1 Dengan menggunakan sitem numeric coding, permission untuk user, group dan other ditentukan dengan menggunakan kombinasi angka-angka, 4, 2 dan 1 dimana 4 (read), 2 (write) dan 1 (execute). Misalnya untuk memberikan ijin baca(4), tulis(2) dan eksekusi(1) file coba2 kepada owner, perintahnya adalah : $ chmod 700 coba2 Contoh lain, untuk memberi ijin baca(4) dan tulis(2) file coba3 kepada user, baca(4) saja kepada group dan other, perintahnya adalah : $ chmod 644 coba3 Perhatian: Jika Anda hosting di server berbasis Linux, perintah ini sangat penting sekali bagi keamanan data Anda. Saya sarankan semua direktori yang tidak perlu Anda tulis di chmod 100 (jika Apache jalan sebagai current user (Anda)) atau di chmod 501 jika Apache jalan sebagai www-data atau nobody (user lain). Chown Merubah user ID (owner) sebuah file atau direktori : $ chown <user id> Cp Untuk menyalin file atau copy. Misalnya untuk menyalin file1 menjadi file2 : $ cp Fg Mengembalikan suatu proses yang dihentikan sementara (suspend) agar berjalan kembali di foreground. Lihat juga perintah bg diatas. Find Untuk menemukan dimana letak sebuah file. Perintah ini akan mencari file sesuai dengan kriteria yang Anda tentukan. Sintaksnya adalah perintah itu sendiri diikuti dengan nama direktori awal pencarian, kemudian nama file (bisa menggunakan wildcard, metacharacters) dan terakhir menentukan bagaimana hasil pencarian itu akan ditampilkan. 58
Misalnya akan dicari semua file yang berakhiran .doc di current direktori serta tampilkan hasilnya di layar : $ find . -name *.doc –print Contoh hasil : . /public/docs/account.doc . /public/docs/balance.doc . /public/docs/statistik/prospek.doc ./public/docs/statistik/presconf.doc Grep Global regular expresion parse atau grep adalah perintah untuk mencari file-file yang mengandung teks dengan kriteria yang telah Anda tentukan. Format perintah: $ grep Misalnya akan dicari file-file yang mengandung teks marginal di current direktori: $ grep marginal diferent.doc: Catatan : perkataan marginal luas dipergunakan di dalam ilmu ekonomi prob.rtf: oleh fungsi hasil marginal dan fungsi biaya marginal jika fungsi prob.rtf: jika biaya marginal dan hasil marginal diketahui maka biaya total. Gzip Ini adalah software kompresi zip versi GNU, fungsinya untuk mengkompresi sebuah file. Sintaksnya sangat sederhana : $ gzip Walaupun demikian Anda bisa memberikan parameter tertentu bila memerlukan kompresi file yang lebih baik, silakan melihat manual page-nya. Lihat juga file tar, unzip dan zip. Halt Perintah ini hanya bisa dijalankan oleh super useratau Anda harus login sebagai root. Perintah ini untuk memberitahu kernel supaya mematikan sistem atau shutdown. Hostname Untuk menampilkan host atau domain name sistem dan bisa pula digunakan untuk mengesset nama host sistem. Contoh pemakaian : [user@localhost mydirectoryname] $ hostname localhost.localdomain Kill Perintah ini akan mengirimkan sinyal ke sebuah proses yang kita tentukan. Tujuannya adalah menghentikan proses. Format penulisan : $ kill <sinyal>
59
Lessls Menampilkan isi dari sebuah direktori seperti perintah dir di dos. Anda dapat menggunakan beberapa option yang disediakan untuk mengatur tampilannya di layar. Bila Anda menjalankan perintah ini tanpa option maka akan ditampilkan seluruh file nonhidden(file tanpa awalan tanda titik) secara alfabet dan secara melebar mengisi kolom layar. Option -la artinya menampilkan seluruh file/all termasuk file hidden(file dengan awalan tanda titik) dengan format panjang. Man Untuk menampilkan manual page atau teks yang menjelaskan secara detail bagaimana cara penggunaan sebuah perintah. Perintah ini berguna sekali bila sewaktu-waktu Anda lupa atau tidak mengetahui fungsi dan cara menggunakan sebuah perintah. $ man Mesg Perintah ini digunakan oleh user untuk memberikan ijin user lain menampilkan pesan dilayar terminal. Misalnya mesg Anda dalam posisi y maka user lain bisa menampilkan pesan di layar Anda dengan write atau talk. $ mesg y atau mesg n Gunakan mesg n bila Anda tidak ingin diganggu dengan tampilan pesan-pesan dari user lain. Mkdir Membuat direktori baru, sama dengan perintah md di dos. More Mempaging halaman, seperti halnya less Mount Perintah ini akan me-mount filesystem ke suatu direktori atau mount-point yang telah ditentukan. Hanya superuser yang bisa menjalankan perintah ini. Untuk melihat filesystem apa saja beserta mount-pointnya saat itu, ketikkan perintah mount. Perintah ini dapat Anda pelajari di bab mengenai filesystem. Lihat juga perintah umount. $ mount /dev/hda3 on / type ext2 (rw) none on /proc type proc (rw) /dev/hda1 on /dos type vfat (rw) /dev/hda4 on /usr type ext2 (rw) none on /dev/pts type devpts (rw,mode=0622) Mv Untuk memindahkan file dari satu lokasi ke lokasi yang lain. Bila argumen yang kedua berupa sebuah direktori maka mv akan memindahkan file ke direktori tersebut. Bila kedua argumen berupa file maka nama file pertama akan menimpa file kedua. Akan terjadi kesalahan bila Anda memasukkan lebih dari dua argumen kecuali argumen terakhir berupa sebuah direktori.
60
Passwd Digunakan untuk mengganti password. Anda akan selalu diminta mengisikan password lama dan selanjutnya akan diminta mengisikan password baru sebanyak dua kali. Password sedikitnya terdiri dari enam karakter dan sedikitnya mengandung sebuah karakter. Pwd Print working directory, atau untuk menampilkan nama direktori dimana Anda saat itu sedang berada. Rm Untuk menghapus file dan secara default rm tidak menghapus direktori. Gunakan secara hati-hati perintah ini terutama dengan option -r yang secara rekursif dapat mengapus seluruh file. Sekali lagi : Hati-hati dengan perintah ini! Rmdir Untuk menghapus direktori kosong. Shutdown Perintah ini untuk mematikan sistem, seperti perintah halt. Pada beberapa sistem anda bisa menghentikan komputer dengan perintah shutdown -h now dan merestart sistem dengan perintah shutdown -r now atau dengan kombinasi tombol Ctr-Alt-Del. Su Untuk login sementara sebagai user lain. Bila user ID tidak disertakan maka komputer menganggap Anda ingin login sementara sebagai super user atau root. Bila Anda bukan root dan user lain itu memiliki password maka Anda harus memasukkan passwordnya dengan benar. Tapi bila Anda adalah root maka Anda dapat login sebagai user lain tanpa perlu mengetahui password user tersebut. Tail Menampilkan 10 baris terakhir dari suatu file. Default baris yang ditampilkan adalah 10 tapi Anda bisa menentukan sendiri berapa baris yang ingin ditampilkan: $ tail <jumlah baris> Talk Untuk mengadakan percakapan melalui terminal. Input dari terminal Anda akan disalin di terminal user lain, begitu sebaliknya. Tar Menyimpan dan mengekstrak file dari media seperti tape drive atau hard disk. File arsip tersebut sering disebut sebagai file tar. Sintaknya sebagai berikut : $ tar