Minggu, 13 Desember 2020

Linux Booting Process : Praktikum 10

PRAKTIKUM 10 
Linux Booting Process


  File : Praktikum 10 

Pokok Bahasan :

Linux Booting Process


Tujuan Belajar :

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:

Mengetahui inisialisasi booting proses pada system operasi Linux

Melakukan perubahan inisialisasi booting proses


Dasar Teori :  


1.      PC Boot dan Linux Init Process

Pada praktikum ini membahas PC boot process dan inisialisasi sistem operasi Linux pada aplikasi background (daemons/service).

1. BIOS : Basic Input/Output System adalah antar muka  level  terendah  antara komputer dan peripheral. Bios melakukan pemeriksaan pada memori dan mencari instruksi pada Master Boot Record (MBR) pada floppy atau hard drive.

2. MBR menunjuk ke boot loader (LILO : Linux boot loader)

3. LILO akan menanyakan label sistem operasi yang  akan  mengidentifikasi  kernel  yang dijalankan. Kernel akan menjalankan sistem operasi Linux.

4. Yang pertama kali dikerjakan oleh kernel adalah menjalankan program init. Init adalah root/parent dari semua proses yang dijalankan pada Linux

5. Proses per tama yang memulai init adalah skrip /etc/rc.d/rc/sysinit.

6. Berdasarkan run-level yang ditentukan, skrip dieksekusi  untuk  memulai  proses tertentu untuk menjalankan sistem dan membuat sistem lebih fungsional.


2. Linux Init Process

Proses init adalah langkah terakhir pada prosedur boot dan diidentifikasi sebagai process ide “1”. Init bertanggung-jawab untuk memulai proses sistem seperti yang ditentukan pada file /etc/inittab. Init biasanya memulai “getty” yang menunggu layar   login yang  menandakan proses shell seorang  user. Pada saat shutdown, init mengontrol  urutan dan proses untu shutdown. Proses init tidak pernah shut down. Proses init merupakan proses user dan bukan proses sistem kernel meskipun dijalankan sebagai root.

Proses sistem :

Process ID      Description    

0                      The Scheduler

1                      The init process

2                      kflushd

3                      kupdate

4                      kpiod

5                      kswapd

6                      mdrecoveryd


3.    Prosedur Boot 

Linux mempunyai 6 state operasi dimana “0” adalah  shutdown  state  dan  “3”  keatas adalah operasional penuh dengan semua proses yang esensial dijalankan untuk interaksi user. Berdasarkan sistem boot, Linux sistem akan melakukan :

Mengeksekusi program /sbin/init yang memulai semua proses-proses lain. Program ini akan diberikan ke mesin oleh proses awal yang didefinisikan pada file /etc/inittab

Komputer akan di-booting ke runlevel yang didefinisikan oleh baris initdefault pada file /etc/inittab.

id:5:initdefault:

Pada contoh diatas, runlevel ”5” dipilih. Runlevel “5” akan melakukan booting sistem pada mode GUI menggunakan XDM dan X-Windows. Booting ke runlevel  ”3” (biasanya disebut mode console) biasanya digunakan oleh server yang tidak memerlukan GUI.

File inittab mengijinkan menggunakan kunci (Ctrl-Alt-Del), memulai dial  ke  koneksi internet dll.

Satu dari proses-proses yang dimulai oleh init adalah /sbin/rc. Skrip ini menjalankan sekumpulan skrip pada direktory /etc/rc.d/rc0.d/, /etc/rc.d/rc1.d, /etc/rc.d/rc2.d dan seterusnya.

Skrip pada direktory tersebut dieksekusi pada setiap boot state dari oeprasi sampai menjadi operasi yang lengkap. S krip mulai dengan S yang merupakan skrip startup sedangkan skrip yang dimulai dengan K menandakan skrip shutdown (kill). Angka yang mengikuti huruf tersebut merupakan urutan eksekusi (terendah ke tertinggi)


        Jika Anda menginstall semua daemons (proses bac kground), Linux akan menjalankan semua , menyebabkan mesin lebih lambar. Kita bisa memulai (start) / menghentikan (stop) daemon secara individual dengan mengubah direktory :
