Jumat, 11 November 2011

MODUL WORKSHOP LINUX FUNDAMENTAL Oleh : A Ples Ardelindo 1991

PENGANTAR SISTEM OPERASI GNU/LINUX

Apa itu GNU/Linux

Linux adalah sebuah kernel sistem operasi UNIX-like yang dibuat oleh Linuz Torvalds. Linux merupakan sistem operasi yang open source dengan menggunakan lisensi GNU General Public License (GNU GPL). Karena adanya pemaketan kernel linux dengan berbagai software pendukungnya dengan lisensi GNU GPL, maka disebut dengan GNU/LInux.

Linux merupakan sistem operasi yang multitasking dan multiuser. Istilah multitasking dikaitkan dengan kemampuan untuk menjalankan beberapa program secara bersamaan, sedangkan multiuser dikaitkan dengan kemampuannya untuk digunakan oleh beberapa user sekaligus. Sebagai sistem operasi turunan UNIX, maka Linux sangat mendukung implementasi TCP/IP (Transmission Control Protocol/Internet Protocol). Protokol TCP/IP merupakan protokol standar yang digunakan untuk menghubungkan berbagai komputer dalam sebuah jaringan. GNU/Linux merupakan sistem berbasis GNU GPL (General Public Linsensi) yang artinya memberikan keleluasaan kepada setiap orang untuk melakukan modifikasi, mendistribusi sebagian bahkan keseluruhan sistem ini guna untuk keperluan tertentu. Setiap software yang menggunakan lisensi GNU GPL seperti GNU/Linux ini diharuskan untuk menyertakan kode asal sistem tersebut dalam hasil perubahan tersebut.


 

















Gambar 1. Keluarga UNIX




Sebagai sistem dalam rumpun UNIX, GNU/Linux mewarisi sifat-sifat yang menyerupai UNIX misalnya multiuser, multitasking, line/text command based, secure, ready for network, development tool support. Dalam pengembangannya GNU/Linux sendiri dikembangkan terpisah misalnya kernel Linux dibuat oleh Linus Benedict Tolvalds pada
tahun 1991, Donal Knuth membuat standar formatter (Tex), Bob Schefler mengembangkan X Window dan sebagainya.

Pada dasarnya GNU/Linux adalah sebuah kernel, paket lainnya yang melengkapi misalnya applikasi, compiler, window manager, redhat paket manager dan sebagainya disebut sebagai distribusi, di mana saat ini distribusi GNU/Linux banyak sekali. Seperti yang telah disebutkan di atas bahwa Linux pada dasarnya adalah sebuah kernel, dimana kernel menjembatani antara user level hardware dan aplikasi-aplikasi yang menerjemahkan bahasa sofware sehingga mampu dipahami oleh hardware kemudian hardware memprosesnya sesuai dengan kebutuhan.


Konsep Dasar Sistem Operasi GNU/Linux.

Untuk memahami bagaimana konsep dasar dari sistem operasi Linux, setidaknya harus
dipahami beberapa hal berikut ini :

Struktur Modular Linux.
Preemptive Multitasking
Multiuser system.
User Environment
File Structure.

Distribusi GNU/Linux

Berikut ini merupakan review singkat dari beberapa distribusi Linux yang populer digunakan.

RedHat
Merupakan distribusi Linux yang paling populer. Menggunakan rpm sebagai sistem paket yang juga digunakan oleh beberapa distribusi lainnya. Dengan rpm maka penginstalan, proses uninstall dan upgrade paket dapat dilakukan secara otomatis. Saat ini redhat banyak bekerjasama dengan berbagai perusahaan besar seperti Oracle, IBM, Sun dan lain-lain. Informasi lebih lanjut silahkan lihat di www.redhat.com.

Open Linux
Caldera Open Linux Didesain untuk penggunaan tingkat korporasi atau penggunaan komersial lainnya. Distribusi ini menyertakan berbagai macam paket, termasuk semua paket-paket software dari GNU, seperti X Window Sistem, Sistem Manajer, Internet server dan lainnya.

SuSE
Pada awalnya hanya merupakan sebuah distribusi Lokal yang menggunakan bahasa jerman. Pada akhirnya SuSE menjadi distribusi yang paling populer digunakan di Eropa.


