Welcome

Welcome, thanks to look my blog

Friday, 14 March 2014

Panduan Pengenalan Susunan Directory di Linux

Panduan Pengenalan Susunan Directory di Linux

Seperti yang sudah dijelaskan sebelumnya, 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;
 D:\Folder\tempat\menyimpan\file.txt
DI lingkungan Linux, untuk menunjukkan sebuah lokasi file, berupa seperti berikut;
 $ /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.

/ (root)

Struktur direktori di Linux secara umum diawali dengan root filesystem “/” dan tentu juga merupakan root atau akar dari seluruh direktori global. Partisi dimana di letakkan / (root system) akan menjadi direktori sistem atau partisi pokok.

/boot

Direktori boot tesimpan file-file boot loader diantaranya grub atau lilo. Kernel, initrd dan system.map juga terletak didalam /boot. Jika system yang digunakan menggunakan partisi LVM ataupun partisi dalam jaringan. Maka ada baiknya dibuatkan partisi kecil tersendiri untuk meletakkan /boot di harddisk dengan filesystem konvensional. /boot ini umumnya sangat jarang sekali berubah isinya, kecuali memang kita sering bermain-main dengan kernel.

/sys

Berisi informasi yang berkaitan dengan kernel, device dan firmware. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari 'system'.

/sbin

Berisi file-file biner yang esensinya untuk sistem dan mengendalikan sistem. File-file biner atau bisa dianggap aplikasi sistem ini jika dioperasikan secara tidak tepat bisa berpotensi merusak. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari 'super binary'.

/bin

Berisi file-file binari atau aplikasi yang lebih umum dan dapat digunakan oleh semua user. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari 'binary'.

/lib

Berisi file-file library atau pustaka dari semua aplikasi binari yang tersimpan dalam direktori /sbin dan /bin. Di direktori ini juga tersimpan berbagai macam librari yang digunakan untuk aplikasi lain. Konsep penggunaan librari bersama ini membuat aplikasi di linux dapat menghemat ukuran. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari 'library'

/dev

Merupakan pseudo filesystem, atau directory yang isinya sebenarnya bukan benar-benar berisi file. Isi dari /dev ini berkaitan dengan perangkat-perangkat yang terdapat pada system. Misalkan untuk informasi port serial, port printer, dapat di berlakukan seperti membaca file. Misalkan perangkat serial terletak di /dev/tty01, kemudian partisi dalam harddisk di sebut sebagai /dev/sda7. dan lain sebagainya. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari 'device'.

/etc

Direktori /etc berisi file-file konfigurasi sistem. Mayoritas aplikasi dan layanan konfigurasinya tersimpan di direktori /etc termasuk diantaranya /etc/hosts, /etc/resolv.conf dan lain sebagainya. Di direktori /etc/init.d tersimpan konfigurasi bagaimana sebuah layanan dijalankan. Di direktori /etc/rc*.d tersimpan konfigurasi untuk menentukan service yang dijalankan untuk tiap-tiap sesi init.

/home

Semua direktori home dari pengguna tersimpan di direktori ini dengan nama user masing-masing sebagai pengelompokannya. Untuk beberapa sistem linux yang di spesifikasikan untuk server, direktori pengguna masih dikelompokkan lagi kedalam /home/users. Di dalama direktori /home/nama-user tersimpan konfigurasi-konfigurasi yang spesifik terhadap user tersebut. Oleh karena itu, berbeda user, walaupun berada di sistem yang sama bisa mendapat lingkungan dan tampilan yang sama sekali berbeda. Direktori /home merupakan direktori yang paling 'dekat' dengan user. Direktori /home ini bisa berisi dari dokumen-dokumen pekerjaan user hingga file-file hiburan seperti mp3 dan film juga termasuk foto-foto yang dimiliki oleh user. Oleh karena itu, untuk membatasi agar file-file di pengguna tidak mendesak file-file system, sangat umum untuk meletakkan direktori /home di partisi yang terpisah. Hal ini dapat menahan file-file yang disimpan user hingga total ukuran tertentu tanpa mengganggu ruang gerak system.

