Sejarah Linux & Debian Pendahuluan Linux saat ini menjadi acuan dalam penggunaannya sebagai sistem operasi untuk server. Berdasarkan hasil riset dari Gartner Group, beberapa vendor server seperti HP, IBM, Dell, dan Sun, dilaporkan bahwa telah menggunakan secara luas bahwa penjualan server komersial yang berbasis linux mengalami peningkatan penjualan yang cukup signifikan yaitu sekitar 63%. Hasil riset ini kembali didukung dengan dukungan Novell kepada penggunaan Suse Linux pada mesin server yang dipasarkan. Nama Linux sendiri diturunkan dari pencipta awalnya, LINUS TORVALDS, dari Universitas Helsinki, Finlandia yang sebetulnya mengacu pada kernel dari suatu sistem operasi, suatu penamaan yang biasa digunakan untuk mengacu ke pada suatu kumpulan lengkap perangkat lunak, yang bersama-sama dengan kernel menyusun suatu sistem operasi yang lengkap. Linux dulunya adalah proyek hobi yang dikerjakan oleh Linus Torvalds yang memperoleh inspirasi dari Minix. Minix adalah sistem UNIX kecil yang dikembangkan oleh Andy Tanenbaum. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991 yang diposting ke milis comp.os.minix, dengan maksud menawarkan untuk mempublikasikan kode sumbernya dan mengundang para developer lain untuk mengembangkannya bersama-sama. Kemudian pada 5 Oktober 1991, Linus mengumumkan versi resmi Linux, yaitu 0.02 yang hanya dapat menjalankan BASH (GNU Bourne Again Shell) dan GCC (GNU C Compiler). Untuk versi pertama dirilis pada tanggal 14 Maret 1994, setelah tiga (3) tahun mengalami masa pengembangan yang dilakukan bersama oleh banyak programmer dari seluruh dunia. Gambar 1.1. Logo Linux Saat ini, Linux adalah sistem turunan UNIX yang lengkap, bisa digunakan untuk jaringan, pengembangan perangkat lunak, dan bahkan untuk pengunaan sehari-hari. Linux sekarang merupakan alternatif OS yang jauh lebih murah jika dibandingkan dengan OS komersial, dengan kemampuan Linux yang setara bahkan lebih lingkungan sistem operasi ini termasuk ratusan program termasuk, kompiler, interpreter, editor dan utilitas perangkat bantu yang mendukung konektifitas, Ethernet, SLIP dan PPP, dan interoperabilitas. Untuk masalah penggunaannya, pengguna dapat memilih distribusi-distribusi Linux yang telah dikenal, misalkan Redhat, Mandrake, Suse, Debian, Gentoo, Slackware, dan lain-lain. Perbedaan Sesi Pengenalan Linux & Debian. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 1 antara satu distribusi (distro) yang satu dengan yang lainnya adalah lebih kepada masalah programprogram yang disertakan dan fungsionalitas pemakaiannya, akan tetapi, tetap menggunakan kernel sama yang masih dikembangkan oleh Linus bersama komunitas programmer. Satu hal yang tidak tidak mungkin dilupakan dari sistem operasi Linux adalah jika dibandingkan sistem operasi lain, dengan Linux dapat dicapai tingkat fleksibiltas dan kustomisasi maksimum. Karena source code sistem operasi diberikan, anda dapat mengubah, melakukan konfigurasi, atau melakukan perluasan bila diperlukan. Banyaknya dokumentasi yang tersedia untuk Linux, membantu pihak pengembang aplikasi serta komunitas pengguna dalam memahami dan meningkatkan kinerja sistem. Penggunaan LINUX Linux selain dapat digunakan untuk kalangan pengguna rumahan (workstation) dimana aplikasi serta tampilannya yang sudah sangat ramah dengan pengguna, untuk skala pengguna yang lebih khusus di server, dapat diklasifikasikan secara sederhana pengimplementasiannya, antara lain sebagai berikut: Sebagai server web, baik untuk eksternal (terhubung dalam jaringan Internet), maupun internal (intranet). Contoh aplikasi: Apache. Sebagai server email. Contoh aplikasi: Postfix. Berbagai macam aplikasi server seperti FTP dan IRC. Contoh aplikasi: Proftpd. Sebagai server DNS, yang digunakan untuk me-resolve nama domain dari LAN internal ataupun dalam komunikasi jaringan Internet. Contoh aplikasi: Bind. Digunakan dalam sistem Clustering, dimana sumber daya lebih dari satu CPU akan digabungkan, sehingga tujuan akhirnya adalah membentuk suatu sistem komputer yang lebih kuat dan cepat. Contoh: implementasi Beowulf clustering. Interaksi dengan sistem operasi lain, dilakukan melalui tiga (3) cara: kompatibilitas file dan sistem file, kompatibilitas jaringan, serta emulasi (simulasi) sistem operasi. Contoh aplikasi: Vmware. Memiliki banyak aplikasi pendukung yang powerful, dibuat dengan lisensi GNU. Dalam banyak hal, perangkat lunak gratis dan open-source di Linux menyediakan fungsi yang sama dengan aplikasi komersial yang lebih mahal. Contoh aplikasi: Corel. Perkembangannya sangat cepat dan berkesinambungan, karena sourcecode-nya didistribusikan bersama paket Linux sehingga semua orang dapat mengembangkannya. Contoh: disertakankanya kode sumber. Menyertakan lengkap dengan gratis berbagai macam aplikasi pembangun. Contoh aplikasi: gcc. Memiliki fasilitas Graphical User Interface yang disebut X, memiliki kesamaaan dengan Microsoft Windows, tapi lebih fleksibel. Contoh: gnome. Sejarah distro Debian sendiri dimulai pada tanggal 6 Agustus 1993 oleh Ian Murdock, yang pada waktu merupakan mahasiswa ilmu komputer di Purdue University. Untuk nama Debian sendiri mempunyai cerita yang menarik karena diambil pula dari nama istrinya, Debra. Visi dan misi yang dituangkan dalam Debian Manifesto oleh penciptanya menggambarkan mengenai konsep distribusi dari sistem operasi Linux yang bersifat bebas dan terbuka, dengan tingkat pengembangan yang tidak terlepas dari ketentuan yang telah ditetapkan oleh Linux itu sendiri serta GNU. Debian yang tahap akhir ini telah mencapai versi 3.1 yang stabil dan lebih dikenal dengan nama “sarge” rilis 3, menghadirkan Sesi Pengenalan Linux & Debian. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 2 lebih dari 14000 paket aplikasi di dalam distribusinya. Mulai dari aplikasi desktop, aplikasi server, utilitas, perangkat bantu developer, hingga banyak lagi aplikasi lain yang dapat dengan mudah ditambahkan sistem hanya dengan satu perintah. Gambar 1.2. Logo Debian Sebagai distro yang tidak bersifat komersial, Debian mengalami masa perkembangan dan rilis ke komunitas dalam jangka waktu yang lebih lama apabila dibandingkan dengan distro yang lain. Berbagai riset serta analisa yang mendalam dilakukan oleh developer dalam memastikan bahwa aplikasi yang ditempatkan dalam distribusi tidak mengandung lubang kesalahan (vulnerability) yang dapat mengakibatkan sistem yang tidak handal. Secara dasar, rilis sarge menjanjikan suatu kestabilan, bukan pada sisi tampilan. Debian akan sangat baik digunakan oleh seorang Network Administrator, yang tidak akan bersedia melakukan penggantian sistem operasi yang telah digunakan karena masalah dukungan ataupun vulnerability yang tinggi. Dan hal ini tidak akan ditemukan apabila sistem yang digunakan adalah sistem yang tepat, dan selalu juga mengaktivasi fasilitas update sistem sehingga titiktitik kelemahan tersebut dapat diminimalisasi dan tujuan akhirnya adalah sistem yang aman dan kuat. Aplikasi di lingkungan Linux Aplikasi yang ada di Linux dapat dikategorikan menjadi dua golongan yaitu: Sistem Linux dasar (basic Linux system) Produk pihak ketiga (third-party product) Pada implementasinya, Linux dirancang bersifat modular. Ada sejumlah modul aplikasi yang menyusun sistem Linux untuk tugas yang kompleks. Modul-modul yang tidak diperlukan dapat dihapus sehingga akan memberikan ruang yang lebih luas bagi data. Pemakai juga dapat menambahkan aplikasi-aplikasi yang dibutuhkan ke dalam sistem, terutama aplikasi-aplikasi yang dibutuhkan ke dalam sistem, terutama aplikasi-aplikasi yang disediakan oleh pihak ketiga. Sistem LINUX Dasar Jika sistem Linux di-install, sistem tersebut akan mengandung ratusan aplikasi. Aplikasi-aplikasi seperti ini tergolong sebagai sistem Linux dasar. Sistem Linux dasar terbagi menjadi tiga bagian aplikasi, yaitu: 1. Utilitas (tool atau utility) 2. Shell 3. Kernel. Utilitas, shell dan kernel bersama aplikasi aplikasi (aplikasi hasil pengembangan pemakai atau produk pihak ketiga) sering dilukiskan seperti terlihat pada Gambar 1.3 berikut ini: Sesi Pengenalan Linux & Debian. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 3 Gambar 1.3. Utilitas, Aplikasi Aplikasi, Shell, dan Kernel Utilitas Utilitas adalah aplikasi bantu di luar shell untuk melakukan tugas tertentu. Misalnya untuk mengirimkan email, menyunting dokumen, mencari kata di dalam dokumen, memanipulasi berkas, dapat dilihat pada tabel 1. Tabel 1. Beberapa utilitas di lingkungan Linux Aplikasi FUNGSI SSH Aplikasi jaringan (remote access) Cat, More Menampilkan isi dokumen Vi, Pico Editor berkas teks Lynx Browser situs berbasis teks Kaffe, jikes Emulator Java Talk, write Aplikasi percakapan antar pengguna Gcc Kompiler bahasa C Passwd Mengubah kata kunci dari pengguna Shell & Kernel Kernel merupakan aplikasi inti dari sistem Linux. Tugas yang dipegang oleh kernel adalah: Mengendalikan akses terhadap komputer Mengatur memori komputer Memelihara sistem berkas Mengalokasikan sumber daya komputer di antara pemakai Bagian inilah yang melakukan koordinasi fungsi-fungsi internal dari komputer. Bagi pemakai, kernel merupakan mitra kerja yang tidak tampak. Shell dan Kernel merupakan dua komponen pada sistem Linux yang bertindak sebagai perantara antara pemakai dan perangkat keras, yang dapat dilihat pada gambar 1.4. PEMAKAI SHELL KERNEL MESIN Gambar 1.4. Shell dan Kernel sebagai perantara pemakai dan mesin Sesi Pengenalan Linux & Debian. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 4 Shell merupakan aplikasi yang memungkinkan pemakai dapat berkomunikasi dengan komputer. Tugas shell adalah membaca perintah yang diberikan pemakai dan menerjemahkan perintah (command interpreter) tersebut sebagai suatu permintaan dan meneruskannya ke kernel. Pada prompt shell, pemakai memberi perintah dan kemudian shell langsung memberi respon. Setelah itu shell akan menanti perintah lain dari pemakai. Penggunaan shell seperti ini disebut penggunaan shell secara interaktif. Selain pemakaian interaktif, shell juga dapat memberi kemungkinan pemakai untuk membuat suatu prosedur atau utilitas yang melibatkan sejumlah perintah yang tersedia pada Linux. Perintah-perintah tersebut dapat disimpan dalam sebuah berkas teks yang disebut aplikasi shell atau script shell. Penulisan perintah pada berkas tersebut biasa disebut dengan pemrograman shell. Berkas teks tersebut dapat dieksekusi dan secara otomatis perintah-perintah di dalamnya akan dijalankan. Penggunaan aplikasi shell ini sangat bermanfaat untuk mengotomatisasikan tugas-tugas yang bersifat rutin dan mengurangi kesalahan pengoperasian. Ada beberapa kondisi dimana script shell biasa digunakan oleh pengguna : Untuk menangani sebuah prosedur yang terdiri dari sejumlah perintah Untuk membuat suatu utilitas yang sangat bermanfaat bagi banyak pemakai Untuk menyederhanakan beberapa perintah yang sering dipergunakan. Produk Pihak Ketiga Selain aplikasi yang tergolong sebagai sistem Linux dasar, banyak pula aplikasi yang dibuat oleh pihak ketiga (bukan pembuat sistem Linux). Untuk kategori ini, terdapat dua (2) macam aplikasi, yaitu aplikasi yang dikembangkan oleh komunitas dengan lisensi GNU, misalkan OpenOffice dan Apache. Atau terdapat pula aplikasi komersial seperti ORACLE, Main Actor, dan sebagainya. Dukungan dari pihak ketiga ini membuat Linux dapat menembus ke pelbagai kalangan, termasuk pada bidang bisnis. Aplikasi Seperti Inventory Control, GNUCash dapat diimplementasikan dengan mudah pada Linux, baik dengan Java, atau bahkan menggunakan paket jadi (package software). Berkas Sistem Linux Berkas sistem merupakan kumpulan berkas–berkas pada suatu media penyimpanan di mana mekanisme berkas–berkas tersebut diorganisasikan. Berkas sistem Linux tersusun dari sejumlah berkas dan direktori yang ditampilkan pada gambar 1.5 sebagai berikut : / usr sbin dev home bin will …. doc etc von des hak cat vi C Hackbsd.c Makebox.c Gambar 1.5. Contoh Berkas sistem Linux Sesi Pengenalan Linux & Debian. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 5 Puncak dari hirarki di atas merupakan direktori yang disebut sebagai root directory (direktori /) yang memiliki sejumlah cabang yang disebut dengan direktori. Direktori yang berada tepat di bawah root directory biasanya bersifat standar yaitu : /bin : berisi aplikasi – aplikasi executable Linux /dev : berisi seluruh piranti sistem /tmp : tempat untuk berkas – berkas yang bersifat sementara /home : direktori kerja bagi pengguna (home directory) Setiap direktori yang berada di dalam direktori yang lain (parent directory) disebut sebagai sub direktori (child directory). Sesi Pengenalan Linux & Debian. © 2008, Wilfridus Bambang. FIT, UK Maranatha, Bandung. 6