Debian GNU/Linux
Merupakan non komersial produk yang dibuat oleh banyak programmer independen. Bisa dikatakan Debian GNU/Linux merupakan distribusi yang baik untuk digunakan oleh seorang hacker. Distribusi yang satu ini sama sekali tidak memiliki dukungan komersial
untuk digunakan oleh instansi bisnis.

Koppix
Knoppix merubakan sebuah distribusi Linux dengan versi Live CD, yang berarti bahwa knoppix bisa dijalankan langsung dari CD tanpa harus melakukan instalasi. Bagi pengguna yang ingin belajar sistem operasi linux akan tetapi kesulitan atau belum siap melakukan instalasi dapat menggunakan distribusi versi Live CD.


DASAR SISTEM OPERASI GNU/LINUX

Proses Booting

Untuk memahami bagaimana proses-proses yang terjadi pada saat komputer ijalankan, maka berikut adalah urairan proses yang terjadi pada saat komputer dinyalakan;

1.        BIOS: Basic Input/Output System merupakan interface level paling bawah yang menghubungkan antara komputer dan periperalnya. BIOS melakukan pengecekan intergritas memori dan mencari instruksi pada Master Boor Record (MBR) yang terdapat pada floppy drive atau harddisk.
2.        MBR menjalankan boot loader.
3.        LILO kemudian akan membaca label sistem operasi yang kernelnya akan dijalankan.  Pada LILO inilah sistem operasi mulai dipanggil.
4.        Kernel yang dipanggil oleh LILO kemudian menjalankan program init, yaitu proses yang menjadi dasar dari proses-proses yang lain.
5.        Proses pertama yang akan dijalankan terletak pada file script /etc/rc.d/rc.sysinit
6.        Berdasarkan pada run-level, script kemudian menjalankan berbagai proses lain yang dibutuhkan oleh sistem sehingga sistem dapat berfungsi dan digunakan.

Runlevel adalah suatu parameter yang mengatur servis yang akan dijalankan misalnya single user, multiuser tanpa modul grafis, multiuser dengan modul grafis, reboot dan shutdown. Program yang mengatur runlevel ini adalah initt yang terletak pada direktori
/etc/inittab. Berikut ini adalah tabel runlevel;

Runlevel Keterangan
0                              Sistem halt
1                              Modus Single user
2                              Multi user tanpa dukungan jaringan
3                              Multiuser dengan dukungan jaringan berbasis console (text)
4                              Tidak digunakan
5                              Multiuser dengan dukungan jaringan berbasis grafis
6                              Sistem reboot


Proses Init Pada Linux

Prose init merupakan langkah terakhir dalam rangkaian proses booting. Proses init selalu diberi id “1” (satu). Init sendiri bertanggungjawab terhadap proses-proses yang terdapat pada file script /etc/inittab. Init biasanya akan menjalankan beberapa getty yang nantinya digunakan untuk login dan menjalankan proses shell oleh user. Proses init tidak akan mengalami off (shutdown) kecuali sistem secara sengaja atau tidak di matikan.


Beberapa contoh System Processes adalah sebagai berikut.

Process ID                               Keterangan
0                                              The Scheduler
1                                              The init process
2                                              Kflushd
3                                              kupdate
4                                              Kpiod
5                                              Kswapd
6                                              mdrecoveryd
Untuk melihat proses yang dan nomor id yang dijalankan pada saat booting, dapat digunakan perintah ps atau pstree. Dengan perintah pstree akan terlihat bahwa init merupakan root dari semua proses yang dijalankan.

[opic@rofiq opic]$ ps ax


Login Logout
Login

Ketika pertama kali memulai GNU/Linux biasanya user langsung dihadapkan dengan dua kata kunci yaitu login dan password login. Agar berhasil login maka ke dua pasangan tersebut semestinya di isi dengan benar dan sesuai. Terdapat dua mode layar
tersebut biasanya akan tampil pada virtual consol getty 1 s/d 6 sedangkan mode GUI terdapat pada terminal ke 7. Tampilan login adalah sebagai berikut.

RedHat Linux release 9 (Shrike)
Kernel 2.4.20-8 on an i686
Login : root
Password : *****