/media

Merupakan direktori untuk menyimpan direktori-direktori mount point. CD-ROM, DVD, flash disk, bahkan floppy disk juga akan termount di direktori ini. Pada distro-distro modern, sudah memberikan fasilitas untuk menampilkan device-device yang dimount ke depan Desktop. Sehingga pengguna tidak perlu susah-dan-repot menuju ke /media untuk dapat mengakses flash disk-nya tapi cukup lihat ke desktop-nya dan masuk ke direktori yang teerbuat baru di sana. Untuk workstation yang terintegrasi dengan jaringan, pada umumnya untuk melakukan mounting storage network juga diletakkan di /media. Dengan dikelompokkan seperti itu maka mudah untuk mengenali bahwa semua yang berada di dalam /media merupakan media penyimpan.

/mnt

Pada Linux yang masih umum menggunakan kernel 2.4.x. Untuk tempat mengumpulkan mount point berada di /mnt. Dikarenakan pada sistem berbasis kernel 2.6.x sudah menggunakan /media, maka /mnt ini umumnya kosong. /mnt bisa juga dijadikan mount point pada saat system rescue atau troubleshooting. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari 'mount'.

/opt

Direktori /opt saat ini jarang digunakan. Beberapa paket software terpisah menggunakan direktori ini untuk menyimpan paket yang tidak menuju ke lokasi manapun. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari 'optional'

/usr

Sebuah sub-hirarki dari root filesistem di simpan didalam /usr. Didalam /usr tersimpan aplikasi dan utiliti yang spesifik dengan user. Jika kita melihat kedalam direktori /usr maka kita juga akan menemukan direktori yang mirip dengan di / yaitu bin, sbin dan lib. Hanya saja, aplikasi dan librari yang terletak /usr tidak terlalu kritikal untuk sistem. Untuk istilah mudahnya, /usr merupakan tempat dimana user menginstall aplikasi sendiri yang bukan official dari distro. Misalkan menginstall melalui tar-ball, atau paket yang dibuat sendiri. Jika pengguna termasuk orang yang sering menambah-nambah aplikasi sendiri diluar bawaan paket yang disediakan untuk distro itu, maka direktori /usr sudah dipastikan akan cepat sekali membengkak. Ada baiknya untuk sistem yang penggunanya seperti itu, /usr di berikan partisi sendiri. Untuk aplikasi yang bisa langsung dijalankan, sistem linux akan membaca secara bersamaan yang ada di /bin dan di /usr/bin begitu juga untuk /sbin dan /usr/sbin. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari 'user'.

/usr/share

Merupakan tempat didalam /usr yang digunakan untuk menyimpan data-data yang bisa dibagikan dan tidak terikat dengan platform. Misalnya seperti wallpaper yang bisa dan boleh digunakan oleh semua user akan diletakkan didalam /usr/share. Lalu ada juga fonts, dan sound theme yang berkaitan dengan tampilan.

/usr/doc

Merupakan tempat untuk menyimpan dokumentasi dan catatan yang berkaitan dengan aplikasi. Apabila aplikasi third-party yang digunakan merupakan aplikasi yang dikembangkan dengan baik, maka tentunya juga menyediakan file dokumentasi yang dapat dibaca di dalam /usr/doc.

/usr/src

Merupakan tempat untuk menyimpan source code dari aplikasi sistem. Yang paling umum tersimpan disini adalah source code dari kernel linux. Source code ini sangat bermanfaat untuk melakukan kompilasi ulang atau melakukan optimasi di tingkat kernel dengan dasar kernel sebelumnya.

/usr/include

Di direktori /usr/include tersimpan file-file header dari compiler C. File header ini mendefinisikan struktur dan konstanta yang dibutuhkan untuk membangun sebuah aplikasi yang standart. Direktori didalam /usr/include tersimpan header untuk compiler C++.

/usr/X11R6

