Kamis, 26 Maret 2020

SEJARAH LINUX












PENGENALAN LINUX

Linux


1.  Perkenalan Linux

Linux (atau GNU/Linux, lihat kontroversi penamaannya) adalah nama yang diberikan kepada kumpulan sistem operasi Mirip Unix yang menggunakan Kernel Linux sebagai kernelnya. Linux merupakan proyek perangkat lunak bebas dan sumber terbuka terbesar di dunia. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapa saja.
Linux telah lama dikenal sebagai sistem yang fleksibel dan aman untuk penggunaan di peladen-peladen serta banyak didukung oleh perusahan-perusahaan komputer terkenal seperti IntelDellHewlett-PackardIBMNovellOracle CorporationRed Hat, dan Sun Microsystems. Linux digunakan sebagai sistem operasi di berbagai macam jenis perangkat keras komputer, termasuk komputer desktopsuperkomputer, dan sistem benam seperti pembaca buku elektronik, sistem permainan video (PlayStation 2PlayStation 3 dan XBox), telepon pintar berbasis Android dan router.
Berbagai pengamat teknologi informasi menganggaap bahwa kesuksesan Linux dikarenakan distribusi Linux tidak bergantung pada vendor, biaya operasional yang rendah, dan kompatibilitas yang tinggi dibandingkan sistem operasi Unix tak bebas, serta faktor keamanan dan kestabilannya yang tinggi dibandingkan dengan sistem operasi lainnya seperti Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas keunggulan model perangkat lunak sumber terbuka.
Dalam Linux, dikenal istilah distribusi Linux (atau sering disebut distro Linux). Mereka merupakan sistem-sistem operasi Linux yang dasarnya dari Kernel Linux dan sistem manajemen paket (biasanya). Contoh dari distro Linux seperti: Debian GNU/Linux, Ubuntu, Linux Mint, Red Hat Enterprise Linux, Fedora, CentOS, dll.
Linux merupakan sebuah proyek hobi yang dikerjakan oleh Linus Torvalds, remaja 21 Tahun yang kuliah di universitas Helsinki Finlandia. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991 yang kemudian diposting ke mailing list comp.os.minix, dengan maksud menawarkan sumber kode dari apa yang telah dia buat dan mengundang para programmer lain untuk berpartisipasi dalam proyek tersebut. Pada tanggal 5 Oktober 1991, Linus mengumumkan versi resmi Linux yaitu versi 0.02 yang hanya dapat menjalankan GNU/BASH [GNU Bourne Again Shell] dan GNU/GCC [GNU C Compiler].
GNU sendiri merupakan sebuah proyek yang didirikan oleh Ricard M Stallman [RMS] pada tahun 1984, yang bertujuan untuk membuat sistem operasi lengkap bergaya UNIX yang bebas bagi masyarakat. Linux merupakan trademark yang dimiliki oleh Linus Torvald, yang terdaftar sebagai “Program sistem operasi komputer bagi penggunaan komputer dan operasi”. Pemberian lisensi trademark Linux sekarang dibawah pengawasan Linux Mark Institute. Untuk penggunaan sehari-hari, pengguna dapat memilih distribusi Linux [Distro] yang telah banyak dikenal, seperti Debian, RedHat, Mandrake, SuSE, Gentoo, Slackware, Ubuntu, Kubuntu dan ratusan distro lainnya yang masing-masing mempunyai kekurangan dan kelebihan sendiri-sendiri. Perbedaan mendasar dari sebuah distro adalah paket-paket yang disertakan ataupun manajemen paketnya akan tetapi dari perbedaan tersebut masih tetap menggunakan kernel Linux yang sama yang masih dipimpin oleh Linus Torvalds.

2.Susunan Direktori Linux 
 Di dalam Linux, menggunakan filesystem dimana directory akan tersusun ke dalam hirarkis tunggal. Berbeda dengan struktur di windows dimana susunan directory ditentukan dengan kondisi partisi dan harddisk. Bentuk drive di windows merupakan representasi dari partisi dimana huruf C diberikan untuk partisi pertama di harddisk pertama. DI Linux tidak mengenal konsep drive.   Berbagai macam partisi dapat di mount kedalam direktori yang berada di dalah struktur direktori linux. Di Windows, untuk menunjukkan lokasi sebuah file, kita menuliskan seperti ini; 1| D:\Folder\tempat\menyimpan\file.txt DI lingkungan Linux, untuk menunjukkan sebuah lokasi file, berupa seperti berikut; 1| /Folder/tempat/menyimpan/file.txt Dari kedua perbedaan diatas, kita dapat mudah melihat perbedaan penggunaan slash di Linux versus backslashes di Windows. Danjuga tidak adanya nama drive (C:, D:, E: dll). Pada saat komputer booting, 'partisi root' akan di mount di / dan seluruh file, direktori dan device akan di mount dibawah /. Perlu juga diingat bahwa penamaan file dan direktori di Linux adalah case-sensitive, yaitu huruf besar dan huruf kecil merupakan karakter yang berbeda. /Folder/tempat/file.txt beda dengan /folder/Tempat/file.TXT Struktur direktori Linux mengikuti standart “Filesystem Hierarchy Structure (FHS)” yang di pegang oleh Free Standart Group walaupun kebanyakan distribusi memodifikasi standart tersebut. 