/etc/rc.d/init.d (Redhat)
dan diikuti perintah pilihan start, stop, status, restart  atau reload, misalnya untuk stop   web server :
cd /etc/rc.d/init.d 
httpd stop
Gunakan perintah ps – aux untuk melihat semua proses pada mesin Anda.


4. Linux Run Level

Runlevel “3” akan booting dalam mode teks atau console dan “5” akan booting dalam mode gr aphical login.

State pada Runlevel / Halt :

0      shutdown (Do NOT set initdefault to this)

1      Single user mode

2      Multiuser, without NFS (The same as 3, if you do not have networking)

3      Default text start. Full multiuser

4      unused

5      X11

6      Reboot (Do NOT set initdefault to this)

Anda bila melakukan perpindahan level init dengan menggunakan perintah init dengan runlevel tertentu. Gunakan perintah  “init#” dimana # adalah satu dari 0, 1, 3, 5, 6. Dapat juga menggunakan perintah telinit.

Skrip untuk run level yang diberikan dijalankan selama boot  dan  shutdown. Skrip ditemukan pada direktory /etc/rc.d/rc#.d/ dimana simbol # menandakan run level, misalnya run level ”3” akan menjalankan semua skrip pada directory /etc/rc.d/rc3.d/ yang dimulai dengan huruf ”S”  selama  sistem  boot.  Skrip  ini akan menjalankan proses background yang dibutuhkan oleh sistem. Pada saat shutdown semua skrip pada direktory yang dimulai dengan huruf ”K” akan dieksekusi. Sistem ini menyediakan urutan sistem ke state yang berbeda untuk mode produksi  dan maintenance.

TIP : Daftar state dan run level dari semua service dimulai oleh ini : chkconfig –list

GUI tool : /usr/X11R6/bin/tksysv


5.     Aktivasi Skrip Init

Menambah suatu skrip ke direktory /etc/rc.d/rc#.d/ baik prefik S atau K, menambah skrip ke proses boot atau shutdown. Skrip berjalan dengan urutan numerik. S20abc dijalankan sebelum S30xyz. Keberadaan prosedur boot dan shutdown ini merupakan kekuatan sistem operasi UNIX. Inisialisasi proses dengan urutan tertentu dapat dikoordinasikan untuk proses dependent.  Shutdown  dari  proses  biasanya dibutuhkan untuk program yang kompleks misalnya database.  Proses individual dapatkemunginan dimonitore, shutdown dan start pada sembarang waktu menggunakan

skrip tersebut. Misalnya /etc/rc.d/rc2.d/httpd start. Mofidikasi start, stop atau status kemungkinan digunakan.

Skrip start / stop /status berada pada direktory /etc/rc.d/init.d/ adalah suatu  link  ke  direktory  sebenarnya. Link  tersebut  kemungkinan  dibuat  atau dihapus menggunakan perintah chkconfig, misalnya chkconfig –del httpd akan menghapus web server dari proses startup dan shutdown. Sebaliknnya chkconfig – add httpd akan menambahke ke proses  startup/shutdown  dengan  membangkitkan link dari skrip pada /etc/rc.d/init.d/ ke direktory /etc/rc.d/rc#.d/ yang sebenarnya. Untuk informasi lebih lanjut gunakan halaman manual LINUX untuk init.

Pada Red Hat 9.0, GUI tool /usr/bin/redhat-config-services dapat  membantu  untuk mengkonfigurasi service untuk start dan menyediakan deskripsi untuk setiap service yang tersedia. Service dasar meliputi :

Sistem Service

Deskripsi

anacron

Run jobs which were scheduled for execution while computer was

turned off. Catch up with system duties.

arpwatch

Keeps track of IP address to MAC address pairings

atd

Run scheduled batch jobs.

autofs

automounts file systems on demand.

crond

Job sheduler for periodic tasks

gpm

Allows console terminal cut and paste. (Non X-window consoles)

https

Apache web server.

iptables

Firewall rules interface to kernel

keytable

kudzu

Loads se lected keyboard map as set in /etc/sysconfig/keyboard

New harware probe/detection during system boot.

lpd

Network printer services

microcode_ctl

 

 

mysqld

Uploads microcode to kernel and ultimately to the Intle Pentium processor. (Hardware specific.)