Pada saat kita pertama kali menjalankan sistem operasi Linux setelah proses instalasi, biasanya kita akan menggunakan login root untuk melakukan beberapa konfigurasi. Untuk berpindah antar terminal digunakan kombinasi tombol Ctrl+Fx, dimana x mewakili nomor terminal consol. Misalnya untuk terminal ketiga maka kombinasi tombolnya adalah Ctrl+F3.

Logout
Logout adalah proses keluar dari sistem oleh user, artinya setelah logout maka user yangbersangkutan tidak bisa lagi menggunakan sistem yang ada. Untuk logout dari shell maka dapat digunakan beberapa cara, yaitu; mengetikan logout atau exit.

# logout
# exit
atau menekan tombol Ctrl + D

Suksesnya logout adalah ketika user dihadapkan dengan prompt login kembali.


Sistem Shell

Linux hanyalah sebuah kernel, dimana didalamnaya tidak menyertakan banyak utilitas. Agar kernel tersebut dapat berkomunikasi dengan pengguna maka dibutuhkan sebuah interface yang menjembatani keduannya. Interface yang dimaksud adalah shell. Shell sendiri tidak hanya menjadi interface bagi user, tetapi juga menjadi interface dari program atau utilitas lain, yang meskipun utilitas tersebut akhirnya juga dimanfaatkan oleh pengguna. Posisi shell yang sesuggguhnya bisa dilihat pada gambar berikut,

Gambar 3. Shell Sebagai Interface


Dalam fungsinya sebagai interface berarti shell menjalankan tugas untuk menterjemahkan perintah-perintah user atau utilitas lain agar dimengerti oleh kernel, demikian juga sebaliknya yaitu kernel memberi umpan balik perintah tersebut melalui shell. Karena fungsi sebagai penterjemah perintah ini maka shell bisa disebut sebagai commang intepreter ( penterjemah perintah).

Selain fungsi tersebut shell juga dapat berfungsi sebagai intepreter. Dengan fungsi sebagai intepreter maka shell juga dapat digunakan untuk membuat program. Program yang dibuat dengan shell biasa disebaut dengan shell script karena program tetap akan menjadi sebuah script dan tidak akan menjadi file biner seperti hanya kompiler. Dengan kedua fungsi tersebut Shell bertanggungjawab melakukan tugas utama diberikan, yaitu :

Membaca Input .
Memerika karakter khusus yang dimasukan
Mengeset pemipaan, redirection dan proses background.
Menangani sinyal
Mengeset program untuk dijalankan.


Macam-Macam Shell

Dalam Unix/Linux dikenal berbagai macam shell. Dengan keberagaman shell tersebut maka pengguna bisa memilih shell yang akan digunakan sesuai dengan kebtutuhan dan fitur yan ditawarkan. Berikut beberapa shell yang terdapat pada Linux,

Bourne Shell (Sh).
Bourne Shell merupakan shell pertama yang digunakan sebagai standar unix pada tahun 1979. Shell ini dibuat oleh Stephen Bourne yang pada saat itu bekerja pada AT&T.

Bourne Again Shell (Bash).
Bourne Again Shell merupakan pengembangan dari sh tetapi dengan mengambil beberapa fitur dari csh dan ksh. Bash saat ini digunakan sebagai shell default dalam beberapa distribusi Linux seperti Redhat dan Mandrake.

C Shell (Csh),
Shell ini merupakan hasil dari Universitas Calofornia pada tahun 1970. Pertama kali ditulis oleh Bill Joy dengan dasar bahasa C.

Korn Shell (Ksh).
Korn Shell pertama kali dikembangkan oleh David Korn dan menjadi bagian dari
distribusi Unix SVR4 pada tahun 1988.

Z Shell

Zsh merupakan bentuk lain dari Korn Shell (cloning) tetapi dengan menggunakan fitur dari TC Shell. Zsh dituli soleh Paul Falsted

Public Domain Korn Shell (pdksh).
Public Domain Korn Shell juga merupakan kloning dari korn shell. Bagi pengguna Linux yang ingin mencoba Korn Shell maka dapat menggunakan pdksh.  Selain yang telah dibahas diatas masih banyak jenis shell lain baik yang multi platform atau hanya khusus untuk Unix/Linux. Untuk melihat shell yang terinstall dalam komputer Anda maka bisa dgunakan perintah berikut,