1. / – Root Directory
Ini merupakan direktori utama pada sistem operasi Linux, yang mana Root Directory ini membawahi direktori lainnya seperti /home, /etc, dan lain-lain.
Kita ambil mudahnya saja, kalau di windows, direktori ini setara dengan C:. Namun kamu jangan terlalu menyamainya, karena keduanya sangat berbeda. Di windows, partisi akan dibagi berdasarkan drive, C:, D:, E:, dan seterusnya, sedangkan di Linux, pembagian partisi berada di dalam directory Root.
2. /bin – Essential User Binaries
Direktori /bin berisikan program binner yang harus ada bila sistem yang dipasang dalam mode single-user. Aplikasi firefoc disimpan di direktori /usr/bin, lalu program penting dan utilitas lainnya seperti shell bash terletak di /bin.
3. /boot – Boot Files
Sesuai namanya, direktori /boot berisikan file-file yang dibutukan oleh sistem untuk melakukan booting. File-file seperti GRUB boot loader dan kernel Linux tersimpan di direktori ini.
4. /cdrom – Mount point for CDROMs
Merupakan lokasi sementara untuk CD-ROM yang dimasukan ke dalam sistem. Namun, lokasi standar untuk media sementara berada di dalam direktori /media. Direktori ini sebenarnya bukanlah bagian dari FHS (Filesystem Hierarchy Standard), namun kamu tetap bisa menemukannya di Ubuntu.
5. /dev
Pada sistem operasi Linux, setiap perangkat yang terhubung akan dianggap sebagai files, dan di direktori /dev inilah file-file khusus yang mempresentasikan perangkat tersebut disimpan.
Biasanya sering ditampil direktori seperti /dev/sda1 yang mewakili Drive SATA pertama dalam sistem.
6. /etc – Configuration 
Pada direktori inilah banyak tersimpan file-file konfigurasi yang pada umumnya bisa kamu edit sendiri menggunakan text editor.
Advertisement
7. /home
Pada direktori ini berisi direktori untuk masing-masing user. Misal, nama user kamu adalah “pintar”, maka kamu memiliki direktori di /home/pintar. Di direktori tersebut umumnya berisi file data-data user dan file konfigurasi user tertentu.
Setiap user hanya memiliki hak akses atas direktorinya masing-masing. Untuk bisa menggunakan direktori user lain, kamu harus login dahulu sebagai super user (Root).
8. /lib
Berisi file-file penting yang dibutuhkan oleh file binari dalam direktori /bin dan /sbin. Sedangkan kumpulan file pnenting yang dibutuhkan oleh binari dalam folder /usr/bin terletak pada /usr/lib.
9. /lost+found – Recovery 
Setiap distro linux memiliki direktori lost+found. Fungsinya adalah untuk menempatkan file yang rusak, sehingga kamu dapat dengan mudah untuk memulihkannya.
10. /media – Removable Media
Directory /media berisi subdirectory yang mewakili sebuah perangkat removable yang dimasukkan ke komputer. Misalnya, ketika kamu memasukan DVD ke komputer kamu, Linux otomatis akan membuat direktori baru di dalam /media. Anda bisa mengakses DVD tersebut dengan masuk ke direktori ini.
11. /mnt – Mount Point
Direktori /mnt merupakan tempat untuk kamu nge-mount filesystem untuk menggunakannya sementara. Saya sering memanfaatkannya ketika melakukan sharing file yang mengharuskan saya nge-mount terlebih dahulu filesystem dari windows. Biasanya saya memberi nama /mnt/windows. Namun untuk nge-mount filesystem tidak harus di direktori tersebut melainkan bisa dimana saja.
12. /opt – Optional Packages
Direcktory ini biasanya berisi paket software yang kamu install sendiri. Biasanya digunakan oleh software diluar repository distrotersebut.
13. /proc 
Direktori ini hampir mirip dengan direktory /dev karena tidak berisi file-file standar, melainkan berisi file-file khusus yang mempresentasikan siste dan proses informasi.
14. /root – Root Home Directory
Direktori ini merupakan Home-nya user Root. Bukan terletak di /home/root, melainkan folder tersendiri, yaitu di /root. Ingat ya, ini berbeda dengan /, yang merupakan sistem directori utama.
15. /run
File yang berisi tentang system yang valid sampai system melakukan boot selanjutnya.
16. /sbin
Direktori /sbin mirip dengan /bin. Namun file-file yang berada di dalam direktori ini umum dioperasikan oleh Root.
17. /srv
Direktori yang dimaksudkan sebagai tempat data dari sebuah layanan yang diberikan oleh sistem. Misal, jika kamu menggunakan server Apache untuk service web, kamu bisa menyimpan file-file website tersebut di sebuah direktori di dalam /srv.
18. /tmp
Tempat untuk menyimpan sementara file-file Linux. Biasanya file yang disimpan dalam directory ini akan terhapus setiap kalu me-restart komputer.
19. /usr 
Berisi aplikasi dan file yang digunakan oleh pengguna, sebagai lawan aplikasi dan file yang digunakan oleh sistem. Misalnya, aplikasi non-essensial yang terletak di dalam direktori /usr/bin bukan pada /bin.
20. /var
Biasanya berisi informasi seperti log yang berada dalam /var/log.
Sebenarnya hanya untuk sekedar pengetahuan saja hal-hal yang seperti ini. Bukan berarti tidak perlu dipahami ya. Semoga bermanfaat. 

