HAFIDUN
2007420066
RUN LEVEL
RunLevel pada UNIX/Linux
Run level dapat di anggap status jalannya (larinya) daripada sebuah mesin.
Pada unix di definisikan 6 run level yang terbagi atas:
* runlevel 0: halt
* runlevel 1: single user mode
* runlevel 2-5: normal, bisa dikustomise sesuai kebutuhan. di debian yg dipakai (default) 2
* runlevel 6: reboot
Maka daripada itu bila mesin berada pada runlevel 0 berarti mesinnya sedang mati alias turned off, sedangkan kalau berada pada runlevel 6 berarti mesin sedang reboot, runlevel 1 single user mode, 2-5 normal.
OO, silakan dicoba dengan account root (tentu saja di mesin sendiri :):
# init 0, bisa digunakan untuk shutdown,
# init 6, maka mesin akan di reboot.
init x, masuk ke run level x
Tiap runlevel mempunyai direktori sendiri-sendiri tempat menyimpan script apa yg mesti dijalankan. Direktori tersebut biasanya di /etc/ (kalau redhat mungkin di /etc/rc.d/). Umpamanya untuk runlevel 0 ada di /etc/rc0.d/, 1 di /etc/rc1.d/ dan seterusnya.
Pada direktori tersebut nama arsip biasanya berbentuk seperti ini:
SXXnamascript atau KXXnamascript
yang merupakan symlink ke /etc/init.d/namascript.
S di situ artinya start, yg berarti init akan menjalankan /etc/init.d/namascript dengan argumen start
K artinya kill, yang berarti init akan menjalankan /etc/init.d/namascript dengan argumen stop
Umpamanya kalau ada arsip bernama S90apache berarti init akan menjalan /etc/init.d/apache start
Saat masuk suatu run level init akan menjalankan terlebih dahulu arsip-arsip yang namanya diawali huruf K kemudian baru yang diawali huruf S. Tapi kan yang namanya diawali K atau S banyak oom? Nah XX itu menyatakan urutan jalannya juga, lebih kecil lebih dulu. Jadi bila ada file S20ssh dan S90apache, maka ssh akan jalan terlebih dahulu.
Trus gimana kalau mau bikin startup script untuk program yang aku buat sendiri? Bikin suatu shell script yg menerima argumen start dan stop. kalau start jalankan programnya, kalau stop shutdown programnya. setelah itu simpan di /etc/init.d. (Di debian terdapat arsip /etc/init.d/skeleton yang bisa dijadikan starting poin). Setelah itu buat symlink2 berikut (misalnya nama scriptnya programku):
* ln -s /etc/init.d/programku /etc/rc2.d/S90programku
* ln -s /etc/init.d/programku /etc/rc0.d/K10programku
* ln -s /etc/init.d/programku /etc/rc1.d/K10programku
* ln -s /etc/init.d/programku /etc/rc6.d/K10programku
ganti rc2.d dengan runlevel yg sesuai (biasanya defaultnya mesin: grep initdefault /etc/inittab Kenapa S-nya 90 K-nya 10? nggak papa sebenarnya, tapi kalau menurut hemat aku sih, kalau jalan-nya belakangan, ya mati-nya mesti dulu (LIFO). Lalu di rc0-6 dibuat K karena kita ingin bila mesin di shutdown/restart/masuk single user mode, maka program distop dulu.
LILO/GRUB
Apa Itu LILO?
Untuk memuat kernel diperlukan sebuah program loader khusus. RedHat telah menyediakan sebuah program yang dinamakan LILO atau Linux Loader (Werner Almesberger). LILO digunakan untuk mesin Intel-compatible, sedangkan mesin lain seperti Digital Equipment Corp. menggunakan MILO. Alpha PC, SPARCH-compatible dapat menggunakan SILO.
Saya menggunakan LILO karena mesin saya adalah Intel-compatible.
Pada saat instalasi RedHat Linux ada pilihan untuk menginstalasi LILO Bila saat instalasi pilihan ini dilewati atau Skip, LILO bisa di instalasi sekarang dengan perintah /sbin/lilo.
Disamping dengan LILO, kernel juga dapat dimuat dari DOS dengan menggunakan program LOADLIN.EXE. Cara yang mudah adalah mencopy kernel dan LOADLIN. EXE ke partisi DOS, lalu untuk memboot komputer cukup dengan mengetikkan perintah ini dari prompt DOS:
c:loadlin c:vmlinuz root=/dev/hda3 ro
/dev/hda3 bisa diganti sesuai dengan partisi root Linux.
Instalasi
LILO dapat diistalasi dan ditempatkan pada salah satu partisi sbb:
Master Boot Record (MBR) dari hard disk.
Root Partisi Linux.
Floppy disk.
Untuk menginstalasinya sangat mudah yaitu dengan perintah lilo (terdapat di direktori /sbin). Dokumentasinya dapat dibaca di /usr/doc. Ada shell script, QuickInst yang digunakan untuk mengganti LILO yang telah di instalasi.
Edit dan konfigurasi sesuai kebutuhan file /etc/lilo.conf
Jalankan /sbin/lilo untuk mengaktifkannya
Beberapa file akan berubah selama instalasi LILO, berikut ini file-file yang dibuat atau berubah selama instalasi LILO:
/sbin/lilo -- map installer; keterangan lihat man lilo
/boot/boot.b -- boot loader
/boot/map -- boot map, berisi lokasi kernel
/etc/lilo.conf -- file konfigurasi LILO
Untuk mencegah kerusakan sistem atau sistem tidak bisa di boot maka sebaiknya buat dulu emergency boot disk
Konfigurasi
Sebelum mengkonfigurasi LILO, sebaiknya mengetahui sistem operasi yang ada di setiap partisi hard disk serta menentukan partisi untuk meletakkan LILO. Pada umumnya LILO diletakkan pada MBR. Bila ada sistem lain seperti OS/2, sebaiknya LILO diletakkan pada superblock partisi root karena MBR akan ditempati boot loader OS/2.
Bila Linux satu-satunya sistem operasi yang ada di hard disk atau memiliki sistem operasi Windows 95/NT, LILO bisa diletakkan di MBR. Perhatikan partisi masing-masing dengan cermat, misal Windows di /dev/hda1 dan Linux di /dev/hda2.
Umumnya LILO di instalasi setelah partisi hard disk dibuat dan setelah sistem operasi Linux atau yang lain sudah di instalasi.
Mengedit lilo.conf
Login sebagai root sebelum mengedit file ini. Buka dengan sembarang editor teks ASCII, misal vi.
Contoh file lilo.conf:
# Start LILO global section
Boot = /dev/hda
Prompt
Vga = normal
Ramdisk = 0
# End LILO global section
image = /vmlinuz
root = /dev/hda3
label = linux
other = /dev/hda1
label = dos
tabel = /dev/hda
Parameter selengkapnya:
boot=
memberitahu device yang memiliki boot sector. Boot sector dibaca dari device ini dan di mount sebagai root.
linear
Mengenerate linear sector addrress. Lihat dokumentasi LILO.
install=
Menginstal file yang telah ditentukan sebagi boot sector yang baru. Jika install tidak dipakai, /etc/lilo/boot.b dipakai sebagi default.
message=
Untuk menampilkan file teks, besarnya maksimum 65,535 byte.
verbose=
Menampilkan progress reporting. Option lain seperti -v dan -q. Lihat dokumentasi LILO.
backup=
Menyalin boot sector asli ke file .
force-backup
Sama dengan backup. Option ini menimpa salinan backup yang telah dibuat dan akan mengabaikan option backup bila keduanya dipakai.
prompt
Meminta masukan saat boot.
timeout=
Mengeset waktu tunggu keyboard sebelum menjalankan option berikutnya. Defaultnya 5 detik. Masukkan value 0 jika ingin LILO menunggu sampai ada masukkan dari keyboard.
serial=
Mengijinkan masukan dari serial line dan keyboard ke LILO.
ignore-table
Mengabaikan tabel partisi yang corrupt.
password=
Memasang password untuk melindungi boot images.
Uninstall LILO
Menghapus atau menguninstalasi LILO dari sistem sangat mudah, dengan perintah:
lilo -u
atau dari partisi aktif Linux yang lain atau partisi DOS dengan menggunakan fdisk.
Bila LILO di instalasi sebagai MBR, maka MBR asli sebelum ditempati LILO dapat di restore dengan cara mem-boot sistem dengan DOS, kemudian jalankan.
macam-macam shell
1.Bourne shell
2.Bourne again shell
3.C shell
4.Tenex C shell
5. Korn shell
Bourne shell
Bourne shell atau sh, merupakan shell Unix default pada Unix Version 7 dan menggantikan Thompson shell yang mana nama file eksekusinya adalah sama, yaitu sh juga. Bourne shell dibuat oleh Stephen Bourne dari AT&T Bell Laboratories dan pertama kali dirilis pada tahun 1977 pada rilis UNIX Version 7 dan didistribusikan ke kalangan universitas. Shell ini akhirnya menjadi shell default pada Unix yang populer. Program binary dari Bourne shell terletak pada direktori /bin/sh pada sebagian besar versi Unix.
Tujuan utama dibuatnya Bourne shell ini adalah untuk memanfaatkan fitur yang ada pada kernel Version 7 saat itu, yaitu:
List (argumen) parameter yang lebih besar, yang mana pada versi sebelumnya hanya terbatas sampai 127 bytes dan pada Version 7 ini dibatasi sampai dengan 8192 bytes.
Adanya environment variables. Fitur yang baru ada pada Version 7 ini bisa berguna untuk pertukaran informasi bagi program ketika sistem berjalan pertama kali.
Bourne shell juga pertama kali memperkenalkan fitur konvensi penggunaan file descriptor for error message, yang mana hal ini akan membolehkan kontrol secara program yang lebih luas selama proses scripting dengan jalan menjaga agar error message selalu terpisah dengan data.
Meskipun awalnya Bourne shell ditujukan sebagai sebuah command interpreter yang interaktif, tetapi Bourne shell mendapatkan popularitasnya sebagai suatu scripting language, apalagi dengan adanya publikasi buku yang berjudul The UNIX Programming Environment oleh Brian W. Kernighan dan Rob Pike. Ini merupakan buku komersial pertama yang membeberkan shell sebagai sebuah bahasa pemrograman dalam bentuk tutorial.
Selain Bourne shell, ada pula C shell (csh) yang didistribusikan dengan 4.1 BSD dan memanfaatkan fitur job control yang ada pada kernel BSD. Job control adalah suatu kemampuan untuk menghentikan sebuah program secara interaktif dan kemudian merestartnya pada beberapa waktu kemudian. Ini merupakan alasan dimana kemudian C shell mendapatkan popularitasnya sebagai suatu command interpreter. C shell menggunakan sintaks yang "seperti bahasa C" dalam pemrogramannya, tetapi ia tidak kompatibel dengan Bourne shell.
Selain C shell, ada pula Korn shell (ksh) yang ditulis kemudian oleh David Korn. Shell ini merupakan jalan tengah antara kedua shell sebelumnya, dimana sintaks lebih banyak mengacu pada Bourne shell dan fitur job controlnya banyak diambil dari C shell.
Shell yang lainnya adalah Bash, atau yang dikenal dengan Bourne-Again shell yang kemudian dibangun untuk GNU project. Shell ini mengambil fitur-fitur yang ada pada Bourne shell, csh dan ksh.
Bourne-Again shell
Bourne-Again shell lebih sering disebut dengan bash. Bash ini salah program dalam GNU Project yang menjadi shell yang paling banyak digunakan pada lingkungan *NIX. Bourne-Again shell merupakan pengembangan dari Bourne shell. Namanya diambil dari penciptanya, yakni Stephen Bourne. bash sendiri kemudian dikembangkan Brian Fox.
Saat ini, bash menjadi script' primer pada sistem Linux dan telah disertakan pula di Mac OS X Tiger.
C shell
C shell, yang di sebut sebagai csh, merupakan bagian dari Berkeley UNIX, yang dibuat untuk mengatasi keterbatasan dari shell Bourne terdahulu. Shell ini bukanlah Bourne Again Shell, yang menggunakan sebuah syntax yang mirip dengan C programming language.
Banyak distribusi linux menyertakan csh sebagaimana tcsh, sebuah versi perbaikan dari csh. Dalam csh, sebuah command “set” atau unset” menetapkan variable dan kata set atau unset harus di ketikkan : % set workdir /home/kaos/work dan % unset workdir.
Script startup dalam C shell mirip dengan yang terdapat pada bash. Sebuah script yang bernama cshrc di jalankan saat sebuah csh session dimulai.
Shell lainnya, termasuk korn shell, atau ksh , dan zsh(sebuah shell dengan sejumlah fitur yang tidak ada pada shell lainnya yang berguna untuk scripting), psh, perl shell, dan ash, yang menggunakan sebuah bahasa baik bagi penggunaan interaktif dan non interaktif.
Untuk mengetahui apakah anda memiliki shell ini, ketikkan info ksh, zsh, psh, atau ash dalam sebuah terminal dan lihatlah jika ada info yang muncul. Jika tidak, anda bisa mengakhirinya dengan man ‘shellname’ dan apropos ‘shellname’ untuk mengetahui lebih lanjut.