Menyimpan sistem X-Window dan hal-hal yang berkaitan dengan X-Window. Subdirectories dibawah /usr/X11R6 tersimpan binari X itu sendiri dan juga dokumentasi, file header, config. icon. sounf, dan sebagainya yang berkaitan dengan grafis.

/usr/local

DI disini tersimpan aplikasi yang terinstall dan file yang yang digunakan di local machine. Jika komputer yang digunakan merupakan bagian dari sebuah jaringan besar, terus direktori /usr lokasi fisiknya terletak di komputer yang berbeda dan di bagikan kedalam jaringan untuk di mount kedalam /usr. Pada jaringan seperti ini, direktori /usr/local akan berisi barang-barang yang hendaknya tidak digunakan di banyak mesin dan hanya di gunakan di local machine saja. Karena kebanyakan komputer tidak memanfaatkan bentuk jaringan seperti yang disebutkan tadi, bukan berarti /usr/local menjadi tidak berguna. Jika kita menemukan aplikasi yang menarik dan secara official tidak tersedia dan bukan bagian dari distro yang digunakan, hendaknya kita menginstallnya kedalam /usr/local. Sebagai contoh, jika aplikasi tambahan yang umum akan tersimpan kedalam /usr/bin, maka aplikasi tambahan yang sifatnya lebih custom hendaknya di simpan di /usr/local/bin. Dengan cara ini maka dapat menghindarkan kebingungan dalam jenis aplikasi yang tersedia dan menjaga sistem tetap bersih dan rapi.

/root

Merupakan direktori home-nya superuser (root). Harap jangan bingung dengan direktori root (/). Walaupun cara menyebutnya sama, tapi sama sekali berfungsi sangat berbeda.

/var

Direktori /var merupakan direktori yang isinya sangat dinamis. Jika digunakan didalam server. Sangat dianjurkan /var ini untuk diletakkan di partisi terpisah dikarenan direktori /var dapat membengkak dengan sangat cepat. Selain itu juga, dengan direktori /var dibuat partisinya sendiri atau secara fisik ditentukan lokasinya, maka dapat mencegah internal fragmentasi, dan proses pencarian file tidak terlalu jauh, hanya seputar cylinder itu-itu saja. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari 'variative'

/var/log

Merupakan direktori untuk menyimpan berbagai macam log atau catatan yang berkaitan dengan sistem. Isi dari /var/log ini terus terupdate selama sistem berjalan. Oleh karena itu, /var/log merupakan alasan dan penyebab utama direktori /var dapat membengkak dengan gila-gilaan. Walaupun di linux sendiri tersendiri tersedia aplikasi logrotate untuk meredam percepatan pembengkakan direktori /var, tapi tetap juga jika tidak disiapkan ruang tersendiri, ukuran log ini dapat menghantam ruang kosong di sistem. Direktori /var/log ini hendaknya menjadi tempat pertama kita lari apabila di sistem terjadi keanehan. System log linux baik kok, keanehan pun akan di tuliskan dengan gamblang kedalam log. Misalkan pada webserver, /var/log/httpd/access.log akan mencatat siapa saja yang mengakses web yang terpasang dan menuju ke mana. Apabila banyak sekali yang mengunjungi web itu, maka file /var/log/httpd/access.log pun akan terupdate dengan kecepatan luar biasa yang susah untuk diikuti oleh pandangan manusia biasa. Misalkan juga /var/log/syslog, disana tersimpan log yang berkaitan dengan system. Misalkan kita colokkan flash disk, maka dengan mengamati /var/log/syslog kita bisa mengetahui apakah sistem bisa mengenali flashdisk itu dan melakukan auto mount, atau memberikan pesan yang lain. Dari /var/log/syslog juga misalnya kita bisa melihat apakan rule crontab yang kita buat berjalan sesuai waktunya atau tidak. Semakin banyak kejadian yang buruk atau yang baik terjadi di system, maka /var/log pun akan semakin membengkak.

/var/mail