3.  Linux Desktop
Linux merupakan asas kepada kombinasi program-server LAMP, kependekan dari Linux, Apache, MySQL, Perl/PHP/Python. LAMP telah mencapai popularitas yang luas di kalangan pengembang Web.
Linux juga sering digunakan sebagai sistem operasi embeded. Biaya pengadaan Linux yang murah memungkinkan penggunaannya dalam peralatan seperti simputer, yaitu komputer berbiaya rendah yang ditujukan pada penduduk berpendapatan rendah di Negara-negara berkembang.
Dengan lingkungan desktop seperti KDE dan GNOME, Linux menawarkan antarmuka pengguna yang lebih menyerupai Apple Macintosh atau Microsoft Windows daripada antarmuka baris teks seperti Unix. Oleh karena itu, lebih banyak program grafik dapat ditemui pada Linux yang menawarkan berbagai fungsi yang ada pada utilitas komersial.

4.  Perkenalan Shell dan Filesystem
Shell adalah program (penterjemah perintah) yang menjembatani user dengan sistem operasi dalam hal ini kernel (inti sistem operasi), umumnya shell menyediakan prompt sebagai user interface, tempat dimana user mengetikkan perintah-perintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah eksekusi suatu file progam (eksternal command), selain itu shell memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file untuk dieksekusi sebagai program. Dari keterangan di atas dapat kita simpulkan shell adalah suatu program penterjemah perintah yang kita ketikkan di dalam prompt linux kita. Dan dapat kita simpulkan juga bahwa fungsi dari shell adalah sebagai penghubung antara user/pengguna dengan mesin linux kita (dalam hal ini adalah kernel sebagai pondasi system operasi).
Macam-macam shell yang sering digunakan dalam sistem operasi Linux diantaranya adalah :
Bourne shell(sh)
C shell(csh)
Bourne again shell(bash)
dsb
Setiap jenis shell tersebut memiliki kelebihan dan kekurangan sesuai dengan kebutuhan user masing-masing. Berikut ini adalah sedikit penjelasan mengenai beberapa macam-macam shell di Linux
Bourne Shell
Diciptakan oleh Steven Bourne. Shell pertama di Unix. Bourne shell merupakan bahasa pemrograman shell yag cukup baik namun kurang nyaman dalam interaktivitas karena tidak dilengkai fasilitas command line completion atau auto complete. Sehingga penulisan script harus dilakukan secara manual.

