Perintah inittab-Linux / Unix

inittab - format fail inittab yang digunakan oleh proses init bersesuaian sysv

Penerangan

Fail inittab menerangkan proses mana yang bermula pada bootup dan semasa operasi normal (mis. /etc/init.d/boot, /etc/init.d/rc, gettys ...). Init (8) membezakan pelbagai runlevels , masing-masing yang boleh mempunyai satu set proses yang dimulakan. Runlevels sah adalah 0 - 6 ditambah A , B , dan C untuk entri masuk. Kemasukan dalam fail inittab mempunyai format berikut:

id: runlevels: tindakan: proses

Garis yang bermula dengan `# 'diabaikan.

id adalah urutan unik 1-4 aksara yang mengenal pasti entri dalam inittab (untuk versi sysvinit disusun dengan pustaka <5.2.18 atau perpustakaan a.out had ialah 2 aksara).

Nota: Untuk gettys atau proses log masuk yang lain, medan id hendaklah menjadi akhiran tty tty yang sepadan, misalnya 1 untuk tty1 . Jika tidak, perakaunan log masuk mungkin tidak berfungsi dengan betul.

runlevels menyenaraikan runlevels yang mana tindakan yang dinyatakan harus diambil.

tindakan menggambarkan tindakan yang patut diambil.

proses menentukan proses yang akan dilaksanakan. Jika medan proses bermula dengan aksara `+ ', init tidak akan melakukan utmp dan wtmp untuk proses tersebut. Ini diperlukan untuk gettys yang mendesak melakukan kerja utk / wtmp mereka sendiri. Ini juga merupakan bug bersejarah.

Medan runlevels mungkin mengandungi banyak aksara untuk runlevels yang berbeza. Sebagai contoh, 123 menentukan bahawa proses itu harus dimulakan dalam runlevels 1, 2, dan 3. Runlevels untuk entri ondemand mungkin mengandungi A , B , atau C. Bidang runlevels sysinit , boot , dan entri bootwait diabaikan.

Apabila runlevel sistem ditukar, sebarang proses berjalan yang tidak ditentukan untuk runlevel baru terbunuh, pertama dengan SIGTERM, kemudian dengan SIGKILL.

Tindakan sah untuk bidang tindakan adalah:

respawn

Proses ini akan dimulakan semula apabila ia tamat (misalnya getty).

tunggu

Proses ini akan bermula sekali apabila runlevel yang dinyatakan dimasukkan dan init akan menunggu penamatannya.

sekali

Proses akan dilaksanakan sebaik sahaja runlevel yang dinyatakan dimasukkan.

boot

Proses ini akan dilaksanakan semasa boot sistem. Medan runlevels diabaikan.

bootwait

Proses ini akan dilaksanakan semasa boot sistem, manakala init menunggu penamatannya (mis. / Etc / rc). Medan runlevels diabaikan.

off

Ini tidak apa-apa.

permintaan

Proses yang ditandakan dengan runlevel ondemand akan dilaksanakan apabila runlevel ondemand yang dipanggil dipanggil. Walau bagaimanapun, tiada perubahan runlevel akan berlaku ( ondemand runlevels adalah `a ',` b', dan `c ').

initdefault

Kemasukan initdefault menentukan runlevel yang harus dimasukkan setelah boot sistem. Jika tiada, init akan meminta runlevel pada konsol. Medan proses diabaikan.

sysinit

Proses ini akan dilaksanakan semasa boot sistem . Ia akan dilaksanakan sebelum penyertaan boot atau bootwait . Medan runlevels diabaikan.

powerwait

Proses ini akan dilaksanakan apabila kuasa turun. Init biasanya dimaklumkan mengenainya dengan proses bercakap dengan UPS yang disambungkan ke komputer. Init akan menunggu proses selesai sebelum meneruskan.

powerfail

Bagi powerwait , kecuali bahawa init tidak menunggu proses selesai.

powerokwait

Proses ini akan dilaksanakan sebaik sahaja init diberitahu bahawa kuasa telah dipulihkan.

powerfailnow

Proses ini akan dilaksanakan apabila init diberitahu bahawa bateri UPS luaran hampir kosong dan kuasa gagal (dengan syarat UPS luaran dan proses pemantauan dapat mengesan keadaan ini).

ctrlaltdel

Proses akan dilaksanakan apabila init menerima isyarat SIGINT. Ini bermakna seseorang di konsol sistem telah menekan kombinasi kekunci CTRL-ALT-DEL . Biasanya seseorang mahu melaksanakan beberapa jenis shutdown sama ada untuk masuk ke tahap pengguna tunggal atau untuk reboot mesin.

kbrequest

Proses akan dilaksanakan apabila init menerima isyarat dari pengendali keyboard yang kombinasi utama khas ditekan pada keyboard konsol.

Dokumentasi untuk fungsi ini belum lengkap; lebih banyak dokumentasi boleh didapati dalam pakej kbd-x.xx (paling terkini ialah kbd-0.94 pada masa penulisan ini). Pada dasarnya anda mahu memetakan beberapa kombinasi papan kekunci ke tindakan "KeyboardSignal". Sebagai contoh, untuk memetakan Alt-Uparrow untuk tujuan ini, gunakan perkara berikut dalam fail keymaps anda:

alt keycode 103 = KeyboardSignal

CONTOH

Ini adalah contoh inittab yang menyerupai inittab Linux lama:

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

Fail inittab ini melaksanakan / etc / rc semasa boot dan mula gettys pada tty1-tty4.

Inittab yang lebih terperinci dengan runlevels yang berbeza (lihat ulasan di dalamnya):

# Tahap untuk dijalankan dalam id: 2: initdefault: # Inisialisasi sistem sebelum apa-apa lagi. si :: sysinit: /etc/rc.d/bcheckrc # Runlevel 0,6 adalah berhenti dan reboot, 1 adalah mod penyelenggaraan. l0: 0: tunggu: /etc/rc.d/rc.halt l1: 1: tunggu: /etc/rc.d/rc.single l2: 2345: tunggu: /etc/rc.d/rc.multi l6: 6: tunggu: /etc/rc.d/rc.reboot # Apa yang perlu dilakukan pada "3 jari salut". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf now # Runlevel 2 & 3: getty pada konsol, level 3 juga getty pada 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 arahan lelaki ( % man ) untuk melihat bagaimana arahan digunakan pada komputer tertentu anda.