sysvinit.xml 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
  3. <!ENTITY % general-entities SYSTEM "../general.ent">
  4. %general-entities;
  5. ]>
  6. <sect1 id="ch-system-sysvinit" xreflabel="Sysvinit">
  7. <title>Sysvinit-&sysvinit-version;</title>
  8. <?dbhtml filename="sysvinit.html"?>
  9. <indexterm zone="ch-system-sysvinit"><primary sortas="a-Sysvinit">Sysvinit</primary></indexterm>
  10. <para>The Sysvinit package contains programs for controlling the startup,
  11. running, and shutdown of your system.</para>
  12. <screen>&buildtime; 0.1 SBU
  13. &diskspace; 0.9 MB</screen>
  14. <para>Sysvinit installation depends on: Binutils, Coreutils, GCC, Glibc, Make.</para>
  15. <sect2>
  16. <title>Installation of Sysvinit</title>
  17. <para>When run-levels are changed (for example, when halting the system),
  18. <command>init</command> sends termination signals to those processes that
  19. <command>init</command> itself started and that shouldn't be running in the new
  20. run-level. While doing this, <command>init</command> outputs messages like
  21. <quote>Sending processes the TERM signal</quote> which seem to imply that it is sending these signals to all currently running processes. To avoid this
  22. misinterpretation, you can modify the source so that these messages read like
  23. <quote>Sending processes started by init the TERM signal</quote> instead:</para>
  24. <screen><userinput>cp src/init.c{,.backup}
  25. sed 's/Sending processes/&amp; started by init/g' \
  26. src/init.c.backup &gt; src/init.c</userinput></screen>
  27. <para>Compile Sysvinit:</para>
  28. <screen><userinput>make -C src</userinput></screen>
  29. <para>Then install it:</para>
  30. <screen><userinput>make -C src install</userinput></screen>
  31. </sect2>
  32. <sect2 id="conf-sysvinit"><title>Configuring Sysvinit</title>
  33. <indexterm zone="conf-sysvinit">
  34. <primary sortas="a-Sysvinit">Sysvinit</primary>
  35. <secondary>configuring</secondary></indexterm>
  36. <indexterm zone="conf-sysvinit"><primary sortas="e-/etc/inittab">/etc/inittab</primary></indexterm>
  37. <para>Create a new <filename>/etc/inittab</filename> file by running the
  38. following:</para>
  39. <screen><userinput>cat &gt; /etc/inittab &lt;&lt; "EOF"</userinput>
  40. # Begin /etc/inittab
  41. id:3:initdefault:
  42. si::sysinit:/etc/rc.d/init.d/rc sysinit
  43. l0:0:wait:/etc/rc.d/init.d/rc 0
  44. l1:S1:wait:/etc/rc.d/init.d/rc 1
  45. l2:2:wait:/etc/rc.d/init.d/rc 2
  46. l3:3:wait:/etc/rc.d/init.d/rc 3
  47. l4:4:wait:/etc/rc.d/init.d/rc 4
  48. l5:5:wait:/etc/rc.d/init.d/rc 5
  49. l6:6:wait:/etc/rc.d/init.d/rc 6
  50. ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
  51. su:S016:once:/sbin/sulogin
  52. 1:2345:respawn:/sbin/agetty -I '\033(K' tty1 9600
  53. 2:2345:respawn:/sbin/agetty -I '\033(K' tty2 9600
  54. 3:2345:respawn:/sbin/agetty -I '\033(K' tty3 9600
  55. 4:2345:respawn:/sbin/agetty -I '\033(K' tty4 9600
  56. 5:2345:respawn:/sbin/agetty -I '\033(K' tty5 9600
  57. 6:2345:respawn:/sbin/agetty -I '\033(K' tty6 9600
  58. # End /etc/inittab
  59. <userinput>EOF</userinput></screen>
  60. <para> The -I '\033(K' switch tells agetty to send this escape sequence to
  61. the terminal before doing anything else. This escape sequence switches the
  62. console character set to a user-defined one, which can be modified by
  63. running the <command>setfont</command> program.
  64. Actually, the <command>console</command> initscript from the LFS-Bootscripts
  65. package calls the <command>setfont</command> program during system
  66. startup. Sending this escape sequence is necessary for
  67. people who use non-ISO-8859-1 screen font, but does not hurt native English
  68. speakers.</para>
  69. </sect2>
  70. <sect2 id="contents-sysvinit"><title>Contents of Sysvinit</title>
  71. <para><emphasis>Installed programs</emphasis>: halt, init, killall5, last,
  72. lastb (link to last), mesg, pidof (link to killall5), poweroff (link to halt),
  73. reboot (link to halt), runlevel, shutdown, sulogin, telinit (link to init),
  74. utmpdump and wall</para>
  75. </sect2>
  76. <sect2><title>Short descriptions</title>
  77. <indexterm zone="ch-system-sysvinit halt"><primary sortas="b-halt">halt</primary></indexterm>
  78. <para id="halt"><command>halt</command> normally invokes shutdown with the -h flag,
  79. except when already in run-level 0, then it tells the kernel to halt the system.
  80. But first it notes in the file <filename>/var/log/wtmp</filename> that the
  81. system is being brought down.</para>
  82. <indexterm zone="ch-system-sysvinit init"><primary sortas="b-init">init</primary></indexterm>
  83. <para id="init"><command>init</command> is the mother of all processes. It reads its
  84. commands from <filename>/etc/inittab</filename>, which normally tell it which
  85. scripts to run for which run-level, and how many gettys to spawn.</para>
  86. <indexterm zone="ch-system-sysvinit killall5"><primary sortas="b-killall5">killall5</primary></indexterm>
  87. <para id="killall5"><command>killall5</command> sends a signal to all processes, except
  88. the processes in its own session -- so it won't kill the shell running the
  89. script that called it.</para>
  90. <indexterm zone="ch-system-sysvinit last"><primary sortas="b-last">last</primary></indexterm>
  91. <para id="last"><command>last</command> shows which users last logged in (and out),
  92. searching back through the file <filename>/var/log/wtmp</filename>. It can
  93. also show system boots and shutdowns, and run-level changes.</para>
  94. <indexterm zone="ch-system-sysvinit lastb"><primary sortas="b-lastb">lastb</primary></indexterm>
  95. <para id="lastb"><command>lastb</command> shows the failed login attempts, as logged
  96. in <filename>/var/log/btmp</filename>.</para>
  97. <indexterm zone="ch-system-sysvinit mesg"><primary sortas="b-mesg">mesg</primary></indexterm>
  98. <para id="mesg"><command>mesg</command> controls whether other users can send
  99. messages to the current user's terminal.</para>
  100. <indexterm zone="ch-system-sysvinit pidof"><primary sortas="b-pidof">pidof</primary></indexterm>
  101. <para id="pidof"><command>pidof</command> reports the PIDs of the given programs.</para>
  102. <indexterm zone="ch-system-sysvinit poweroff"><primary sortas="b-poweroff">poweroff</primary></indexterm>
  103. <para id="poweroff"><command>poweroff</command> tells the kernel to halt the system and
  104. switch off the computer. But see halt.</para>
  105. <indexterm zone="ch-system-sysvinit reboot"><primary sortas="b-reboot">reboot</primary></indexterm>
  106. <para id="reboot"><command>reboot</command> tells the kernel to reboot the system.
  107. But see halt.</para>
  108. <indexterm zone="ch-system-sysvinit runlevel"><primary sortas="b-runlevel">runlevel</primary></indexterm>
  109. <para id="runlevel"><command>runlevel</command> reports the previous and the current
  110. run-level, as noted in the last run-level record in
  111. <filename>/var/run/utmp</filename>.</para>
  112. <indexterm zone="ch-system-sysvinit shutdown"><primary sortas="b-shutdown">shutdown</primary></indexterm>
  113. <para id="shutdown"><command>shutdown</command> brings the system down in a secure way,
  114. signaling all processes and notifying all logged-in users.</para>
  115. <indexterm zone="ch-system-sysvinit sulogin"><primary sortas="b-sulogin">sulogin</primary></indexterm>
  116. <para id="sulogin"><command>sulogin</command> allows the superuser to log in. It is
  117. normally invoked by init when the system goes into single user mode.</para>
  118. <indexterm zone="ch-system-sysvinit telinit"><primary sortas="b-telinit">telinit</primary></indexterm>
  119. <para id="telinit"><command>telinit</command> tells init which run-level to enter.</para>
  120. <indexterm zone="ch-system-sysvinit utmpdump"><primary sortas="b-utmpdump">utmpdump</primary></indexterm>
  121. <para id="utmpdump"><command>utmpdump</command> displays the content of the given login
  122. file in a friendlier format.</para>
  123. <indexterm zone="ch-system-sysvinit wall"><primary sortas="b-wall">wall</primary></indexterm>
  124. <para id="wall"><command>wall</command> writes a message to all logged-in users.</para>
  125. </sect2>
  126. </sect1>