Sejarah Linux

Pada tahun 1983 Richard M. Stallman mendirikan proyek GNU dengan tujuan mengadakan sebuah sistem operasi mirip UNIX dan kompatibel dengan POSIX. Dua tahun kemudian ia mendirikan yayasan Free Software Foundation (FSF) dan menciptakan GNU General Public License (GPL) sebagai pondasi hukum guna menjamin penyebaran software secara bebas.

Atas dasar pondasi hukum itu, Software GNU telah tersebar luas dan banyak pengembang relawan dapat memberikan kontribusinya. Dalam waktu singkat telah tersedia banyak paket program dan jumlahnya terus meningkat. Pada awal 1990an pada prinsipnya telah tersedia cukup paket program bebas (GNU Software) yang dapat digunakan sebagai komponen membangun sebuah sistem operasi. Untuk itu ternyata masih tertinggal Kernel (Proyek GNU-Hurd) yang merupakan jantung dari sebuah sistem operasi yang pengembangannya masih terhambat. Microkernel yang dikembangkan untuk itu ternyata mengalami banyak hambatan, terutama dalam hal melibas kecoa (bugs) dan sehubungan dengan arsitekturnya yang moderen tapi dianggap cukup ribet.

Pada dasawarsa tahun 80an Universtas Berkeley juga mengembangkan sistem operasi bebas dengan distribusi bernama Berkeley Software Distribution (BSD). Proyek pengembangan BSD ini menggunakan versi Unix edisi 4 dari AT&T sebagai rujukan. Karena sistem operasi BSD saat itu belum 100% halal dan masih mengandung Code asal AT&Ts Unix, maka di tahun 1990an terjadi perselishan hukum antara AT&T dan Universitas Berkeley, yang menurunkan stamina para pengembangnya dan secara drastis menghambat pengembangannya.

Dengan terhambatnya pengembangan BSD, maka pada awal tahun 1990an sebenarnya belum tersedia sistem operasi yang 100% bebas. Dan perselisihan hukum dengan AT&T membuat masa depan proyek BSD jadi tak menentu, sementara pengembangannya juga praktis dibekukan. Sementara itu, proyek GNU lainnya tetap berjalan dan jumlah paket software yang dihasilkan terus meningkat.

Di tahun 1991 Linus Torvalds di Helsinki mulai mengembangkan sistem operasi yang belakangan dikenal dengan nama Linux. Mulanya sekedar emulasi terminal yang saat itu ia butuhkan untuk mengakses server UNIX di Universitas tempat ia menuntut ilmu. Torvalds menulis program dengan pendekatan yang berorientasi kepada hardware dan independen terhadap sistem operasi yang ada karena ia ingin menggunakan PC yang telah tertanam prosesor intel tipe 80386 secara optimal (keluarga x86 sampai saat ini telah menjadi standar). Sebagai rujukan Torvalds menggunakan Sistem Minix dan kompiler GNU-C-Compiler (GCC).

Seperti ditulis dalam bukunya (bersama David Diamond, 2001), Torvalds kemudian menyadari bahwa apa yang dibuatnya itu ternyata merupakan basis sebuah sistem operasi. Pada hari bersejarah 25 Augustus 1991 ia kemudian memposting email ke milis pengguna Minix: comp.os.minix yang isinya selalu dikutip sebagai sebuah proklamasi lahirnya Linux:
„Hello everybody out there using minix –

I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them 🙂

Linus (torvalds@kruuna.helsinki.fi)

