Inittab — Perintah Linux / Unix

inittab - format file inittab yang digunakan oleh proses init yang kompatibel dengan sysv

Deskripsi

File inittab menggambarkan proses mana yang dimulai saat boot dan selama operasi normal (mis. /etc/init.d/boot, /etc/init.d/rc, gettys ...). Init (8) membedakan beberapa runlevel , yang masing-masing dapat memiliki serangkaian proses sendiri yang dimulai. Runlevel yang valid adalah 0 - 6 plus A , B , dan C untuk entri ondemand . Entri dalam file inittab memiliki format berikut:

id: runlevels: action: process

Baris yang diawali dengan `# 'diabaikan.

id adalah urutan unik dari 1-4 karakter yang mengidentifikasi entri di inittab (untuk versi sysvinit yang dikompilasi dengan pustaka <5.2.18 atau a.out pustaka, batasnya adalah 2 karakter).

Catatan: Untuk gettys atau proses login lainnya, bidang id harus menjadi akhiran tty dari tty yang sesuai, misalnya 1 untuk tty1 . Jika tidak, akuntansi login mungkin tidak berfungsi dengan benar.

runlevels berisi daftar runlevel dimana tindakan yang ditentukan harus diambil.

tindakan menggambarkan tindakan mana yang harus diambil.

proses menentukan proses yang akan dieksekusi. Jika bidang proses dimulai dengan karakter `+ ', init tidak akan melakukan utmp dan wtmp akuntansi untuk proses itu. Ini diperlukan untuk gettys yang bersikeras melakukan sendiri utmp / wtmp housekeeping. Ini juga bug bersejarah.

Bidang runlevels mungkin berisi beberapa karakter untuk runlevel yang berbeda. Misalnya, 123 menetapkan bahwa proses harus dimulai di runlevel 1, 2, dan 3. Runlevel untuk entri ondemand dapat berisi A , B , atau C. Bidang runlevels dari entri sysinit , boot , dan bootwait diabaikan.

Ketika runlevel sistem diubah, setiap proses yang berjalan yang tidak ditentukan untuk runlevel baru dibunuh, pertama dengan SIGTERM, kemudian dengan SIGKILL.

Tindakan yang valid untuk bidang tindakan adalah:

respawn

Proses akan dimulai kembali setiap kali berakhir (misalnya getty).

Tunggu

Proses akan dimulai satu kali ketika runlevel yang ditentukan dimasukkan dan init akan menunggu penghentiannya.

sekali

Proses akan dijalankan satu kali ketika runlevel yang ditentukan dimasukkan.

boot

Proses akan dijalankan selama boot sistem. Bidang runlevels diabaikan.

boot menunggu

Proses akan dijalankan selama boot sistem, sementara init menunggu terminasi (misal / etc / rc). Bidang runlevels diabaikan.

mati

Ini tidak melakukan apa-apa.

atas permintaan

Sebuah proses yang ditandai dengan runlevel ondemand akan dieksekusi kapan pun runlevel panggilan yang ditentukan dipanggil. Namun, tidak ada perubahan runlevel yang akan terjadi ( ondemand runlevels adalah `a ',` b', dan `c ').

initdefault

Entri initdefault menentukan runlevel yang harus dimasukkan setelah boot sistem. Jika tidak ada, init akan meminta runlevel di konsol. Bidang proses diabaikan.

sysinit

Proses akan dijalankan selama boot sistem . Ini akan dieksekusi sebelum entri boot atau boot menunggu . Bidang runlevels diabaikan.

powerwait

Proses akan dijalankan ketika listrik mati. Init biasanya diberitahu tentang ini oleh suatu proses yang berbicara dengan UPS yang terhubung ke komputer. Init akan menunggu proses selesai sebelum melanjutkan.

powerfail

Sedangkan untuk powerwait , kecuali bahwa init tidak menunggu proses selesai.

powerokwait

Proses ini akan dijalankan segera setelah init diberi tahu bahwa daya telah dipulihkan.

powerfailnow

Proses ini akan dijalankan ketika init diberitahu bahwa baterai UPS eksternal hampir kosong dan daya listriknya mati (asalkan UPS eksternal dan proses pemantauan dapat mendeteksi kondisi ini).

ctrlaltdel

Proses akan dieksekusi ketika init menerima sinyal SIGINT. Ini berarti bahwa seseorang di konsol sistem telah menekan kombinasi tombol CTRL-ALT-DEL . Biasanya orang ingin melakukan semacam shutdown baik untuk masuk ke level single-user atau reboot komputer.

kbrequest

Proses akan dijalankan ketika init menerima sinyal dari pengendali keyboard yang kombinasi tombol khusus ditekan pada keyboard konsol.

Dokumentasi untuk fungsi ini belum lengkap; lebih banyak dokumentasi dapat ditemukan dalam paket kbd-x.xx (yang terbaru adalah kbd-0.94 pada saat penulisan ini). Pada dasarnya Anda ingin memetakan beberapa kombinasi keyboard ke aksi "KeyboardSignal". Misalnya, untuk memetakan Alt-Uparrow untuk tujuan ini, gunakan yang berikut ini dalam file peta kunci Anda:

alt keycode 103 = KeyboardSignal

CONTOH

Ini adalah contoh dari inittab yang menyerupai Linux inittab lama:

# inittab untuk id linux: 1: initdefault: rc :: bootwait: / etc / rc 1: 1: respawn: / etc / getty 9600 tty1 2: 1: respawn: / etc / getty 9600 tty2 3: 1: respawn: / dll / getty 9600 tty3 4: 1: respawn: / etc / getty 9600 tty4

File inittab ini mengeksekusi / etc / rc saat boot dan memulai gettys pada tty1-tty4.

Inittab yang lebih rumit dengan runlevel yang berbeda (lihat komentar di dalamnya):

# Tingkat untuk dijalankan dalam id: 2: initdefault: # Inisialisasi sistem sebelum hal lain. si :: sysinit: /etc/rc.d/bcheckrc # Runlevel 0,6 berhenti dan reboot, 1 adalah mode pemeliharaan. l0: 0: wait: /etc/rc.d/rc.halt l1: 1: wait: /etc/rc.d/rc.single l2: 2345: wait: /etc/rc.d/rc.multi l6: 6: tunggu: /etc/rc.d/rc.reboot # Apa yang harus dilakukan pada "3 finger salute". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf sekarang # Runlevel 2 & 3: getty di konsol, level 3 juga getty di port modem. 1: 23: respawn: / sbin / getty tty1 VC linux 2: 23: respawn: / sbin / getty tty2 VC linux 3: 23: respawn: / sbin / getty tty3 VC linux 4: 23: respawn: / sbin / getty tty4 VC linux S2: 3: respawn: / sbin / uugetty ttyS2 M19200

Lihat juga

init (8), telinit ( 8)

Penting: Gunakan perintah man ( % man ) untuk melihat bagaimana perintah digunakan pada komputer khusus Anda.