$cat /etc/shells
/bin/bash2
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
/bin/zsh
/bin/ksh
/bin/rbash

File /etc/shells ini berisi nama shell yang telah terinstall, dan yang paling umum file tersebut akan berisi shell utama yaitu SH, BASH, TCSH dan KSH.
Mengganti Shell

Begitu kita selesai menginstall Linux ( misalnya Redhat) maka secara otomatis sebuah shell akan terinstall. Dalam banyak distribusi Linux, Bash-lah yang menjadi pilihannya. Shell default tersebut dapat kita ganti dengan shell lain, tetapi penggantian ini bisa menyebabkan beberapa fitur berubah dan tidak jalan. Perintah yang digunakan untuk mengganti shell default adalah sebagai berikut:

$chsh
Password:
New shell [/bin/csh]:/bin/bash
Shell changed

perintah diatas akan mengganti shell default csh dengan shell bash. Jika anda mempunyai hak akses root dan ingin mengganti shell default user maka perintah harus diikuti dengan nama user, berikut contohnya,

# chsh rida
Changing shell for rida.
New shell [/bin/bash]: /bin/zsh
Shell changed.

Anda juga bisa menggunakan shell lain tanpa harus mengubah shell defaultnya. Cara yang digunakan adalah dengan memanggil langsung nama shell, misalnya

$ [opic@myserv opic]$ zsh
myserv%


untuk keluar dan kembali ke shell sebelumnya anda tinggal mengetikkan exit pada
prompt tersebut, myserv% exit

[opic@myserv opic]$

Tetapi dengan perintah memanggil langsung seperti diatas maka shell tersebut akan menjadi shell anak. Hal tersbut bisa dibuktikan dengan melihat prosesnya dengan utilitas ps:

$ps axf
.....
\_ bash
\_ -sh
\_ ps axf
.....

Agar saat menjalankannya shell tidak menjadi proses anak maka digunakan perintah
exec yang diikuti oleh nama shellnya :
$ [opic@myserv opic]$ exec zsh
myserv%

Hasil perintah tersebut sekilas tampak sama, tapi anda coba ketikan keluar maka anda
akan langsung keluar dari login bukan hanya dari shellnya. Dan jika dilhat dengan ps maka Bash akan tergantikan oleh csh,

$ps axf
\_ -sh
\_ ps axf
Manajemen Direktori dan File

Manajemen Direktori