Database services

named DNS

name services (Bind)

network

Active network services during system boot.

nfs

Network file system. Unix file sharing services.

nscd

Password and group lookup services for use with network

authentication (NIS, LDAP,...).

ntpd

Network Time Protocol time synchronization services.

random

Random number generation tool used for encryprion

rawdevices

Enables raw IO. Useful for Oracle and software which utilizes this

 

for high speed disk access.

smb

SAMBA: MS/Windows PC file s haring services

syslog

System log file facility.

ypbind NIS

file sharing/authentication infrastructure service.

yppasswd

NIS file sharing/authentication infrastructure service.

xfs

X-Windows font server.

           

    Service utama yang direkomendasikan adalah : anacron, ard, autofs, crond, gpm, iptables, keytable, kudzu, microcode_ctl (Intel32 hardware only), network, random. syslog

Graphics Workstation - add: xfs 

File Server for PC clients - add: smb 

Print Server - add: lpd atau cups

File server Linux/Unix clients - add: nfs, netfs, nfslock, portmap, ypbind, yppasswd, ypserv

Web Server - add: httpd, tux, xinetdi, sshd



6. Skrip Init

Skrip  init  berada  pada  direktory  /etc/rc.d/script-name.  Gunakan perintah chkconfig untuk membangkitkan soft link  ke  direktory  yang  sebenarnya untuk beberapa run level


            


Fungsi skrip bash daemon, killproc dan status dapat ditemukan dalam skrip /etc/rc.d/functions.

Skrip harus dieksekusi untuk menjalankannya (chmod +x script-name) 

Misalnya skrip digunakan untuk memulai dan menghentikan proses seperti

/etc/rc.d/init.d/httpd restart

/etc/rc.d/init.d/httpd stop

/etc/rc.d/init.d/httpd start

atau menggunakan perintah service : 

service httpd restart

service httpd stop

service httpd start

Dua baris dalam skrip yang memungkinkan perintah chkconfig mengontrol skrip untuk proses boot dan shutdown adalah

# chkconfig: 345 85 15

# description: Description of program

Bila menambahkan ke proses booting menggunakan perintah "chkconfig -- add script-name" awal order/priority akan diset 80 sedangkan stop/shutdown diset 15. Proses akan ditambahkan ke runlevel 3, 4, dan 5. Hal ini dapat dilakukan dengan membangkitkan link dari lokasi skrip (/etc/rc.d/init.d/) ke direktori run level : /etc/rc.d/rc#.d/. Nama file dalam directory run level akan menunjukkan apa yang digunakan untuk boot (mulai dengan “S”) atau shutdown (mulai dengan “K”).



7. CHKCONFIG

Perintah chkconfig membangkitkan dan memutuskan link antara direktori /etc/rc.d/init.d/ dan direktori run level /etc/rc.d/rc [0-6].d/ untuk mengontrol inisialisasi proses boot dan proses shutdown.

chkconfig [--level <levels>] <name> on | off | reset >

chkconfig --list

chkconfig --list chkconfig --add <name> 

chkconfig --del <name>

chkconfig --level 0123456 <name> o ff

Contoh :

chkconfig --level 345 httpd on

-apache diberikan 3, 4 dan 5.

chkconfig --add httpd

-memulai web server daemon pada system boot.

chkconfig --del sen dmail

-Tidak memulai sendmail daemon pada system boot.

chkconfig --list ]

-Daftar semua servis dan level init.

chkconfig --list | grep on

- Daftar semua service yang dimulai pada sistem boot


Tugas Pendahuluan :

1. Sebutkan  inisialisasi  proses  apa  saja  yang  dilakukan  oleh system  operasi  Linux pada saat booting?

Jawab :

BIOS:  Basic Input/Output System adalah antar muka level terendah antara komputer
        dan peripheral.  Bios melakukan pemeriksaan pada memori dan mencari instruksi pada
        Master Boot Record (MBR) pada floppy atau hard drive

MBR  menunjuk  ke boot loader (LILO : Linux boot loader)

LILO/GRUB  akan menanyakan label sistem operasi yang akan mengidentifikasi
        kernel yang dijalankan.  Kernel akan menjalankan sistem operasi Linux