PS. Yes – it’s free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(.“

Timeline: Keterkaitan Lahirnya Linux dari Lingkungan UNIX

Hari ini limabelas tahun lampau tanggal 17 September 1991 kode sumber Linux versi 0.01 untuk pertama kalinya tersedia di server FTP di Helsinki untuk dicoba dan dikembangkan lebih lanjut komunitas pengembang relawan. Versi Kernel Linux yang berlaku pada hari ini (2006) telah mencapai versi 2.6.17.13 dan versi 2.4.33.3.

Linux vs. GNU/Linux
Sesungguhnya, bila mengikuti kata hati Linus Torvalds saat itu, nama sistem operasi atau tepatnya kernel yang dibidaninya, bukannya bernama Linux melainkan Freax. Sebuah kata berasal dari Free dan juga bisa dari kata Freak. Ditambahkan huruf x dibelakangnya seperti umumnya penamaan di lingkungan Unix. Karena itu awalnya selama enam bulan pertama, Torvalds masih sempat menyimpan karyanya di folder bernama Freax. Walaupun nama Linux pernah terlintas dalam pikirannya, tapi kata itu tidak pernah dilontarkan karena ia beranggapan hal itu terlalu egosentris.

Untuk memberikan akses kepada pengembang lain memungkinkan kontributor melakukan perbaikan maupun kontribusi termasuk saran dalam pengembangan lebih lanjut, ia harus meletakkan file tersebut di sebuah server FTP di (ftp.funet.fi) Helsinki University of Technology (HUT), seperti yang telah dilakukan pada hari bersejarah tanggal 17 September 1991. Penanggung jawab untuk server di HUT saat itu Ari Lemmke ternyata tidak suka dengan nama Freax dan tanpa banyak diskusi langsung saja memberi nama Linux. Di kode sumber versi 0.01 masih dapat dibaca kalimat tertinggal yang menyebutkan “Makefile for the FREAX-kernel”. Tanpa direncanakan, nyaris kebetulan, demikianlah nama Linux secara de facto digunakan sampai saat ini, dimana mana dan untuk segala hal yang erat kaitannya dengan Linux (termasuk GudangLinux).

Sehubungan dengan lisensi, awalnya Torvalds menggunakan lisensi buatan sendiri, tapi kemudian memutuskan untuk memakai GPL. Hal itu diberlakukan untuk pertama kalinya bersamaan dengan rilis kernel versi 0.99.10 pada tanggal 7 Juni 1993 yang menggunakan lisensi GPL. Sejak itu pengembangan Linux tumbuh lebih cepat dan lebih efisien. Belakangan dalam sebuah wawancara Linus Torvalds mengakui bahwa pemberlakuan lisensi GPL untuk Linux merupakan keputusan yang paling baik yang pernah ia lakukan dalam hidupnya: “Making Linux GPL’d was definitely the best thing I ever did.”.

Mulanya istilah Linux bagi Torvalds adalah untuk Kernel saja, yaitu jantung dari sebuah sistem operasi. Kemudian ia berkembang menjadi distribusi yang mengemas paket program lain terutama dari proyek GNU, dan itu hampir semuanya menggunakan kata Linux untuk nama distribusinya. Realita ini telah membangkitkan permasalahan yang mempertanyakan penggunaan kata GNU/Linux ketimbang hanya Linux saja.

GNU sahabat Linux
Sementara itu Richard Stallman sebagai tokoh utama proyek GNU berupaya untuk mensosialisasikan agar sistem operasi yang menanamkan Linux sebagai Kernel sebaiknya membubuhkan nama GNU/Linux. Apa yang telah terjadi saat ini, dari ratusan distro yang ada, hanya beberapa distribusi saja, salah satunya yang terbesar adalah Debian GNU/Linux, yang mematuhi keinginan Stallman. Perbedaan pendapat juga diperluas karena kondisi distribusi dewasa ini yang tidak sekedar mengemas kernel Linux dan program dari proyek GNU saja, melainkan juga program-program dari sumber bebas pihak ketiga lainnya.

Perjuangan mencapai 1.0
Pecinta dan pengembang Linux sejak mula berkumpul dan berdiskusi di Minix Newsgroup yang jumlahnya baik dari sisi peserta maupun topik yang dibahas kian hari terus meningkat. Pada awal 1992, pendiri Minix Profesor Andrew Tanenbaum kewalahan dengan dimensi threads tentang Linux yang dibahas di milis Minix dan ia merasa hal itu sudah berlebihan.

Dalam sebuah postingnya yang terkenal “LINUX is obsolete” (Linux adalah kadaluarsa), Profesor Tanenbaum melontarkan kritik yang menjadi awal dari perseteruan dengan kelompok Linux. Ia menyebutkan bahwa kernel Linux yang monolithic adalah kuno dan sebuah sistem operasi yang moderen seharusnya merujuk kepada teknologi microkernel. Selain itu dikatakan bahwa Linux telah menyatu dengan arsitektur prosesor x86, sedangkan menurut Tanenbaum sebuah sistem operasi yang baik harus portable.

Diskusi berkelanjutan memanas dan posting Torvalds menjawab hal itu mulai emosional melampaui batas teknis sampai menyinggung pribadi. Hal terakhir kemudian diluruskan dengan permintaan maaf. Sebagai konsekuensi dari ‘tawuran elektronik’ tersebut, kelompok kubu Linux meninggalkan milis minix dan membentuk sebuah newsgroup baru: comp.os.linux.
In article <1992Jan29.231426.20469@klaava.Helsinki.FI> I wrote:
>Well, with a subject like this, I’m afraid I’ll have to reply.

And reply I did, with complete abandon, and no thought for good taste and netiquette. Apologies to ast, and thanks to John Nall for a friendy “that’s not how it’s done”-letter. I over-reacted, and am now composing a (much less acerbic) personal letter to ast. Hope nobody was turned away from linux due to it being (a) possibly obsolete (I still think that’s not the case, although some of the criticisms are valid) and (b) written by a hothead 🙂

Linus “my first, and hopefully last flamefest” Torvalds

Usaha implementasi sistem X-Window dilakukan pada tahun yang sama, memberikan Linux tidak hanya sebuah antarmuka grafis (GUI) melainkan juga kemampuan networking di tengah sistem operasi dengan x-clients dan x-server via socket domain. Selain itu kemampuan networking dengan dunia luar yang menjadi keharusan sebuah sistem ala Unix, juga saat itu dianggap nyaris rampung. Tanpa ragu Torvalds membuat lompatan dengan meningkatkan versi Linux dari 0.95 menjadi 1.0, sebuah status bagi pengembang mengekspresikan apa yang direncanakan sudah jadi.

Namun apa yang terjadi sebagai realita yang harus dihadapi sehubungan dengan networking ternyata tidak semudah itu. Hampir dua tahun dibutuhkan tim pengembangan sampai akhirnya versi 1.0 benar-benar berfungsi. Kernel Linux kemudian untuk pertama kalinya mendapatkan driver untuk SCSI dan sound, termasuk sistem file ext2.

Dengan sistem X-window yang telah dimilikinya, dimungkinkan portasi program-program jang jalan untuk X11 termasuk yang berasal dari SCO Unix, semuanya telah memperluas penawaran aplikasi yang bisa digunakan untuk Linux. Linux mulai belajar mencetak via port paralel berkat portasi dari sistem cetak BSD, membuat ia mulai bisa digunakan.

Sebagai distribusi Linux pertama, di akhir tahun 1992 telah tersedia distro Yggdrasil yang bisa di instalasi menggunakan CDROM. Distribusi generasi awal lainnya yang masih ditemukan piawai sampai hari ini (2006) adalah Slackware Linux yang ada sejak awal tahun 1993 dan Debian GNU/Linux dimulai pada pertengahan tahun yang sama.

Pada bulam Maret 1994 akhirnya Torvalds meluncurkan Linux 1.0. Dimensi kode sumber untuk kernel Linux saat itu mencapai lebih dari 170.000 baris, dimana separuhnya terdiri dari hardware drivers. Sejumlah elemen yang senantiasa diperbaiki sampai saat ini, masih bisa ditemukan dalam versi Linux terbaru.

Tercatat saat itu, sekitar seratus pemrogram relawan yang aktif dan tersebar diseluruh dunia, bahu membahu membangun Linux, termasuk pemrogram prominen seperti Alan Cox dan Donald Becker. Jumlah pengguna sistem operasi Linux dimasa yang sama di-estimasikan sekitar seratus ribuan.

Jalan menuju Komersialisasi
Bersama dengan ketersediaan versi 1.0, pengembang kernel mulai memberlakukan ketentuan baru untuk seterusnya dengan memisahkan versi untuk pengguna dan versi untuk pengembang dengan kode genap (stabil) dan ganjil (tidak stabil, sedang dikembangkan). Semua fitur-fitur terkini diujicoba pada kernel 1.1 (ganjil atau ‘minor version number’), sementara untuk versi 1.0 (genap) disediakan perbaikan bugfixes dengan melibas semua kecoa-kecoa (bugs) setiap kali bila ditemukan. Hanya fitur-fitur yang telah teruji dengan baik disertakan bersama versi stabil untuk produksi.

Pengembangan kernel berlangsung berkesinambungan dan satu tahun kemudian ia mampu membuat sebuah lompatan bersama rilis kernel Linux 1.2. Kode sumber yang diproduksi kini mencapai 300.000 baris atau hampir duakali lipat dari versi 1.0 sebelumnya. Ia juga menyertakan banyak hardware driver. Dan selain itu, untuk pertama kalinya tersedia edisi yang diportasi dan bisa jalan di arsitektur lain kecuali Intel termasuk prosesor Alpha, Mips dan SPARC.

Peningkatan lainnya pada Linux 1.2 ini terutama untuk dukungan jaringan yang kini mendukung lebih banyak kartu jaringan dan berkat fitur IP-Forwarding, ia mudah dimanfaatkan sebagai Router termasuk Packet Filter Firewall. Protokol-protokol untuk jaringan seperti NFS, IPX atau AppleTalk dikuasai Linux dengan baik, dan membuka kemungkinan penerapan di lingkungan jaringan majemuk.

Dengan prakiraan pengguna Linux sekitar limaratus ribu sampai satu setengah juta saat itu, tersedia pasar yang serius dan mulai manarik untuk diexpoitasi perusahan yang bergerak di lingkungan Linux secara komersil. Distribusi komersil bermunculan mulai berusaha memperkuat keberadaannya termasuk distro-distro seperti Caldera, Red Hat dan SuSE.

Banyak perusahan mulai menyadari manfaat dari software bebas, atau dengan formulasi lain banyak sysadmin yang mulai berkiprah berkat kebebasan dengan menerapkan fitur-fitur yang disediakan Linux kedalam lingkungan produksi. Bagaimanapun juga dimasa itu, Linux masih merupakan mainan para hacker yang masih tidak seberapa peduli dengan industri TI.

Diantara fitur yang sering digunakan adalah Samba, sebuah paket software yang mampu membuat sistem Linux beroperasi di lingkungan jaringan Windows sebagai server file dan server printer. Disamping itu, bermodal aplikasi klasik dari lingkungan Unix, Linux dimanfaatkan sebagai webserver menggunakan Apache dan sebagai mailserver menggunakan sendmail sangat popular.

Sampai dengan musim panas tahun 1996 telah dirilis sekitar 100 kali versi percobaan untuk kernel uijicoba 1.3 guna menyiapkan seri kernel berikutnya versi Linux 2.0. Dimensi kode sumber saat itu telah mencapai sekitar 800 000 baris, dua setengah kali dari versi 1.2. Dukungan untuk hardware juga meningkat signifikan termasuk penambahan portasi untuk arsitektur prosesor Motorola-68k dan PowerPC.

Peningkatan cukup penting pada Linux 2.0 adalah dukungan untuk Multiprosesor (SMP) yang mampu menangani sampai dengan 16 CPU, walaupun fitur ini pada saat itu masih dalam status experimental.

Tux: Maskot si Pingu
Pada tahun 1996 Torvalds mengumumkan kebutuhan akan maskot untuk dijadikan simbol kegiatan Linux. Syaratnya adalah harus berbentuk seekor penguin, tapi bukan sembarang penguin. Seperti tertulis dalam buku biografinya Just For Fun, persyaratan untuk si Pingu idamannya itu adalah: “Seekor penguin yang tampil sangat ‘happy’, seperti baru saja menikmati segelas bir setelah mendapatkan ‘sex’ terindah dalam hidupnya.”

Simbol penguin yang dianggap memenuhi persyaratan itu, telah digunakan secara luas untuk semua urusan yang terkait dengan Linux, merupakan hasil disain dibuat oleh Larry Ewing. Sedangkan nama Tux yang telah diusulkan James Hughes konon diturunkan dari kata Torvalds UniX. Atau barangkali dari ‘tuxedo’ karena si Pingu tampil seperti menggunakan baju jas smoking (dinner jacket atau black tie) yang formal dikenakan di Inggris.

Apapun alasannya, Tux dengan penampilan yang cinta damai dan lucu itu, telah disambut oleh semuanya, tua dan muda mulai dari balita sampai manula di seluruh dunia. Ia juga merupakan bagian dari logo kebanyakan distribusi Linux yang ada. Replikasi Tux banyak dibuat guna memenuhi kebutuhan pencintanya, tersedia dalam segala jenis asesoris, terutama boneka segala ukuran.

direktori linux

Direktori root Linux memiliki beberapa direktori yang merupakan standar direktori pada banyak distro Linux. Direktori-direktori tersebut antara lain:

bin
Berisi file-file binary standar yang dapat digunakan oleh seluruh user baik user biasa maupun super user

boot
Berisi file-file yang digunakan untuk booting Linux termasuk kernel image

dev
Berisi file system khusus yang merupakan refleksi device hardware yang dikenali dan digunakan sistem

etc
Berisi file-file konfigurasi sistem, biasanya hanya boleh diakses oleh super user

home
Berisi direktori-direktori yang merupakan direktori home untuk user biasa dan aplikasi tertentu

lib
Berisi file-file library yang digunakan untuk mendukung kerja kernel Linux

mnt
Direktori khusus yang disediakan untuk mounting (mengaitkan) device disk storage ke sistem dalam bentuk direktori

proc
Berisi file system khusus yang menunjukkan data-data kernel setiap saat

root
Direktori home untuk user root (user khusus dengan priviledges hampir tak terbatas)

sbin
Sama seperti direktori bin, tetapi hanya root yang dapat menggunakan binary-binary tersebut

tmp
Berisi file-file sementara yang dibutuhkan sebuah aplikasi yang sedang berjalan

usr
Berisi library, binary, dokumentasi dan file lainnya hasil instalasi user.

var
Berisi file-file log, mailbox dan data-data aplikasi.