Linux mempunyai hirarki direktori yang dimulai dengan direktori root yang disimbolkan dengan tanda slash ("/"). Diraktori dipisahkan dengan tanda slash ("/") bukan tanda backslash ("\") seperti pada windows atau dos. Terdapat beberapa standar subdirektori dalam direktori root seperti yang telah dibahas pada struktur filesystem.

Keberadaan sebuah direktori dikenal dengan istilah path, dan direktori yang dimulai dari root seperti /usr/src merupakan sebuah path absolut dan lebih dikenal dengan istilah fullpath atau path absolute. Sedangkan path yang menyatakan path lengkap sebuah file dikenal dengan nama full pathname. Selain path absolut terdapat juga path relatif yang keduanya telah dibahas pada bagian path.

Berikut adalah perintah-perintah yang berkaitan dengan manajemen direktori.

cd

Perintah cd digunakan untuk masuk ke dalam sebuah direktori atau berpindah dari satu diraktori ke direktori yang lain. Apabila cd dijalanakan tanpa menggunakan opsi, maka perintah tersebut berart mengembalikan posisi direktori ke default direktori home user yang bersangkutan.

Contoh :
#cd /usr/src
#cd

mkdir

mkdir merupakan perintah yang digunakan untuk membuat direktori. APabila nama direktori yang dibuat tidak diawali dengan nama path, maka berarti membuat direktori pada lokasi saat perintah tersebut diberikan.

Misalnya:
#mkdir data

Apabila akan direktori yang dibuat berada pada path lain, maka nama path harus
diketikan terlebih dulu, misalnya

#mkdir /usr/src/linux/kernelbaru

Perintah yang menggunakan nama path tersebut hanya berlaku apabila path yang menjadi target sudah ada, sedangkan apabila belum ada maka perintah tersebut akan eror. Untuk menghindari hal tersebut maka diberikan opsi -p, yang berarti membuat parent. Opsi -p tersebut digunakan agar apabila path yang digunakan belum ada, maka path tersebut akan dibuat dengan membuat direktorinya. Contohnya adalah sbb,

#mkdir -p /usr/src/linux/kernel/kernelbaru
#mkdir -p /usr/data/data1/data2/data3

Dalam menggunakan perintah mkdir harus diperhatikan penggunaan spasi antar argumnent, karena tanda spasi diantara dua argument atau lebih bisa berarti nama direktori, misalnya perintah berikut berarti membuat direktori satu dan direktori dua.

#mkdir satu dua

rmdir
perintah rmdir digunakan untuk menghapus sebuah direktori. Syara sebuah direktori bisa dihapus dengan perintah ini adalah direktori yang akan dihapus harus terlebih dulu tidak mempunyai isi.

Contoh
#rmdir satu
#rmdir data

apabila akan menghapus direktori yang masih mempunyai isi dan seluruh isinya juga
akan dihapus maka digunakan perintah rm dengan opsi -rf.

#rm -rf dua

Manajemen File

Cp

perintah yang digunakan untuk mengcopy atau menyalin file dan atau direktori dari satu direktori ke direktori lain.
Contoh
#cp /bin/ls /home/user/bin/ls
#cp /bin/ls .

Secara default file yang disalin akan mempunyai nama sama dengan sumbernya, kecuali nama ditentukan berbeda seperti berikut.

#cp /bin/ls /home/user/bin/listfile

Beberapa opsi yang digunakan dalam perintah adalah ;
Parameter               Keterangan
-f                              Mengopy file tanpa meminta konfirmasi jika file tujuan telah ada dan akan langsung menggantikannya dengan sumber yang diberikan.
-rf                            Mengopy secara rekursif strukrut file dan direktori
-v                             Menampilkan proses pengopyan

Contoh menyalin direktori /bin dan seluruh isinya ke direktori /home/user
#cp -r /bin /home/user

mv

Printah mv digunakan untuk memindahkan file atau direktori dari satu direktori ke
direktori lain,misalnya.

#mv tes.txt /tmp

Apabila yang dipindah adalah direktori dan seluruh isinya, maka harus digunakan opsi rekursif (-r), seperti berikut

#mv -rf /home/user/data /tmp

Perintah mv juga dapat digunakan untuk mengganti nama file, seperti contoh berikut.

#mv tes.txt coba.txt

rm

Perintah rm digunakan untuk menghapus file atau direktori. Sama seperti perintah lain apabila yang akan dihapus adalah sebuah direktori yang mempunyai isi, maka harus digunakan opsi -r.

contoh :
#rm test.txt
#rm -rf /home/user/data


Touch

Perintah touch digunakan untuk membuat file kosong. Contohnya adalah
#touch coba.txt

Perintah touch juga dapat digunakan untuk mengubah atribut waktu file dan
menggantikan waktu yang sudah ada.

#ls -l coba.txt
-rw-rw-r-- 1 opic opic 0 Nov 24 20:49 coba.txt
#touch -t 07071010 coba.txt
#ls -l coba.txt
-rw-rw-r-- 1 opic opic 0 Jul 7 10:10 coba.txt

Pwd

Perintah pwd digunakan untuk menampilkankan path direktori kerja yang sedang aktif digunakan user.

#pwd
/home/opic


Manajemen Proses

Sama halnya dengan sistem operasi lainnya, GNU/Linux juga melakukan proses inisialisasi sistem ketika proses boot berjalan. Kita dapat melihat banyak sekali proses yang di jalankan pada saat melakukan booting. Hal itu terjadi karena GNU/Linux adalah sistem operasi yang multi tasking sehingga memungkinkan untuk dapat menjalankan banyak proses. Manajemen proses sangat diperlukan untuk stabilitas, keamanan, realibilitas dan availibilitas sistem. Setiap proses pada sistem operasi GNU/Linux mempunyai indetitas yang unik yang di sebut dengan PID (Proses ID).

Status proses

Proses pada sistem operasi GNU/Linux dapat dipantau statusnya dengan menggunakan
perintah ps, pstree atau top. Dengan utilitas-utilitas tersebut maka dapat dengan mudah melakukan pengawasan terhadap proses-proses yang berjalan pada sistem operasi Linux.

ps

Digunakan untuk melihat informasi status proses sistem seperti proses apa saja yang sedang aktif yang berjalan pada sistem, siapa pemilik proses tersebut, beralama proses tersebut berjalan dan sampai dengan memberikan informasi pengenal pada setiap proses yang dijalankan.

Contoh;
$ ps
PID TTY TIME CMD
3311 pts/1 00:00:00 bash
3384 pts/1 00:00:00 ps

pstree
Sama halnya dengan perintah ps, pstree juga mempunyai fungsi yang sama untuk melihat status dari proses yang berjalan pada sistem. Tetapi informasinya di perlihat dengan bentuk tree (pohon).

Parameter               Keterangan
A                              Menampilkan semua proses, seperti PID, nama TTY, waktu, dan perintah yang menjalankan proses tersebut
T                              Menampilkan semua proses pada terminal aktif
R                             Menampilkan proses yang sedang berjalan
P                              PID Menampilkan informasi proses dengan nomor PID


top

Perintah ini juga mempunyai fungsi yang sama dengan kedua perintah diatas, tetapi perintah top lebih menawarkan interaktivitas dengan tampilan yang lebih menyenangkan, kita akan lebih mudah dalam melihat status proses. Sebenarnya perintah top akan memberikan informasi secara realtime mengenai penggunaan CPU dari proses yang dijalankan oleh sistem.

Parameter               Keterangan
p PID                       Menampilkan informasi penggunaan resouce sistem untuk proses
dengan pengenalan PID. Tidak bisa diatur pada modus interaktif top
S                              Menjalankan top dengan modus tingkat keamanan lebih tinggi.




Gambar 4. Tampilan Top


kill

Untuk mematikan sebuah proses, maka perlu dilakukan pengiriman sinyal dengan perintah kill terhadap proses yang akan dimatikan. Sinyal sendiri adalah sesuatu yang dikenakan pada proses, proses sendiri dapat merespon atau bahkan menolak sinyal yang dikirimkan kepadanya. Perintah yang dapat digunakan adalah untuk mengirimkan sinyal adalah kill. Penggunakan kill untuk mematikan suatu proses seperti contoh berikut:

$kill -KILL 100
$kill 100


Utilitas Teks Editor

Text Editor VI
Linux memiliki banyak software aplikasi yang siap digunakan untuk keperluan sehari-hari mulai dari untuk meng-edit text, manajemen file, manajemen proses, dan lain sebagainya. Kali ini kita akan bahas salah satu software text editor yang sangat popular di GNU/Linux atau Unix. Text editor ini dinamakan dengan VI. Kenapa VI karena secara standar instalasi Linux akan mempaketkan aplikasi teks editor ini. Selain VI banyak paket aplikasi teks editor lainnya seperti pico, emacs, dan lain sebagainya.

Langkah awal menjalankan VI adalah:

Ketikkan vi atau vi nama_file sebagai contoh nama file yang kita gunakan coba1
$vi coba1

Akan tampil layar kerja teks editor. Namun untuk memulai menulis teks pada layar kerja
kita harus menekan tombol I atau insert terlebih dahulu, karena vi mengenal dua masukan yaitu masukan perintah dan masukan teks.

Perintah                                   Keterangan
:w                                            Menyimpan hasil penyuntingan atau editing
:w                                            nama_file Menyimpan file dengan nama file tanpa keluar dari menu kerja vi
:wq                                          Menyimpan file dan keluar dari menu vi
:q!                                            Keluar tanpa menyimpan hasil editing
:s/teks1/teks2/                          Ganti potongan teks1 dengan teks2 pada lokasi kursor
:%s/teks1/teks2/g    Ganti semua potongan teks1 dengan teks2 pada semua baris


Hirarki File System Linux

Seperti pada DOS dan Windows, sistem file Linux terdiri atas file-file yang tersusun dalam direktori-direktori. Sebuah sistem file ditandai dengan suatu direktori puncak yang disebut direktori root (root dir). Susunan direktori pada umumnya dapat digambarkan sepert berikut:

Terdapat beberapa direktori penting yang terdapat dalam direktori root. Beberapa
direktori penting tersebut dapat dijelaskan sebagai berikut;

/bin Berisi program-program yang merupakan perintah-perintah dasar administrasi
sistem operasi GNU/Linux.
/dev Berisi file-file device (peralatan periferal, dll.)
/boot berisikan kernel, file-file pendukung pada saat proses booting.
/sbin Berisikan perintah-perintah GNU/Linux yang hanya dapat dijalankan oleh user
root.
/etc Menyimpan file-file konfigurasi dan inisialisasi sistem.
/home Berisi direktori kerja untuk tiap-tiap pemakai,
/lib Berisi file-file library untuk program-program sistem
/proc Merupakan direktori yang berisi kondisi sistem operasi sesungguhnya dan
realtime.
/tmp Direktori sementara
/usr Direktori untuk segala sesuatu yang berorientasi kepada pemakai
/usr/X* Menyimpan file-file yang berhubungan dengan X-Windows
/usr/bin Berisi program-program yang berorientasi kepada pemakai. Program-program ini biasanya menggunakan file-file yang tersimpan di /usr/lib dan /usr/include.
/usr/man Berisi file-file manual on-line
/usr/doc Berisi file-file dokumentasi lainnya
/usr/src Berisi file-file source code kernel Linux atau source code aplikasi lain.
/opt Merupakan direktori opsional yang umumnya digunakan untuk meletakan instalasi
aplikasi baru dari source code atau binari.

Operasi terhadap device GNU/Linux.

Dalam terminologi DOS atau Windows, media penyimpanan harddisk, cdrom dan floppy disk diasosiasikan ke dalam bentuk huruf. Biasanya harddisk diasosiasikan dengan huruf C atau D, floppy disk A atau B dan CDROM E atau setelah pastisi harddisk (C, D). Bagaimana dengan GNU/Linux dalam mengasosiasikan device tersebut ? dalam lingkungan UNIX atau GNU/Linux semua perangkat device (harddisk, floppy disk dan cdrom) dianggap sebagai file. File-file khusus yang merupakan simbol untuk device tersebut di simpan dalam direktori /dev.

Untuk dapat mengakses device di lingkungan GNU/Linux adalah dengan melakukan mount terhadap filesytem yang ada dalam device tersebut. Mount sendiri diproses sehingga filesystem pada device tertentu dapat di baca dan ditulisi melalui mekanisme
mount point tertentu.

#mount /dev/cdrom /mnt/cdrom
#mount - t vfat /dev/hda2 /mnt/windows
#mount -t msdos /dev/fd0 /mnt/floppy
#mount -t ntfs /dev/hdb /mnt/win

Untuk mengakhiri proses mount point tersebut, cukup menambahkan huruf " u " pada
awal kata mount, misalnya :
#umount /dev/hda

Utilitas lain yang dapat digunakan berkaitan dengan device dan filesystem adalah df,
fsck, mkfs dan du.

Df

Digunakan untuk melihat ruang hardisk yang tersisa pada device yang telah di-mounting.

#df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda5 4917648 4305692 362148 93% /
/dev/hda6 3020140 2513944 352780 88% /home
none 127588 0 127588 0% /dev/shm
/dev/hdc 62 62 0 100% /mnt/cdrom
/dev/hda8 2453104 2339312 113792 96% /mnt/data

Untuk memudahkan dalam membaca perintah df dapat diberi beri opsi -h yang berarti
human readable.

#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda5 4.7G 4.2G 354M 93% /
/dev/hda6 2.9G 2.4G 345M 88% /home
none 125M 0 125M 0% /dev/shm
/dev/hdc 62K 62K 0 100% /mnt/cdrom
/dev/hda8 2.4G 2.3G 112M 96% /mnt/data

Du
Digunakan untuk melihat penggunaan disk untuk setiap file dan direktori.

#du
4.0 ./.kde/share/config/session
104 ./.kde/share/config
40 ./.kde/share/applnk/OpenOffice.org 1.1

Opsi human readable juga dapat digunakan untuk perintah du

#du -h
4.0K ./.kde/share/config/session
104K ./.kde/share/config
40K ./.kde/share/applnk/OpenOffice.org 1.1

fsck

Fsck digunakan untuk merawat filesystem dengan melakukan pengecekan dan memperbaiki kesalahan pada file system linux. Filesystem dalam hal ini diwakili oleh nama file device seperti /dev/hda2 atau mount point. Secara default fasck akan melakukan pengecekan pada daftar filesystem yang terdapat pada file /etc/fstab.

Perintah yang digunakan adalah;
#fsck /dev/nama_device
Contoh:
#fsck -t vfat /dev/hda8
fsck 1.32 (09-Nov-2002)
dosfsck 2.8, 28 Feb 2001, FAT32, LFN
Warning: FAT32 support is still ALPHA.
/dev/hda8: 11796 files, 584828/613276 clusters/

Untuk mempersingkat perintah fsck, maka telah disediakan perintah-perintah dengan
nama yang merujuk pada tiap filesystem. Nama tersebut biasa dinamakan dengan
fsck.filsystem, yaitu;

fsck.ext2 untuk tipe filesystem ext2
fsck.jfs untuk tipe filesystem jfs
fsck.reiserfs untuk tipe filesystem reiserfs
fsck.cramfs untuk tipe filesystem cramfs
fsck.ext3 untuk tipe filesystem ext3
fsck.msdos untuk tipe filesystem dos
fsck.vfat untuk tipe filesystem fat32

Untuk menjaga kestabilan filesystem fsck bisa dilakukan secara berkala. Fsck juga akan
secara otomatis melakukan pengecekan apabila sistem dimatikan tidak secara normal dengan shutdown. Fsck sebaiknya dijalankan pada filesystem yang tidak sedang dimount, karena apabila dalam kondisi di-mounting maka kemungkinana kerusakan data akan cukup besar.

Mkfs

Mkfs digunakan untuk membuat filesystem pada device target seperti partisi atau floppy disk. Sebuah device akan dapat dibaca dan digunakan apabila mempunyai filesystem baik yang berasal dari sistem Linux atau sistem yang lain. Pemberian filesystem ini sama dengan perintah format /s pada dos. Perintah mkfs digunakan dengan sintak;

#mkfs -t filesystem device
Contoh :
#mkfs -t vfat /dev/hda8
#mkfs -t ext3 /dev/hda8
#mkfs -t vfat /dev/fd0

Sama seperti fsck, mkfs juga menyediakan penamaan yang akan memudahkan
memberikan filesystem.
mkfs.ext2 untuk tipe filesystem ext2
mkfs.jfs untuk tipe filesystem jfs
mkfs.reiserfs untuk tipe filesystem reiserfs
mkfs.cramfs untuk tipe filesystem cramfs


Konsep hak akses file/direktori.

Ketika sebuah file atau direktori dibuat, maka file / direktori tersebut akan epemilikannya
melekat pada user atau grup tertentu. Selain itu pada file tersebut juga akan melekat tiga hak akses yang berbeda, yaitu membaca (read), menulis (write) dan eksekusi (execute) terhadap pemilik, grup atau user lain. Hak akses tersebut dapat diubah oleh root atau user yang memilikinya. Hal-hal yang berkaitan dengan hak akses file tersebut merupakan kemampuan dasar dalam administrasi sistem operasi GNU/Linux. Mekanisme kepemilikan dan akses file tersebut sangat penting karena Linux bersifat multiuser, sehingga harus ada mekanisme untuk mencegah akses-akses ilegal terhadap
file.
Secara umum pengaturan hak akses atas file / direktori mempunyai prinsip-prinsip
berikut :

  Setiap file selalu dimiliki oleh seseorang yang berhak mengatur hak akses terhadap
file tersebut.
  Hak Akses terbagi menjadi 3 bagian : baca, tulis, dan eksekusi.
Hak akses dapat diberikan terhadap 3 kelompok pemakai, yaitu pemilik file, group pemilik file, dan pemakai lainnya.

Hak akses :
read : r
write : w
executable : x

Kelompok pemakai:
User pemilik : u
Grup : g
User lain : o

Kemudian tanda plus (+) menandakan pemberian hak akses sedangkan tanda minus (-)
menandakan penghapusan hak akses.