Yang pertama kali dikerjakan oleh kernel adalah menjalankan program init.  Init
        adalah root/parent dari semua proses yang dijalankan pada Linux

Proses pertama yang memulai init adalah skrip /etc/rc.d/rc/sysinit

Berdasarkan run-level yang ditentukan, skrip dieksekusi untuk memulai prosestertentu
        untuk menjalankan sistem dan membuat sistem lebih fungsional.

2. Apa yang dilakukan system operasi Linux pada saat booting?

Jawab:

Mounting perangkat – perangkat yang terpasang dan melakukan beberapa inisialisasi proses-proses yang akan berjalan pada system.

3. Apakah  isi  dari  file  /etc/inittab.  Sebutkan  system  proses  yang  dapat  dimasukan  pada variable initdefault dan jelaskan maksudnya.

Jawab:

Berisi perintah – perintah untuk memulai system. Computer setelah selesai melakukan inisialisasi selanjutnya akan di booting ke run level yang didefinisikan oleh intidefault.

4. Apa   yang   dimaksud   run   level   pada   linux?   Sebutkan   perbedaan   file   pada /etc/rc.d/rc#.d/ yang menggunakan awalan “S” dan awalan “k”.

Jawab:

Run  level  pada  linux  adalah  proses  kelanjutan  dari  booting  linux  yang  salah satu  fungsinya  adalah  untuk  booting  untuk  masuk  dalam  mode  teks  atau  GUI. Skrip yang dimulai dengan huruf “S” akan dijalankan selama system boot dan kemudian akan  berjalan  pada background, dan skrip yang berawalan huruf “k”  akan dieksekusi pada saat  shutdown,  system  ini menyediakan urutan  system ke state yang berbeda untuk mode aktivasi skrip init.

5. Apa yang dimaksud perintah service dan chkconfig?

Jawab:

Service  menjalankan  script system  init  dan  berjalan  sebagai  proses  yang  dapat
        diprediksi.

Chkconfig  adalah  perintah  untuk  membangkitkan  soft  link  kedirektori  yang
        sebenarnya untuk beberapa run level.


Percobaan 1: Linux INIT Process

1. Program /sbin/init akan dijalankan pada saat booting.  Eksekusi program ini berdasarkan file /etc/inittab.  Lihatlah isi file /etc/inittab dan perhatikan mode default runlevel pada baris initdefault

Analisa:

Tidak terdapat file /etc/inittab sehingga tidak bisa melihat isi file. 

2. Berdasarkan runlevel yang dipilih, proses init kemudian mengeksekusi skrip startup yang berada pada sub direktory /etc/rc.d.  Skrip yang digunakan untuk run level 0 sampai dengan 6 berada pada sub direktory /etc/rc.d/rc0.d sampai /etc/rc.d/rc6.d.


Analisa:

Run level tidak terdapat di dalam file sub directory /etc/rc.d. Tetapi berada pada sub direktori mereka masing – masing 

3. Setiap nama file pada direktori misalnya /etc/rc.d/rc5.d dimulai dengan huruf “S” merupakan skrip startup sedangkan skrip yang dimulai dengan huruf “K” merupakan skrip shutdown.  Angka yang mengikuti "K" atau "S"menandakan urutan skrip yang dijalankan.  Contohnya ”kudzu” dengan nilai ”05” dijalankan sebelum ”wlan” dengan nilai ”09”

Analisa:

Program ini bisa berjalan jika menggunakan syntax ls /etc/rc5.d. File dimulai dengan huruf “S” yang merupakan skrip startup dan “K” merupakan skrip shutdown. Angka yang mengikuti “S” atau “K” menandakan urutan skrip yang dijalankan dan sesuai abjad. 


Percobaan 2: Menentukan default boot runlevel

Program tidak bisa dijalankan, dikarenakan tidak ada file /etc/inittab. Pada saat mencoba mengetik di  vi /etc/inittab, tidak bisa disave dan tidak bisa keluar dari editor vi kecuali di tutup paksa.


Percobaan 3: Menggunakan Console GUI

1. Kita dapat masuk ke console GUI jika sistem berada pada mode teks.  Pertama ubahlah variabel initdefault pada file /etc/inittab dan ubahlah ke mode 3 atau dengan menggunakan perintah init

