home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd2.bin / docu / ascii / suselxen / slxen-17.txt < prev    next >
Text File  |  2000-03-11  |  43KB  |  845 lines

  1.                                                                                 Chapter 17
  2.                 The SuSE Linux Boot Concept
  3.  
  4. Booting and initializing a UNIX system can challenge even an experienced
  5. system administrator. This chapter gives you a short overview of the SuSE
  6. Linux boot concept.
  7. This concept is much more complex but also more flexible than those used in
  8. some Linux distributions. It is based on the boot concept used for a System V
  9. workstation as described in [Fri93].
  10. The simple words "Uncompressing Linux..." signal that the kernel
  11. is taking control over your hardware. It checks and sets your console1 to
  12. read BIOS settings and to initialize basic hardware interfaces. Next, your
  13. drivers "probe" existing hardware and initialize it accordingly. After checking
  14. the partitions and mounting the root filesystem (assigning it to " / "), the
  15. kernel starts /sbin/init which starts the main system with all its programs and
  16. configurations. The kernel will control the entire system, including hardware
  17. access and the CPU time programs may use.
  18.  
  19.  
  20. 17.1 The init Program
  21.  
  22. The program /sbin/init is responsible for correctly initializing all system pro-
  23. cesses. Thus, it is the father of all processes in the entire system.
  24. init takes a special role: init is started directly by the kernel and resists signal
  25. 9, which normally enables you to kill processes. All further programs are
  26. either started directly by init or by one of its "child" processes.
  27. init is centrally configured via the /etc/inittab file. Here, the so-called
  28. "runlevels" are defined (more about runlevels in the next section). Here it
  29. is also specified what should happen in the various levels. Depending on
  30. the entries in /etc/inittab, several scripts are started by init which, for
  31. reasons of clarity, all reside in the same directory, /sbin/init.d.
  32. The entire process of starting up the system (and shutting down, as well) is
  33. maintained by init. From this point of view, the kernel can be considered
  34. as a "background process" whose task it is to maintain all other processes
  35. and to adjust CPU time and hardware access according to requests from other
  36. programs.
  37.  
  38. 1 Or more precisely, the BIOS registers of graphics cards and output format.
  39.  
  40.                                                                                         395
  41.  
  42.  
  43.  
  44. 17. The SuSE Linux Boot Concept
  45.  
  46.                17.2 Runlevels
  47.  
  48.                In Linux there are so-called runlevels which define how the system is going to
  49.                be started up. After booting, the system starts as defined in /etc/inittab
  50.                in the line initdefault. An alternative to this is assigning a special run-
  51.                level at boot time (e. g., at the LILO prompt): the kernel passes any parame-
  52.                ters which it doesn't need directly to init.
  53.                To change runlevels while the system is running, you can just enter init with
  54.                the appropriate number. Only the super user is allowed to do this:
  55.                      root@earth:/ > init S
  56.                brings you to single user mode which is used for the maintenance and ad-
  57.                ministration of your system. After finishing work in S mode, the system
  58.                administrator can change the runlevel to 2 again by typing:
  59.                      root@earth:/ > init 2
  60.                Now all essential programs are started and users can log in and work with
  61.                the system. The table below gives you an overview of available runlevels.
  62.                Runlevel 1 should not be used on a system whose /usr partition is mounted
  63.                via NFS:
  64.  
  65.  
  66.                 Runlevel Meaning
  67.                 0             Halt
  68.                 S             Single user mode
  69.                 1             Multi-user without network
  70.                 2             Multi-user with network (standard)
  71.                 3             Multi-user with network and xdm
  72.                 4             Unused
  73.                 5             Unused
  74.                 6             Reboot
  75.  
  76.  
  77.                                       Table 17.1: Valid runlevels in Linux
  78.  
  79.                You can halt the system using:
  80.                      root@earth:/ > init 0
  81.                or restart it with:
  82.                      root@earth:/ > init 6
  83.                If you have already installed and configured the X Window System properly
  84.                (Section 8.1 page 208) and want users to log in via a graphical user interface,
  85.                you can easily change the runlevel to 3. You should give it a try first by
  86.                typing:
  87.                      root@earth:/ > init 3
  88.                to see whether the system works as you expected.
  89.  
  90. 396
  91.  
  92.  
  93.  
  94.                                                                                     17.3. Changing Runlevels
  95.  
  96.  With a damaged /etc/inittab, you can end up in a system
  97.  which can not be brought up properly. Therefore, be extremely care-
  98.  ful while editing /etc/inittab!                      ¡ In an emergency you may
  99.  try to enter init=/bin/sh at the LILO boot prompt for directly
  100.  booting into a shell (see Section 21 page 106).                        This looks like:
  101.  boot: linux init=/bin/sh
  102.  
  103. 17.3 Changing Runlevels
  104. Generally, there are a couple of things that happen if you change runlevels.
  105. First, so-called stop scripts of the current runlevel are launched, closing down
  106. some programs which are essential for the current runlevel. Thereafter, start
  107. scripts of the new runlevel are started. Here, in most cases, a number of
  108. programs will be started.
  109. To illustrate this, we will show you a change from runlevel 2 to 3:
  110.  * The administrator (`root') tells init to change run levels:
  111.          root@earth:/ > init 3
  112.  
  113.  * init now consults its configuration file (/etc/inittab) and realizes
  114.     that it should start /sbin/init.d/rc with the new runlevel as a pa-
  115.     rameter.
  116.  * Now rc calls all the stop scripts of the current runlevel, but only for those
  117.     where there is no start script in the selected new run level. In our example,
  118.     these are all the scripts which reside in /sbin/init.d/rc2.d (old
  119.     runlevel was 2) and which start with a `K'.2 The number following `K'
  120.     guarantees a certain order to start, as there are some dependencies which
  121.     have to be taken into consideration.
  122.  * The last thing to start are the start scripts of the new runlevel. These are (in
  123.     our example) in /sbin/init.d/rc3.d and begin with an `S'. The
  124.     same procedure regarding the order in which they are started is applied
  125.     here.
  126.  
  127. If you want to change to the same runlevel which you are already in, init only
  128. checks /etc/inittab for changes and starts the appropriate steps (e. g.,
  129. for starting a getty on another interface).
  130.  
  131. 17.4 Init Scripts
  132. Scripts in /sbin/init.d are divided into two sections:
  133.  * scripts which are executed directly by init. This only applies while boot-
  134.     ing and shutting down the system immediately (power failure or pressing
  135.                       
  136.      Ctrl  +  Alt  +  Del  by the user).
  137.  
  138.  * scripts which are started indirectly by init. This happens when the run-
  139.     level is changed. Generally, /sbin/init.d/rc is executed here, which guar-
  140.     antees the correct order of the relevant scripts.
  141. 2 Names of stop scripts always start with a `K', whereas start scripts always start with an `S'.
  142.  
  143.                                                                                                         397
  144.  
  145.  
  146.  
  147. 17. The SuSE Linux Boot Concept
  148.  
  149.                    All scripts are located in /sbin/init.d. Scripts for changing the run level
  150.                    are also found there but are called via symbolic links from one of the subdi-
  151.                    rectories /sbin/init.d/rc0.d to /sbin/init.d/rc6.d. This is
  152.                    just for clarity reasons and avoids duplicate scripts (e. g., if they are used in
  153.                    several runlevels). Since every script can be executed as both a start and a stop
  154.                    script, these scripts have to "understand" the parameters "start" and "stop".
  155.                    An example: while leaving runlevel 2, /sbin/init.d/rc2.d/K40network
  156.        Example is one script, of many, that is executed. This results in /sbin/init.d/
  157.                    network being executed from /sbin/init.d/rc with the "stop" pa-
  158.                    rameter. When entering runlevel 3, the same script is started, but with the
  159.                    "start" parameter instead of "stop".
  160.                    Links in these runlevel-specific subdirectories simply serve to allocate the
  161.                    scripts to a certain runlevel.
  162.        Boot and Below,we give you a short introduction to the boot and stop scripts that are
  163.        shutdown launched first (or last, respectively) as well as an explanation of the maintain-
  164.                    ing script.
  165.                     * boot
  166.                        Executed while starting the system directly, using init. It is indepen-
  167.                        dent of the chosen runlevel and is only executed once. Here, filesystems
  168.                        are checked, the kernel daemon is launched, some unnecessary files in
  169.                        /var/lock are deleted, and the network is configured for the loopback
  170.                        device (if it has been selected in /etc/rc.config). Furthermore, the
  171.                        system time is set up and Plug and Play hardware is initialized by the
  172.                        isapnp tools.
  173.                        If an error occurs while automatically checking and repairing the filesys-
  174.                        tem, the system administrator can intervene, after first entering the root
  175.                        password.
  176.  
  177.                        The directory /sbin/init.d/boot.d is assigned to this script. All
  178.                        scripts in this directory are executed while the system is booted. This
  179.                        is the right place for your own personal extensions, which should be
  180.                        executed only once.
  181.  
  182.                        Last to be executed is the script boot.local.
  183.                     * boot.local
  184.                        Here, you can enter additional commands to be executed at boot time
  185.                        before changing into a runlevel. It can be compared to AUTOEXEC.BAT
  186.                        on DOS systems.
  187.                     * boot.setup
  188.                        General settings that have to be performed while changing from single
  189.                        user mode to another runlevel.
  190.                        Here, keyboard maps are loaded and the kernel daemon is started, which
  191.                        loads modules automatically.
  192.                     * halt
  193.                        This script is only executed while changing into runlevel 0 or 6. Here, it
  194.                        is executed either as halt or as reboot. Whether the system shuts down or
  195.                        reboots depends on how halt is called.
  196.  
  197. 398
  198.  
  199.  
  200.  
  201.                                               17.5. /etc/rc.config and /sbin/SuSEconfig
  202.  
  203.  * rc
  204.    This script is of overriding importance whenever runlevels are changed.
  205.    It calls the appropriate stop scripts of the current runlevel and the start
  206.    scripts of the newly selected runlevel.
  207.  
  208. You may add your own scripts to this skeleton very easily. A template may Creating
  209. be found in /sbin/init.d/skeleton. To enable a script via /etc/ scripts
  210. rc.config, it is recommended that you create a <START > variable in
  211. this file. Additional parameters should only be added if really needed (refer
  212. to the /sbin/init.d/gpm script for reference).
  213. Now you need to create the links in the corresponding rc?.d to your
  214. script to make sure it is launched when you change runlevels (see above
  215. Section 17.3 page 397 for script names, etc.). The manpage for init.d
  216. (man 7 init.d) gives you all the necessary technical background.
  217.  
  218.  Please handle these scripts with the utmost care! A faulty script may hang
  219.  your machine! See Section 17.2 page 396 if all else fails. . .
  220.  
  221. 17.5 /etc/rc.config and /sbin/SuSEconfig
  222. Practically the entire configuration of SuSE Linux can be done via a central
  223. configuration file called /etc/rc.config. Here, a couple of environment
  224. variables are set which are (amongst others) checked by the init scripts. Each
  225. of the scripts in /sbin/init.d executes /etc/rc.config as a first
  226. step, in order to read the values of those variables which apply to it.
  227.  
  228.  From SuSE Linux 6.0 packages with extensive adjustment options store
  229.  their variables in individual files in the directory /etc/rc.config.d;
  230.  this is the case, for example, with the package sendmail or package i4l
  231.  (ISDN) packages.
  232.  To simplify things, however, we will usually just mention /etc/rc.
  233.  config, even if the file has been moved somewhere else!
  234.  
  235. Moreover, a large number of configuration files can be generated from /etc/
  236. rc.config. This is the task of /sbin/SuSEconfig. If you change the net-
  237. work configuration, for example, the file /etc/resolv.conf will be re-
  238. generated, as it is dependent on the configuration you have made.
  239. So, if you change /etc/rc.config manually, you should invoke
  240. /sbin/SuSEconfig afterwards to make sure all changes to the appropriate con-
  241. figuration files are made at the correct places. If you change the configu-
  242. ration with YaST, you don't have to bother. YaST automatically executes
  243. /sbin/SuSEconfig and updates your configuration files.
  244. This concept enables you to make basic changes to your configuration with-
  245. out having to reboot the system. Since some changes are rather complex,
  246. some programs probably have to be restarted in order for the changes to take
  247. effect. This procedure is explained more fully in network configuration (see
  248. Section 5.2 page 137), where these programs are forced to be restarted using
  249. the command:
  250.  
  251.                                                                                       399
  252.  
  253.  
  254.  
  255. 17. The SuSE Linux Boot Concept
  256.  
  257.                    root@earth:/ > /sbin/init.d/network stop
  258.                    root@earth:/ > /sbin/init.d/network start
  259.                As you can see, you can easily start and stop init scripts by hand.
  260.                Generally, we recommend the following steps for configuring your system:
  261.  
  262.                 * Bring the system into single user mode:
  263.  
  264.                        root@earth:/ > init S
  265.  
  266.                    As an alternative, you can select runlevel 1. Here, you have the possibility
  267.                    of logging in on several consoles:
  268.                        root@earth:/ > init 1
  269.  
  270.                 * Change the configuration file /etc/rc.config as needed. This can
  271.                    be done using an editor of your choice or with YaST in `Changing
  272.                    configuration file' (see Section 17.6).
  273.                 * Execute /sbin/SuSEconfig to make the changes take effect. If you have
  274.                    changed /etc/rc.config via YaST, this is done automatically.
  275.                 * Bring your system back to the previous runlevel:
  276.                        root@earth:/ > init 2
  277.  
  278.                This procedure is mainly relevant if you have changed system-wide settings
  279.                (such as network configuration). It is not necessary to go into single user
  280.                mode for small changes, but it ensures that all relevant programs are correctly
  281.                restarted.
  282.  
  283.                 To categorically disable the automatic configuration of SuSEconfig you
  284.                 need to set the variable <ENABLE SUSECONFIG> in /etc/rc.
  285.                 config (please note Section 17.6). By using selected rc.config vari-
  286.                 ables you may partially disable the auto configuration
  287.  
  288.                17.6 The Variables in /etc/rc.config
  289.                In this section, we describe all the parameters of the system, including their
  290.                default settings. If you don't use YaST to change /etc/rc.config,
  291.                make sure you set "empty" parameters as two quotation marks (e. g.,
  292.                KEYTABLE="") and that you surround parameters that contain a blank
  293.                with quotation marks (parameters consisting of only one word do not have
  294.                to be quoted). In our description, each parameter is given a value in order to
  295.                make its settings as clear as possible:
  296.  
  297.                 * ENABLE SUSECONFIG=yes
  298.                    With this entry you can disable SuSEconfig completely. Please don't con-
  299.                    tact our Installation Support if you have trouble configuring your system
  300.                    after disabling SuSEconfig ;-)
  301.                 * MAIL REPORTS TO=newbie
  302.                    SuSEconfig can mail reports (created by YaST or included in packages)
  303.                    to you. Here you can set the address. If you don't want this feature,
  304.                    simply set it to "".
  305.  
  306. 400
  307.  
  308.  
  309.  
  310.                               17.6. The Variables in /etc/rc.config ¡ System Configuration
  311.  
  312.  * GMT=-u
  313.       If your hardware is set to GMT (Greenwich Mean Time), you should set
  314.       this variable to -u.3 Otherwise, leave it empty. This setting is relevant for
  315.       automatic switching to summer or winter time.
  316.  * TIMEZONE=Europe/Berlin
  317.       Your time zone. Important for automatic switching to summer or winter
  318.       time.
  319.  * LANGUAGE="german" This is set by YaST if changes are made with
  320.       the menu item `Select language' (see Section 3.3.1 page 72). This
  321.       value also serves as a fallback if the variables LANG or LC * are not set;
  322.       in that case the value written here is resolved via the file /usr/share/
  323.       locale/locale.alias.
  324.  * RC LANG="de DE"
  325.       Sets LANG for locale; with this a default can be assigned for local users.
  326.       This value is valid so long as no special RC LC * variables are used.
  327.       The standard rc.config variables are: RC LC ALL (with this the
  328.       variables LC * and LANG can be overwritten!), RC LC MESSAGES,
  329.       RC LC CTYPE, RC LC MONETARY, RC LC NUMERIC, RC LC TIME
  330.       und RC LC COLLATE.
  331.       See manpage for locale (man 5 locale).
  332.  * ROOT USES LANG="no"
  333.       Should local settings also be used for `root'?
  334.  * Use INIT SCRIPT USE LANG="no"
  335.       locale in init scripts? Prefereably not ;-)
  336.  
  337. Initializing Local Hardware (keyboard, modem, mouse,PCMCIA, etc.)
  338.  *
  339.  * KEYTABLE=de-latin1-nodeadkeys
  340.       Defines keymaps.
  341.  * KBD NUMLOCK=no
  342.                  
  343.        NumLock  on/off.
  344.  * KBD CAPSLOCK=no
  345.                    
  346.        CapsLock  on/off.
  347.  * KBD TTY="tty1 tty2 tty3 tty4 tty5 tty6"
  348.                                      
  349.        NumLock  and  CapsLock  can be limited to certain TTYs;
  350.       gequoted stands for all TTYs.
  351.  * KBD RATE=30
  352.       Sets the automatic keyboard frequency. Possible values are from twice to
  353.       30 times per second. For this change to take effect, keyboard delay has to
  354.       be set as well.
  355.  * KBD DELAY=250
  356.       This is the delay whereafter automatic repetition of the pressed key com-
  357.       mences. This value is in milliseconds but isn't very accurate. You have to
  358.       assign KBD RATE as well.
  359.  
  360. 3 -u is an abbreviation for universal time.
  361.  
  362.                                                                                        401
  363.  
  364.  
  365.  
  366. 17. The SuSE Linux Boot Concept
  367.  
  368.                 * CONSOLE FONT=mr.fnt
  369.                    This is the console font. Not all fonts support German umlauts. YaST
  370.                    provides a little window where you can test all fonts and choose the
  371.                    one you like best. Additional settings are: CONSOLE SCREENMAP,
  372.                    CONSOLE UNICODEMAP and CONSOLE MAGIC.
  373.                 * MODEM=/dev/ttyS1
  374.                    Interface to which the modem is connected. YaST and SuSEconfig, in
  375.                    turn, create a link from /dev/modem to the device specified.
  376.                 * MOUSE=/dev/ttyS2
  377.                    Interface to which the mouse is connected. YaST and SuSEconfig, in
  378.                    turn, create a link from /dev/mouse to the device specified.
  379.                 * START GPM=yes
  380.                    Set to yes to start mouse console support. This enables you to exchange
  381.                    text between consoles using the mouse. gpm can cause problems in con-
  382.                    nection with certain bus mice. If you encounter problems while starting
  383.                    X, you should disable gpm. The other alternative is to start xdm, since
  384.                    gpm is not started in runlevel 3.
  385.                 * GPM PARAM=" -t logi -m /dev/mouse"
  386.                    Initialization parameters for gpm. These are normally set via YaST.
  387.                 * PCMCIA=i82365
  388.                    This is for assigning the chipset: valid entries are: i82365 and tcic.
  389.                    If the variable is set to "" the PCMCIA sub-system is not launched. Fine
  390.                    tuning is achieved via PCMCIA PCIC OPTS and PCMCIA CORE OPTS
  391.                 * START ISAPNP=yes
  392.                    Initialize ISA P'n'P at boot time.
  393.                 * INITRD MODULES="aic7xxx"
  394.                    The names of the modules which need to be loaded when the kernel is
  395.                    being booted, for example, to access the hard drive. Useful, or necessary
  396.                    entries can be made during the installation or the update; see Section 16.2
  397.                    page 377.
  398.                 * START KERNELD=yes
  399.                    This variable determines whether the kernel daemon should be started
  400.                    automatically at boot time. This daemon is responsible for automatically
  401.                    loading kernel modules on demand. For the current standard kernel 2.2.xx
  402.                    kerneld is no longer required. ¡ A short description of the module
  403.                    concept and functions of kerneld can be found in chapter Section 13.2
  404.                    page 319.
  405.  
  406.                Starting and Configuring Local Network and Other Services
  407.                 * START LOOPBACK=yes
  408.                    Sets up a sort of "mini" network created by configuring the Loopback
  409.                    device. Since many programs rely on this functionality, it should be set.4
  410.                 * CHECK ETC HOSTS=yes
  411.                    SuSEconfig can do some checks and modifications to /etc/hosts.
  412.                 * BEAUTIFY ETC HOSTS=no
  413.                    If /etc/hosts is to be sorted.
  414.                4 Your kernel needs to have been compiled with network support for this to work.
  415.  
  416. 402
  417.  
  418.  
  419.  
  420.                      17.6. The Variables in /etc/rc.config ¡ System Configuration
  421.  
  422. * SETUPDUMMYDEV=no
  423.  Determines whether the dummy network device should be set up: this
  424.  is useful for non-permanent network connections (e. g., SLIP or PPP). If
  425.  you have an ethernet card it can be troublesome at times.
  426. * CREATE HOSTCONF=yes
  427.  SuSEconfig can create and check /etc/host.conf.
  428. * CREATE RESOLVCONF=yes
  429.  SuSEconfig can maintain /etc/resolv.conf. If set to yes and one
  430.  of SEARCHLIST and NAMESERVER is empty, it is assumed that no DNS
  431.  is wanted and /etc/resolv.conf will be deleted. no simply leaves
  432.  /etc/resolv.conf untouched.
  433. * NETCONFIG= 0
  434.  Specifies how many network cards (or other net devices) are in-
  435.  stalled. The text shows an example for one network card (they start
  436.  with 0). For a system with two cards installed, it should resemble
  437.  NETCONFIG=" 0 1". For a system without networking, it should not
  438.  be set.
  439. * IPADDR 0=193.141.17.202
  440.  IP address of the first networking card.
  441. * NETDEV 0=eth0
  442.  Name of the first network device (normally an Ethernet card, therefore,
  443.  the example, eth0). Other possible settings are str1 or plip1. If
  444.  there is more than one card installed, additional cards are supplied with
  445.  the variables NETDEV 1 to NETDEV 3.
  446. * IFCONFIG 0="193.141.17.205 broadcast 193.141.17.255
  447.  netmask 255.255.255.192"
  448.  Configuration command for the first networking device installed. These
  449.  settings can easily be assigned using YaST. If you have more than one
  450.  card installed, just enter the corresponding values in the appropriate
  451.  variables.
  452. * CLOSE CONNECTIONS=false
  453.  If this variable is set to true and the system runs in "runlevel" 0 or 6,
  454.  /sbin/init.d/route sends a SIGTERM to all processes that own
  455.  an open "remote tcp" or "udp" connection.
  456. * IP DYNIP=no
  457.  Switch on the "dynamic IP patch" when booting; if yes, the script
  458.  /sbin/init.d/boot enables this patch via an entry in the /proc
  459.  filesystem.
  460. * IP TCP SYNCOOKIES=yes
  461.  Activate "syn flood protection".
  462. * IP FORWARD=no
  463.  If the machine should perform forwarding with two network cards,
  464.  IP FORWARD should be set to yes; normally this is preferable, or re-
  465.  quired, for a "router" or for "masquerading". The script /sbin/init.
  466.  d/boot enables "IP forwarding" by means of an entry in the /proc
  467.  filesystem.
  468.  
  469.                                                                               403
  470.  
  471.  
  472.  
  473. 17. The SuSE Linux Boot Concept
  474.  
  475.                 * FQHOSTNAME=earth.cosmos.com
  476.                   Fully qualified hostname of your machine; fully qualified means the com-
  477.                   plete name, consisting of computer name and domain name.
  478.                 * SEARCHLIST=cosmos.com
  479.                   This entry is used for completing a not fully qualified hostname.
  480.                   If, for example, you enter venus, a check is made on whether
  481.                   venus.cosmos.com is a valid address. This variable has to be set
  482.                   if you plan to use DNS! You should at least enter your domain name here.
  483.                   You can make up to three entries, which should be separated by blanks.
  484.                 * NAMESERVER=193.141.17.193
  485.                   Address of the nameserver which is to be interrogated if a hostname has
  486.                   to be transposed to an IP address. You can enter up to three nameservers
  487.                   which should be separated by blanks. If you plan to use a nameserver,
  488.                   SEARCHLIST has to be set!
  489.                 * ORGANIZATION="Gladstone Ganter Inc."
  490.                   This text appears in every newsposting you send.
  491.                 * NNTPSERVER=helios
  492.                   Address of your news server. If you receive your news via UUCP and it
  493.                   is saved locally, you should enter localhost.
  494.                 * IRCSERVER=helios
  495.                   This is the place for your IRC server (Internet Relay Chat). Names of the
  496.                   servers should be separated by blanks.
  497.                 * START INETD=yes
  498.                   Controls whether the inetd super daemon should be activated. This dae-
  499.                   mon reacts to calls from other hosts and starts (depending on the port) the
  500.                   appropriate service. You need it if you want to log in via telnet or rlogin.
  501.                   If you plan to use xinetd (see Section 89) you should set this to no.
  502.                 * START XINETD=no
  503.                   Controls whether the xinetd super daemon should be activated (this is
  504.                   an enhanced inetd, see Section 89). If you plan to use this daemon,
  505.                   START INETD should be set to no.
  506.                 * SENDMAIL xxxx=
  507.                   The sendmail variables are described in Section 37 page 177
  508.                 * START POSTFIX=no
  509.                   Activates the mail server postfix. The relevant variables are
  510.                   POSTFIX CREATECF, POSTFIX RELAYHOST,
  511.                   POSTFIX MASQUERADE DOMAIN and POSTFIX LOCALDOMAINS.
  512.                 * SMTP=no
  513.                   Set to yes if a sendmail daemon should be activated. If you receive
  514.                   your e-mail exclusively via UUCP, you don't need it, provided you call
  515.                   sendmail -q after each polling. (rmail, started by UUCP, just puts mail
  516.                   into a queue but doesn't deliver it). If mail spool directories are mounted
  517.                   via NFS (on a network, for example) and the single host has got only
  518.                   outgoing mail, this could be set to no as well. The same applies with the
  519.                   use of relay hosts.
  520.                 * START PORTMAP=no
  521.                   Determines whether to start the portmapper or not. You need the portmap-
  522.  
  523. 404
  524.  
  525.  
  526.  
  527.                       17.6. The Variables in /etc/rc.config ¡ System Configuration
  528.  
  529.  per if you plan to use your host as an NFS server (see Section 5.5
  530.  page 145). Without this daemon, rpc.mountd and rpc.nfsd can't run;
  531.  this is why the portmapper is started when the variable is set to no, but
  532.  NFS SERVER is switched on! It is also necessary for NIS (see Section 5.5
  533.  page 145).
  534. * NFS SERVER=no
  535.  If the host is going to be used as an NFS server, this variable has to be set
  536.  to yes. This initializes the start of rpc.nfsd and rpc.mountd. More on
  537.  setting up an NFS server can be found in chapter Section 5.5 page 145.
  538. * REEXPORT NFS=no
  539.  Set this variable to yes in order to re-export mounted NFS directories or
  540.  NetWare volumes.
  541. * NFS SERVER UGID=yes
  542.  If the daemon (rcp.ugidd) for the conversion of user and group ID's is
  543.  to be started; this variable only takes effect if <NFS SERVER> is set to
  544.  yes.
  545. * USE KERNEL NFSD="no"
  546.  If the package package knfsd is installed, the kernel-based NFS dae-
  547.  mon can be used. With this NFS daemon, locking is possible. See the
  548.  corresponding variable, USE KERNEL NFSD NUMBER.
  549. * START AMD=no
  550.  Start the automounter. If this is not needed you should prefer the autofs
  551.  kernel module. If so, you need to set the next variable (START AUTOFS)
  552.  to yes.
  553. * START AUTOFS=no
  554.  This daemon enables you to automatically mount directories, via NFS as
  555.  well as local directories, CD-ROM drives, floppy disks and more). The
  556.  package autofs, series n must be installed and configured.
  557. * START RWHOD=no
  558.  Controls whether rwhod is started. Caution: the rwhod regularly sends
  559.  "Broadcasts". If you use "on-demand" connection (ISDN and/or diald)
  560.  this may cause connections to be made, resulting in extra traffic and costs!
  561. * START ROUTED=no
  562.  The route daemon is only necessary for dynamic routes (see the manpage
  563.  for routed (man routed)). Caution, this service establishes a con-
  564.  nection every 30 seconds. If the machine us connected to the Internet via
  565.  dialup (for example, ISDN), then it makes no sense to set this variable to
  566.  yes.
  567. * START NSCD=yes
  568.  NSCD Initializing "Name Service Caching Daemon" at boot time.
  569. * START NAMED=no
  570.  This controls whether the name daemon should be activated.
  571. * CREATE YP CONF=yes
  572.  Set to yes if SuSEconfig should create the necessary files for YP. This
  573.  depends on the next two entries as well (see Section 5.4 page 144).
  574.  SuSEconfig also makes the appropriate changes to /etc/passwd and
  575.  /etc/group.
  576.  
  577.                                                                                   405
  578.  
  579.  
  580.  
  581. 17. The SuSE Linux Boot Concept
  582.  
  583.                 * YP DOMAINNAME=cosmos.com
  584.                   YP domain name of hosts. For detailed information please refer to Sec-
  585.                   tion 5.4 page 144.
  586.                 * YP SERVER=helios.cosmos.com
  587.                   Name of the NIS server.
  588.                 * USE NIS FOR RESOLVING=no
  589.                   Use NIS for resolving host names.
  590.                 * START CIPED=no
  591.                   Start CIPE daemon for an IPIP tunnel.
  592.                 * START DHCPD=no
  593.                   Start server for DHCP Dynamic Host Configuration Protocol. For this the
  594.                   variables DHCPD INTERFACE, START DHCRELAY and DHCRELAY SERVERS
  595.                   are used.
  596.                 * START LDAP=no
  597.                   Start LDAP server.
  598.                 * START RADIUSD=yes
  599.                   Start radius accounting and authentication service. This service is used
  600.                   by some ISPs for authentication of their users. See documentation in
  601.                   /usr/doc/packages/radiusd.
  602.                 * START LPD=yes
  603.                   Start the lpd ("line printer"). Normally needed for printing.
  604.                 * START NNTPD=yes
  605.                   Start nntpd if you want to access news via an NNTP site.
  606.                 * START INN=no
  607.                   Start the INN news server.
  608.                 * START ATD=yes
  609.                   Controls whether the AT daemon is activated. This daemon enables you
  610.                   to perform tasks periodically. In contrast to the cron daemon, this action
  611.                   is only performed once.
  612.                 * START HTTPD=yes
  613.                   Controls whether the Apache http daemon should be activated.
  614.                 * START HTTPSD=yes
  615.                   Specifies whether the Apache httpsd ("secure" webserver) with SSL and
  616.                   PHP3 should be started.
  617.                 * START SQUID=no
  618.                   Controls whether the proxy server squid should be activated.
  619.                 * DOC HOST=""
  620.                   If you want to use the central documentation server which contains
  621.                   the SuSE help system, you should enter the name of the host, e. g.
  622.                   "helios.cosmos.com".
  623.                 * DOC SERVER=no
  624.                   You should set this variable to yes on the documentation server.
  625.                   In DOC ALLOW (see below) access to http-rman is set.             Further-
  626.                   more the index files for the http server have been rearranged:http:
  627.                   //`hostname-f` instead of http://localhost.
  628.  
  629. 406
  630.  
  631.  
  632.  
  633.                         17.6. The Variables in /etc/rc.config ¡ System Configuration
  634.  
  635. * DOC ALLOW="LOCAL"
  636.  List of machines (as patterns for /etc/hosts.allow) that are al-
  637.  lowed to access the documentation server. This variable is read only if
  638.  DOC SERVER is set to yes. You could also enter a subdomain here (e. g.
  639.  with ".cosmos.com").
  640. * HTTP PROXY=""
  641.  A couple of programs (e. g. lynx, arena, or wget) are capable of using
  642.  proxy sites if this environment variable has been set.
  643.  SuSEconfig may set this in /etc/SuSEconfig/* (see SDB http:
  644.  //www.suse.de/sdb/en/html/lynx_proxy.html).                          Exam-
  645.  ple:
  646.  "http://proxy.provider.de:3128/".
  647. * FTP PROXY=""
  648.  FTP proxy. Example: "http://proxy.provider.de:3128/".
  649. * GOPHER PROXY=""
  650.  Gopher proxy. Example: "http://proxy.provider.de:3128/".
  651. * NO PROXY=""
  652.  This enables you to exclude (sub) domains from the proxy. Example:
  653.  "www.me.de, do.main, localhost".
  654. * START HYLAFAX=no
  655.  Activates Hylafax. You will have to invoke faxsetup before setting this
  656.  variable to yes.
  657. * START SMB=no
  658.  Start the samba server; a file and printer server for MS-Windows.
  659. * START MARSNWE=no
  660.  Activates the Novell server emulation.
  661. * START SSHD=yes
  662.  Start the "Secure Shell Daemon"; ensure before starting that a "host key"
  663.  exists ¡ see also the documentation in /usr/doc/packages/ssh as
  664.  well as the manpages.
  665. * START XNTPD=yes
  666.  Controls whether the "Network Time Protocol (NTP) daemon" is acti-
  667.  vated (package xntp). It is configured via /etc/ntp.conf. Ra-
  668.  dio Controlled Clocks have addresses in the form 127.127.T.U; in
  669.  which T is the type of clock and U is the "unit number" which has
  670.  a range from 0 to 3. ¡ Most clocks use a serial port or a special
  671.  bus. The device file ( Device) is normally only to the symbolic link
  672.  /dev/device-U which refers to the actual hardware, where U has the
  673.  value of the "unit number". See also /usr/doc/packages/xntp/
  674.  html/refclock.htm. Example: You have a radio controlled clock
  675.  attached to a serial port, you'll also need the necessary Symlink. For this
  676.  see refclock.htm. ¡ for the typical DCF77 receiver the "PARSE"
  677.  driver is required:
  678.  ## Type 8 Generic Reference Driver (PARSE)
  679.  ## Address:               127.127.8.u
  680.  ## Serial Port: /dev/refclock-u
  681.  
  682.                                                                                 407
  683.  
  684.  
  685.  
  686. 17. The SuSE Linux Boot Concept
  687.  
  688.                   So, if you choose, by an entry in ntp.conf, the value server 127.127.8.0
  689.                   you'll also need the Symlink /dev/refclock-0 to refer to ttySx ¡
  690.                   where x represents the serial port on which the Radio controlled clock is
  691.                   attached.
  692.                 * XNTPD INITIAL NTPDATE=""
  693.                   List of the NTP servers from which the time can be obtained before the
  694.                   local server is started; e. g."helios.cosmos.com". If a number of
  695.                   servers are entered, they must be separated by a space. (package xntp).
  696.                   It is configured via /etc/ntp.conf.
  697.                 * DISPLAYMANAGER=""
  698.                   Sets up the login of the machine. This may either be a text console or
  699.                   the X Window System. Possible entries are: xdm (The standard display
  700.                   manager of the X Window System), kdm (KDE's display manager) or "".
  701.                   The latter sets the login to text console (runlevel 2). This is the default.
  702.                 * KDM SHUTDOWN=root
  703.                   Controls which user is allowed to shutdown the machine via kdm (reboot
  704.                   or shutdown). Possible values are: root (`root'), all (every user),
  705.                   none, and local (it may only be shutdown by users that logged in
  706.                   locally). If this is set to "", root is the default.
  707.                 * CONSOLE SHUTDOWN=reboot                                 
  708.                   Controls how init should react to  Ctrl  +  Alt  +  Del  . Possible
  709.                   values: reboot (the machine reboots), halt (the machine shuts down)
  710.                   and ignore (nothing happens). Default is reboot.
  711.                 * START AXNET=no
  712.                   Applixware server.
  713.                 * START MYSQL=no
  714.                   Server for MySQL.
  715.                 * START ADABAS=no
  716.                   Adabas server. The following variables belong to Adabas: DBROOT,
  717.                   DBNAME, DBUSER and DBCONTROL ¡ see the respective comments in
  718.                   rc.config.
  719.                 * START DB2=no
  720.                   Server for DB2.
  721.                 * START ARKEIA=no
  722.                   Arkeia backup server.
  723.                 * START ARGUS=no
  724.                   Argus server (network monitor).
  725.                 * ARGUS INTERFACE=eth0 The interface Argus should listen to.
  726.                 * ARGUS LOGFILE="/var/log/argus.log"
  727.                   The Argus logfile. This file might become quite large!
  728.                 * CRON=yes
  729.                   Sets the start and stop of the cron daemon. This daemon lets you start
  730.                   certain programs at a given time. It is only started in runlevels 2 and 3. It
  731.                   is highly recommended that you activate this daemon, especially if your
  732.                   computer is running all the time. An alternative or replacement is the AT
  733.                   daemon (see Section 89 page 406).
  734.  
  735. 408
  736.  
  737.  
  738.  
  739.                          17.6. The Variables in /etc/rc.config ¡ System Configuration
  740.  
  741.  There are a lot of options which require you to regularly run certain com-
  742.  mands and programs. Therefore, the cron daemon should be activated on
  743.  every system.
  744.  
  745. Local Maintenance
  746.  * RUN UPDATEDB=yes
  747.    Set this to yes to have the locate database updated once per day via cron.
  748.    locate is useful for quickly finding files. This tool may be fine tuned
  749.    by a set of variables: RUN UPDATEDB AS, UPDATEDB NETPATHS,
  750.    UPDATEDB NETUSER, and UPDATEDB PRUNEPATHS (see comments
  751.    in rc.config). ¡ This updating may be carried out shortly after you
  752.    have booted, if the computer is not switched on all the time; see Sec-
  753.    tion 16.6.1 page 392.
  754.  * REINIT MANDB=yes
  755.    If the manpage data base should be renewed once a day by cron.daily.
  756.  * CREATE INFO DIR=yes
  757.    Set this to yes to have /usr/info/dir created, which serves as a
  758.    general index of all info pages. This is useful after installing a package
  759.    which contains info pages. Keep in mind that perl needs to be installed
  760.    for this to work.
  761.  * CHECK PERMISSIONS=set
  762.    Controls check of file permissions according to /etc/permissions.
  763.    set corrects wrong entries, warn warns you, and no deactivates this
  764.    feature.
  765.  * PERMISSION SECURITY="easy local"
  766.    There are three levels of security: /etc/permissions.paranoid,
  767.    /etc/permissions.secure and /etc/permissions.easy.
  768.    You may enter either easy, secure or paranoid. You can also create
  769.    your own security levels; e. g. in /etc/permissions.local. Then
  770.    you may use local to activate your level.
  771.  * RPMDB BACKUP DIR=/var/adm/backup/rpmdb
  772.    Controls where cron.daily should install its RPM database backup. If you
  773.    want to disable this feature, set this variable to "".
  774.  * MAX RPMDB BACKUPS=5
  775.    Maximum number of backup files for the RPM database.
  776.  * DELETE OLD CORE=yes
  777.    Core files are memory images of programs which have been killed due
  778.    to a segmentation fault. These images are very useful for debugging
  779.    purposes. If this is enabled, a regular search and deletion of old core
  780.    files is launched.
  781.  * MAX DAYS FOR CORE=7
  782.    Assigns how old core files should be before they are deleted.
  783.  * MAX DAYS FOR LOG FILES=365
  784.    If a log file (mainly in /var/log) reaches a certain size, it will be
  785.    automatically compressed and archived. `root' is informed via e-mail.
  786.    This parameter sets how long these files are to be kept on disk before
  787.  
  788.                                                                                  409
  789.  
  790.  
  791.  
  792. 17. The SuSE Linux Boot Concept
  793.  
  794.                   being deleted automatically. If you set this value to 0, no compressing
  795.                   and no archiving will be done. Log files are written continuously and can
  796.                   grow to a considerable size! Compressed log files can be viewed anytime
  797.                   using less.
  798.                 * MAX DAYS IN TMP=30
  799.                   Selected directories (see TMP DIRS TO CLEAR below) are checked
  800.                   daily to see whether they have been accessed during the selected time
  801.                   interval (set in days). Files which have not been modified will be deleted
  802.                   automatically.
  803.                 * TMP DIRS TO CLEAR="/tmp /var/tmp"
  804.                   Enter here all directories which are to be searched for old files (see
  805.                   MAX DAYS IN TMP=30 above). item OWNER TO KEEP IN TMP="root bs"
  806.                   Files of system users given here should not be deleted, even if they have
  807.                   not been modified during the time specified.
  808.                 * CWD IN ROOT PATH=no
  809.                   The current working current working directory in the path of user
  810.                   `root'.
  811.                 * ROOT LOGIN REMOTE=no
  812.                   If a login for `root' is to be allowed by telnet or rlogin, this variable
  813.                   should be set to yes. For security aspects concerning this variable, please
  814.                   refer to page 421.
  815.                 * SUSEWM UPDATE=yes
  816.                   Controls whether SuSEconfig should adapt the system-wide configura-
  817.                   tion files according to the installed packages. You may fine tune this fea-
  818.                   ture by means of the following variables: SUSEWM WM, SUSEWM MWM,
  819.                   SUSEWM XPM, SUSEWM ADD and SUSEWM COMPAT.
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841. 410
  842.  
  843.  
  844.  
  845.