Merupakan direktori untuk menyimpan email masuk dan keluar. Direktori /var/mail ini akan sangat terasa fungsinya jika kita membuat mail server menggunakan postfix, sendmail atau qmail. Sebenarnya tanpa menggunakan mailserver itu, kita juga dapat mengirim email, hanya saja terbatas hanya dalam lingkup mesin kita dan user yang terdapat didalamnya. Apabila mesin yang kita gunakan hanya kita sendiri usernya, tentu saja tidak seru, maka perlu dibuatkan mail server yang sesungguhnya agar aktivitas kirim-mengirim email dapat seheboh dengan mail.yahoo.com ataupun mail.ugm.ac.id. Direktori /var/mail merupakan penyebab kedua yang membuat direktori /var dapat membengkak tidak karuan. Aktivitas dan lalulintas saling kirim email yang tinggi, ditambah lagi dengan attachment yang tidak masuk akal ukurannya, menyebabkan /var/mail bertanggung jawab penuh atas membengkaknya /var. Dengan di berikannya direktori /var sebuah partisi tersendiri, maka apabila direktori /var mentok ke total ukuran partisi, 'hanya' menyebabkan mailserver-nya macet. tapi sistem linux itu sendiri masih bisa berjalan dengan nyaman untuk mengatasi 'kekacauan' di /var. Ada juga cara agar direktori /var tidak segera penuh, dengan menerpakan quota di mail server.

/var/spool

Direktori /var/spool merupakan direktori untuk menyimpan file-file yang spooling atau yang sedang mengantri untuk diproses. Yang umum berada didalam /var/spool ini adalah operasi printing. Apabila linux yang dibangun difungsikan sebagai prnter server, atau sharing printer, maka /var/spool ini juga perlu diperhatikan apabila yang menggunakan printer tersebut orangnya sangat banyak.

/var/run

Di direktori ini tersimpan PID (Process ID) dari layanan-layanan yang berjalan. PID yang tercatat didalam /var/run ini nantinya akan digunakan oleh script didalam /etc/init.d/* untuk mengendalikan layanan yang tersedia di linux.

/proc

Direktori /proc juga merupakan pseudo filesystem yang mirip dengan /dev. Bedanya, /proc ini murni hanya berkaitan dengan sistem dan tidak menyangkut pada device. Jika kita melakukan pengecekan ukuran penggunaan space, jangan terkecoh dengan direktori /proc yang tercatat menunjukkan memakan space sangat besar. Segala macam space yang tertulis disitu sama sekali tidak terdapat di dalam media penyimpanan harddisk. Jadi direktori /proc sebenarnya tidak ada sama sekali. Isi dari /proc ini adalah infomasi dari sistem, tetapi jika kita mengubah isi informasi dari beberapa file /proc juga dapat mengubah sifat jalannya sistem. Jangan takut apabila sistem berubah menjadi aneh tatkala kita mengubah isi /proc. Selama pengubahan isi hanya menggunakan echo, maka dengan merestart system, maka isi /proc pun akan langsung kembali ke semula. Misalkan kita ingin melakukan forwarding network, maka informasi pada /proc/sys/net/ipv4/ip_forward yang semula berisi 0 tinggal di ubah menjadi 1. Misalkan kita melihat informasi processor, maka kita dapat melihat dalam /proc/cpuinfo. Tapi jangan harap dengan mengedit /proc/cpuinfo maka kita akan mendapat cpu yang bekerja dengan clock cycle yang lebih menakjubkan.

/tmp

Merupakan file sistem yang menyimpan file-file sementara. Beberapa distro akan otomatis membersihkan isi dari /tmp sewaktu reboot. Direktori /tmp memiliki mode yang sangat terbuka sehingga mudah untuk ditulisi oleh siapa saja. Didalam /var/tmp juga digunakan sebagai penyimpanan file-file sementara, bedanya /var/tmp dengan /tmp yaitu /var/tmp tidak akan dibersihkan saat system reboot. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari 'temporary'

/lost+found

Di direktori ini linux menyimpan file-file yang berhasil di recover saat sistem crash. Dengan melihat kedalam /lost+found mungkin kita dapat menemukan file yang hilang.

No comments:

Post a Comment