# init 3

Analisa:

Pada percobaan ini, perintah init tidak ditemukan pada debian.

2. Metode Manual : Jalankan aplikasi X terminal GUI dengan menjalankan perintah “startx” pada console VGA. Untuk keluar gunakan logout

Analisa:

Perintah startx adalah konsol yang telah diizinkan menjalankan server X. Startx akan menampilkan aplikasi X di terminal GUI

3. Metode Otomatis : Anda dapat menjalankan X terminal GUI setiap kali rebootmenggunakan perintah init.  Anda harus mengedit variabel initdefault” pada file /etc/inittab seperti percobaan 2 agar setiap booting masuk ke mode GUI.  Ubahlah kembali ke mode 5.

# init 5


Analisa:

Perintah # init 5 berfungsi untuk menyetel run-level mesin ke 5, yang berarti eksekusi semua program / layanan yang ditugaskan ke level 5; server X adalah salah satunya.


Percobaan 4 : Menggunakan Virtual Console 

1. Untuk mendapatkan command prompt dapat dilakukan dengan membukaterminal pada Jendela GUI.  Default-nya, Linux menjalankan 6 virtual consol atau TTY session yang dijalankan pada console VGA.  Hal ini didefinisikan dengan statement mingetty pada file /etc/inittab.  Console X terminal GUI membuat virtual console sendiri menggunakan TTY pertama yangtersedia yang tidak dikontrol olehmingetty.  Hal ini menyebabkan GUI berjalan sebagai nomor 7.   Perhatikan baris mingetty pada file/etc/ inittab, virtual console nomor berapa yang dikontrol ?#cat /etc/inittab

Analisa:

Program tidak bisa dijalankan, dikarenakan tidak ada file /etc/inittab.

2. Cobalah masuk ke virtual console menggunakan <CTRL> <ALT> <F1>sampai dengan <F6>.

Ctrl + alt + F1


Ctrl + alt + F2

Kembali ke terminal

Ctrl + alt + F3


Ctrl + alt + F4


Ctrl + alt + F5


Ctrl + alt + F6


Analisa:

Masuk ke virtual console

3. Untuk masuk ke login GUI gunakan <CTL> <ALT> <F7>, hanya jika berada pada run level 5 atau GUI dijalankan setelah ”startx”.

Analisa:

Tidak bisa dilakukan karena hanya muncul layar hitam saja.


Percobaan 5 : Shutdown dan rebooting sistem

1. Perintah init akan mengubah runlevel, untuk shutdown nilainya adalah 0.

# init 0


Analisa : 

Perintah init 0 berfungsi untuk shutdown linux

2. Perintah shutdown menyebabkan efek yang sama.  Opsi ”–y” untuk mengabaikan prompt pesan dan ”– h” untuk halt sistem. Opsi 0 menunjukkan berapa lama menunggu memulai prosedur, dalam hal ini 0 menit.


Analisa : 

Perintah shutdown –hy 0 memunculkan pesan error berupa invalid option

3. Anda juga bisa menggunakan perintah init untuk reboot sistem dengan memasukkan runlevel 6

# init 6


Analisa:

Perintah init 6 berfungsi untuk reboot PC

4. Perintah reboot mempunyai efek yang sama, tetapi juga mengirimkan pesan warning ke semua user


Analisa : 

Perintah reboot berfungsi untuk untuk mereboot/ memulai kembali sistem


5. Reboot juga dapat dilakukan dengan perintah shutdown menggunakan opsi “-r” dan menentukan delai misalnya 10 menit.


Analisa :

Perintah shutdown –ry 0 memunculkan pesan error berupa invalid option


Percobaan 6 : Berpindah ke mode single user

1. Beberapa aktifitas membutuhkan sistem untuk log off semua user, aplikasi dan networking sehingga hanya sistem administrator yang mengakses sistem dari console VGA.  Alasan lainnya adalah untuk memperbaiki password ”root”.

2. Jika sistem berjalan normal, berpindah ke mode single user dapat dilakukandengan perintah init dan memasukkan runlevel 1.  

# init 1

Analisa:

Perintah # init 1 befungsi untuk kembali ke single user mode