C Shell
Bill Joy mengembangkan bahasa pemrograman shell yang lebih mirip dengan bahasa pemrograman C bagi sebagaian orang dianggap lebih sulit. Kelebihan bahasa pemrograman shell ini daripada Bourne shell adalah sudah tersedia fitur command line completion atau auto complete. Untuk melengkapi perintah kita hanya perlu menekan tombol Tab.
Bourne Again Shell (Bash)
Merupakan bahasa pemrograman shell yang saat ini banyak dipakai pada sistem operasi linux. memliki interaktivitas yang lebih sempurna daripada sebelumnya serta gaya bahasa pemrograman yang lebih mudah untuk digunakan.
Sistem file (file system) atau sistem berkas merupakan struktur logika yang digunakan untuk mengendalikan akses terhadap data yang ada pada disk. Dengan kata lain, sistem file merupakan database khusus untuk penyimpanan, pengelolaan, manipulasi dan pengambilan data, agar mudah ditemukan dan diakses.
Hubungan antara sistem operasi dengan sistem file adalah sistem file (file system) merupakan interface yang menghubungkan sistem operasi dengan disk. Ketika program menginginkan pembacaan dari hard disk atau media penyimpanan lainnya, sistem operasi akan meminta sistem file untuk mencari lokasi dari file yang diinginkan. Setelah file ditemukan, sistem file (file system) akan membuka dan membaca file tersebut, kemudian mengirimkan informasinya kepada sistem operasi dan akhirnya bisa dibaca oleh pengguna.
Sistem File Linux
Sistem operasi Linux mendukung banyak File System yang berbeda, tapi pilihan yang umum digunakan adalah keluarga Ext* (Ext2, Ext3 dan Ext4) dan ReiserFS. Berikut sistem file yang umumnya digunakan pada sistem operasi Linux:

Ext2 (2nd Extended)
Ext2 merupakan jenis sistem file Linux paling tua yang masih ada. Sistem file ini pertama kali dikenalkan pada Januari 1993. File system ini ditulis oleh Rémy Card, Theodore T. dan Stephen Tweedie. File system ini merupakan penulisan ulang besar-besaran dari Extended file system. Ext2 adalah sistem file yang paling ampuh di Linux dan menjadi dasar dari segala distribusi linux.
Pada sistem file Ext2, file data disimpan sebagai data blok. Data blok ini mempunyai panjang yang sama dan meskipun panjangnya bervariasi di antara sistem file Ext2, besar blok tersebut ditentukan pada saat sistem file dibuat dengan mk2fs. Jika besar blok adalah 1024 bytes, maka file dengan besar 1025 bytes akan memakai 2 blok. Ini berarti kita membuang setengah blok per file.
Sistem file Ext2 menyimpan data secara hirarki standar yang banyak digunakan oleh sistem operasi. Data tersimpan di dalam file, file tersimpan di dalam direktori. Sebuah direktori bisa mencakup file dan direktori lagi di dalamnya yang disebut sub direktori.Ext2 mendefinisikan topologi sistem file dengan memberikan arti bahwa setiap file pada sistem diasosiasiakan dengan struktur data inode. Sebuah inode menunjukkan blok mana dalam suatu file tentang hak akses setiap file, waktu modifikasi file, dan tipe file. Setiap file dalam sistem file Ext2 terdiri dari inode tunggal dan setiap inode mempunyai nomor identifikasi yang unik. Inode-inode file sistem disimpan dalam tabel inode. Direktori dalam sistem file Ext2 adalah file khusus yang mengandung pointer ke inode masing-masing isi direktori tersebut.Inode dalam Ext2
Inode adalah kerangka dasar yang membangun Ext2. Inode dari setiap kumpulan blok disimpan dalam tabel inode bersama dengan peta bit yang menyebabkan sistem dapat mengetahui inode mana yang telah teralokasi dana inode mana yang belum. Inode juga dapat menunjuk pada device khusus dan dapat menangani program sehingga program dapat mengakses ke device. Semua file device di dalam drektori /dev dapat membantu program mengakses device.Superblok dalam Ext2
Superblok mengandung informasi tentang ukuran dasar dan bentuk file sistem. Informasi di dalamnya memungkinkan file system manager untuk menggunakan dan merawat sistem file. Biasanya, hanya superblok di blok group 0 saat file sistem di-mount tetapi setiap blok grup mengandung duplikatnya untuk menjaga jika file sistem menjadi rusak. Informasi yang dikandung adalah:
Magic Number, meyakinkan software bahwa ini adalah superblok dari sistem file Ext2.
Revision Level, menunjukkan revisi mayor dan minor dari sistem file.
Mount Count dan Maximum Mount Count, menunjukkan pada sistem jika harus dilakukan pengecekan dan maksimum mount yang diijikan sebelum e2fsck dijalankan.
Blocks per Size, besar blok dalam file sistem, contohnya 1024 bytes.
Blocks per Group, banyaknya blok per grup.
Block Group Number, nomor blok grup yang mengadung copy dari superblok.
Free Blocks, banyaknya blok yang kosong dalam file sistem.
Free Inode, banyak inode kosong dalam file sistem.
First Inode, nomor inode dalam inode pertama dalam file sistem, inode pertama dalam Ext2 root file sistem adalah direktori “/”.

