Senin, 02 Januari 2017

Startup and Shutdown Linux

Selama proses booting, Linux akan memanggil sebuah loader yang disebut dengan LILO (belakangan juga muncul loader bernama GRUB), yang kemudian akan memanggil sebuah program yang bernama dengan nit. Program init inilah yang kemudian akan memeriksa file-file inisialisasi sistem, lokasi file-file tersebut berada, dan menjalankan Linux sesuai dengan default run level yang digunakan.
Startup

Proses startup dimulai ketika sistem sudah memanggil LILO dan proses booting sudah diserahkan pada sebuah program induk yang disebut dengan init. Pada hampir kebanyakan distribusi Linux, proses startup mengikuti aturan-aturan seperti berikut :  
     1. Eksekusi LILO
   2. LILO Memuat secondary loader pada /boot/chain.b /boot/chain.b menjalankan Kernel Linux. Sampai pada bagian ini, seorang pengguna akan melihat tampilan pesan pada layar seperti menjalankan daemon, memerika integritas perangkat keras, dan
sebagainya.
    3. Kernel menyerahkan tugasnya kepada init.
    4. Init menjalankan berbagai program di belakang layar yang dibutuhkan oleh seorang user untuk login ke dala sistem.
    5. Init memanggil program yang digunakan untuk login.


Proses Startup pada tiap Distribusi
Setelah init mengambil alih tugas booting sistem dari LILO atau GRUB, init akan menjalankan sistem sesuai dengan default run level yang digunakan. Pada beberapa distribusi, penanganan run level ini berbeda satu dengan lainnya.

Run Level pada Linux :  
a. 0 Halt
Run Level 0 : /etc/rc.d/rc0.d
Seperti yang anda lihat pada tabel diatas, run level 0 akan menjalankan sekumpulan script yang digunakan untuk shutdown. Script pada run level ini akan menjalankan proses seperti berikut :
1. Mematikan semua proses yang sedang berjalan.
2. Mematikan file virtual memory yang di swap.
3. Melakukan proses unmounting swap dan filesistem yang di mount.
b. 1 Single user mode
Run Level 1: /etc/rc.d/rc1.d
Run Level 1 merupakan single user mode, atau merupakan mode untuk melakukan administrasi, run level ini digunakan seorang sistem administrator untuk melakukan perawatan software.
Untuk masuk kedalam mode ini pada waktu boot ketikkan perintah seperti berikut ini:
     1. boot : linux single 
Dengan demikian akan langsung masuk kedalam run level 1 dengan melewati berbagai argumen yang ada pada kernel.
     2. Multi user, tidak ada NFS
Run Level 2: /etc/rc.d/rc2.d
Runlevel 2 merupakan multiuser mode. Pada run level ini fungsi untuk networking bisa dijalankan kecuali untuk network file system (NFS). Pilihan ini berguna jika anda hanya menjalankan komputer PC anda untuk stand alone.
     3. Full multiuser mode
Run Level 3: /etc/rc.d/rc3.d
Runlevel 3 merupakan default run level yang ada pada file /etc/inittab. Untuk distribusi keluaran akhir seperti redhat 7.0 menggunakan runlevel 5 sebagai defaultnya.
     4. Unused (tidak digunakan)
Run Level 4: /etc/rc.d/rc4.d
Runlevel 4 digunakan sebagai run level yang bisa anda setting kembali untuk menjalankan run level anda sendiri. Dengan demikian anda bisa membuat run level dengan meletakkan file-file yang ingin anda gunakan atau tidak anda gunakan dengan cara membuat file-file yang memiliki simbolik link ke direktori atau file lain yang telah anda pilih.
     5. X11
Run Level 5: /etc/rc.d/rc5.d
Run level 5 digunakan untuk menjalankan aplikasi pada X window. Pada run level ini banyak servis networking yang juga diaktifkan.
     6. reboot
Run Level 6: /etc/rc.d/rc1.d
Run level 6 digunakan untuk reboot sistem. Isi dari direktori pada level ini merupakan link yang sama dengan runlevel 0, akan tetapi pada script yang yang digunakan untuk mematikan sistem diganti dengan script yang digunakan untuk mereboot komputer.

Struktur program init terdiri atas direktori seperti berikut ini :
init.d
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
rc6.d

Tiap-tiap nomor dalam nama direktori memiliki hubungan dengan tiap run level di atas. Tiap direktori berisikan shell script yang berguna untuk menjalankan atau menghentikan servis yang dibutuhkan pada setiap run level. Nama file pada setiap script shell pada masing-masing direktori dimulai dengan huruf S atau K. Huruf S berarti start (Menjalankan proses) dan K berarti Kill (mematikan proses).


K00linuxconf@ | K15numlock@ | K60atd@ | K80random@ | K97sound@
K05keytable@ | K20kheader@ | K60crond@ | K92anacron@ | K99syslog@
K10xfs@ | K30usb@ | K65identd@ | K95harddrake@ | S00killall@
K11drakfont@ | K44rawdevices@ | K75netfs@ | K95kudzu@ | S01halt@

Setiap script hanya bisa menerima perintah yang berasal dari init untuk dijalankan (start) atau berhenti (stop), sebagai contoh jika anda menjalankan perintah untuk menghentikan servis buat sound, maka pada konsol anda ketikkan perintah sebagai berikut :

/etc/rc.d/init.d/sound start

Atau anda hendak menghentikan servis tersebut, yang harus anda lakukan seperti berikut ini :

/etc/rc.d/init.d/sound stop


Shutdown
Berikut ini adalah file-file yang digunakan ketika proses mematikan komputer berjalan :
K00linuxconf -> ../init.d/linuxconf*
K05keytable -> ../init.d/keytable*
K10xfs -> ../init.d/xfs*
K11drakfont -> ../init.d/drakfont*
K15numlock -> ../init.d/numlock*
K20kheader -> ../init.d/kheader*
K30usb -> ../init.d/usb*
K44rawdevices -> ../init.d/rawdevices*
K60atd -> ../init.d/atd*
K60crond -> ../init.d/crond*
K65identd -> ../init.d/identd*
K75netfs -> ../init.d/netfs*
K80random -> ../init.d/random*
K92anacron -> ../init.d/anacron*
K95harddrake -> ../init.d/harddrake*
K95kudzu -> ../init.d/kudzu*
K97sound -> ../init.d/sound*
K99syslog -> ../init.d/syslog*
S00killall -> ../init.d/killall*
S01halt -> ../init.d/halt*
Sumber : http://shalmana.blogspot.co.id/2013/12/startup-dan-shutdown-di-linux.html

Tidak ada komentar:

Posting Komentar