3. Perintah diatas tidak memberikan warning ke user dan perintah shutdown tidak mempunyai opsi mode single user.  Hal ini akan muncul dengan menjalankan perintah shutdown dengan delay.

# shutdown 1

Analisa: 

Perintah shutdown 1 berfungsi untuk mematikan linux dengan delay 1 detik.


Percobaan 7 : Berpindah ke mode single user pada layar Grub

Program tidak bisa dijalankan dikarenakan tidak adanya command grub.


Percobaan 8: Berpindah ke default runlevel dari mode single user

Program tidak bisa dijalankan karena perintah bash-2.05b# exit sebab tidak adanya command bash.


Percobaan 9: Memperbaiki password root 

1. Kadangkala anda kehilangan atau lupa pada password root, atau sistem administrator sebelumnya tidak memberi password kepada Anda

2. Masuk ke console VGA dan tekan <CTRL> <ALT> <DEL>. Sistem akan shutdown

3. Reboot sistem dan masuk ke mode single user

4. Setelah masuk ke command prompt, ubahlah password root. Mode single user mengasumsikan orang pada consol sebagai “root”, sehingga anda tidak perlu menentukan nama user “root”

5. Masuk ke default runlevel dengan menggunakan perintah “exit”.

Analisa:

Pada perintah Ctrl + Alt + Del akan masuk ke sistem Processing Security Option pada laptop, maka dari itu saya menggunakan perintah passwd root



Percobaan 10: Menggunakan perintah chkconfig

Program tidak bisa dijalankan dikarenakan perintah chkconfig command tidak terdeteksi



LATIHAN

1. Pada percobaan 1 lihatlah urutan eksekusi pada saat startup dan shutdown pada runlevel 5.

Analisa:

Pada latihan ini tidak bisa diselesaikan dikarenakan tidak adanya file /etc/inittab pada direktori 

2. Laporkan hasil perubahan password pada mode single user  pada  percobaan  9. Gunakan password root “redhat” (jangan lainnya !).

Analisa:

Untuk menganti password pada root, menggunakan perintah passwd root yang di jalankan di dalam su root.

3. Apakah kegunaan menggunakan perintah service  ?   Berikan contoh.


Analisa:

Kegunaan perintah service (file ASCII) ialah menyediakan pemetaan antara nama tekstual untuk layanan internet, yang mendasari nomor port yang ditugaskan dan jenis protokol. Setiap program jaringan harus melihat ke dalam file ini untuk mendapatkan nomor port (dan protokol) untuk layanan. Misalnya seperti untuk dns dan mysql.

4. Apa kegunaan menggunakan perintah chkconfig  ?   Berikan contoh.


Analisa:

Chkconfig memiliki fungsi seperti menambah layanan baru untuk manajemen,menghapus layanan dari manajemen, memeriksa keadaan startup layanan tertentu, daftar informasi startup saat ini untuk layanan, dan mengubah informasi startup untuk layanan. Pada latihan ini saya tidak dapat memberikan contoh dikarenakan chkconfig command tidak tersedia


KESIMPULAN

Pada praktikum kali ini terbagi menjadi 7 bagian yang bila disimpulkan didapatkan hasil :

1. PC Boot dan Linux Init Process adalah boot process dan inisialisasi sistem operasi Linux pada aplikasi background (daemons/service)

2. Linux Init Process adalah langkah terakhir pada prosedur boot dan diidentifikasi sebagai process ide “I”.

3. Prosedur Boot yang dimana linux mempunyai 6 state operasi dimana “0”  adalah shutdown state dan “3” keatas adlaah operasional penuh dengan semua proses yang esensial dijalankan untuk interaksi user

4. Linux Run Level dimana berisi tentang runlevel

5. Aktivasi Skrip Init yang dimana menambah suatu ke direktori /etc/rc.d/rc#.d/ baik prefik S atau K, menambah skrip ke proses boot atau shutdown

6. Skrip Init berada pada direktori /etc/rc.d/script-name

7. Chkconfig membangkitkan dan memutuskan link antara direktori /etc/rc.d/init.d/ dan direktori run level /etc/rc.d/rc[0-6].d/ untuk mengontrol inisialisasi prosees boot dan proses shutdown 


Tidak ada komentar:

Posting Komentar