Ext3 (3rd Extended)
Ext3 adalah peningkatan dari sistem file Ext2. Peningkatan ini memiliki beberapa keuntungan, diantaranya:
Journaling,
dengan menggunakan journaling, maka waktu recovery pada shutdown mendadak tidak akan selama pada Ext2. Namun ini menjadi kekurangan dari Ext3, karena dengan adanya fitur journaling, maka membutuhkan memori yang lebih dan memperlambat operasi I/O (Input/Output).
Integritas data,
Ext3 menjamin adanya integritas data setelah terjadi kerusakan atau unclean shut down. Ext3 memungkinkan kita memilih jenis dan tipe proteksi dari data.
Kecepatan,
daripada menulis data lebih dari sekali, Ext3 mempunyai throughput yang lebih besar daripada Ext2 karena Ext3 memaksimalkan pergerakan head hard disk. Kita bisa memilih tiga jurnal mode untuk memaksimalkan kecepatan, tetapi integritas data tidak terjamin.
Mudah dilakukan migrasi,
kita dapat berpindah dari sistem file Ext2 ke sistem file Ext3 tanpa melakukan format ulang.

Ext4 (4th Extended)
Ext4 merupakan peningkatan dari sistem file Ext3. Ext4 dirilis secara lengkap dan stabil mulai dari kernel 2.6.28. Keuntungan menggunakan Ext4 adalah mempunyai pengalamatan 48-bit blok yang artinya dia akan mempunyai 1 EiB = 1.048.576 TB. Ukuran maksimum sistem file 16 TB.

JFS (Journalis File System)
JFS atau dikenal juga dengan nama IBM Journal File System merupakan sistem file pertama yang menawarkan journaling. JFS sudah bertahun-tahun digunakan dalam IBM AIX® OS sebelum digunakan ke GNU/Linux. JFS saat ini menggunakan sumber daya CPU paling sedikit dibandingkan sistem file GNU/Linux lainnya. JFS sangat cepat diformat, mounting dan fsck, serta memiliki kinerja sangat baik, terutama berkaitan dengan deadline I/O scheduler. Walaupun begitu, dukungan terhadap JFS tidak seluas sistem file Ext atau Reiser FS.

Reiser FS
Sistem file Reiser dibuat berdasarkan balance tree yang cepat dan unggul dalam hal kinerja, dengan algoritma yang lebih rumit. Sistem file Reiser juga memiliki jurnal yang cepat dan ciri-cirinya mirip sistem file Ext3. Sistem file Reiser lebih efisien dalam pemanfaatan ruang disk, dimana dapat menghemat disk sampai dengan 6 persen. Contohnya jika kita menulis file 100 bytes, hanya ditempatkan dalam satu blok sementara sistem file lain menempatkannya dalam 100 blok. Reiser file system tidak memiliki pengalokasian yang tetap untuk inode.

Linux menghadapkan perangkat sebagai file, dan direktori / dev berisi sejumlah file khusus yang merepresentasikan perangkat. Ini bukan file yang sebenarnya seperti yang kita tahu mereka, tetapi mereka muncul sebagai file – misalnya, / dev / sda merupakan SATA drive pertama dalam sistem. Jika Anda ingin partisi itu, Anda bisa mulai editor partisi dan kirim ke mengedit / dev / sda.

Pengguna Linux, yang pada umumnya memasang dan melakukan sendiri konfigurasi terhadap sistem, lebih cenderung mengerti teknologi dibanding pengguna Microsoft Windows atau Mac OS. Mereka sering disebut hacker atau geek. Namun stereotipe ini semakin berkurang dengan peningkatan sifat ramah-pengguna Linux dan makin luasnya pengguna distribusi. Linux telah membuat pencapaian yang cukup baik dalam pasaran komputer server dan komputer tujuan khusus, seperti mesin render gambar dan server web. Linux juga mulai populer dalam pasaran komputer desktop.








SEJARAH LINUX

PENGENALAN LINUX 1.    Perkenalan Linux Linux (atau GNU/Linux, lihat  kontroversi penamaannya ) adalah nama yang diberi...