home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2000 May
/
Chip_2000-05_cd2.bin
/
docu
/
ascii
/
suselxen
/
slxen-17.txt
< prev
next >
Wrap
Text File
|
2000-03-11
|
43KB
|
845 lines
Chapter 17
The SuSE Linux Boot Concept
Booting and initializing a UNIX system can challenge even an experienced
system administrator. This chapter gives you a short overview of the SuSE
Linux boot concept.
This concept is much more complex but also more flexible than those used in
some Linux distributions. It is based on the boot concept used for a System V
workstation as described in [Fri93].
The simple words "Uncompressing Linux..." signal that the kernel
is taking control over your hardware. It checks and sets your console1 to
read BIOS settings and to initialize basic hardware interfaces. Next, your
drivers "probe" existing hardware and initialize it accordingly. After checking
the partitions and mounting the root filesystem (assigning it to " / "), the
kernel starts /sbin/init which starts the main system with all its programs and
configurations. The kernel will control the entire system, including hardware
access and the CPU time programs may use.
17.1 The init Program
The program /sbin/init is responsible for correctly initializing all system pro-
cesses. Thus, it is the father of all processes in the entire system.
init takes a special role: init is started directly by the kernel and resists signal
9, which normally enables you to kill processes. All further programs are
either started directly by init or by one of its "child" processes.
init is centrally configured via the /etc/inittab file. Here, the so-called
"runlevels" are defined (more about runlevels in the next section). Here it
is also specified what should happen in the various levels. Depending on
the entries in /etc/inittab, several scripts are started by init which, for
reasons of clarity, all reside in the same directory, /sbin/init.d.
The entire process of starting up the system (and shutting down, as well) is
maintained by init. From this point of view, the kernel can be considered
as a "background process" whose task it is to maintain all other processes
and to adjust CPU time and hardware access according to requests from other
programs.
1 Or more precisely, the BIOS registers of graphics cards and output format.
395
17. The SuSE Linux Boot Concept
17.2 Runlevels
In Linux there are so-called runlevels which define how the system is going to
be started up. After booting, the system starts as defined in /etc/inittab
in the line initdefault. An alternative to this is assigning a special run-
level at boot time (e. g., at the LILO prompt): the kernel passes any parame-
ters which it doesn't need directly to init.
To change runlevels while the system is running, you can just enter init with
the appropriate number. Only the super user is allowed to do this:
root@earth:/ > init S
brings you to single user mode which is used for the maintenance and ad-
ministration of your system. After finishing work in S mode, the system
administrator can change the runlevel to 2 again by typing:
root@earth:/ > init 2
Now all essential programs are started and users can log in and work with
the system. The table below gives you an overview of available runlevels.
Runlevel 1 should not be used on a system whose /usr partition is mounted
via NFS:
Runlevel Meaning
0 Halt
S Single user mode
1 Multi-user without network
2 Multi-user with network (standard)
3 Multi-user with network and xdm
4 Unused
5 Unused
6 Reboot
Table 17.1: Valid runlevels in Linux
You can halt the system using:
root@earth:/ > init 0
or restart it with:
root@earth:/ > init 6
If you have already installed and configured the X Window System properly
(Section 8.1 page 208) and want users to log in via a graphical user interface,
you can easily change the runlevel to 3. You should give it a try first by
typing:
root@earth:/ > init 3
to see whether the system works as you expected.
396
17.3. Changing Runlevels
With a damaged /etc/inittab, you can end up in a system
which can not be brought up properly. Therefore, be extremely care-
ful while editing /etc/inittab! ¡ In an emergency you may
try to enter init=/bin/sh at the LILO boot prompt for directly
booting into a shell (see Section 21 page 106). This looks like:
boot: linux init=/bin/sh
17.3 Changing Runlevels
Generally, there are a couple of things that happen if you change runlevels.
First, so-called stop scripts of the current runlevel are launched, closing down
some programs which are essential for the current runlevel. Thereafter, start
scripts of the new runlevel are started. Here, in most cases, a number of
programs will be started.
To illustrate this, we will show you a change from runlevel 2 to 3:
* The administrator (`root') tells init to change run levels:
root@earth:/ > init 3
* init now consults its configuration file (/etc/inittab) and realizes
that it should start /sbin/init.d/rc with the new runlevel as a pa-
rameter.
* Now rc calls all the stop scripts of the current runlevel, but only for those
where there is no start script in the selected new run level. In our example,
these are all the scripts which reside in /sbin/init.d/rc2.d (old
runlevel was 2) and which start with a `K'.2 The number following `K'
guarantees a certain order to start, as there are some dependencies which
have to be taken into consideration.
* The last thing to start are the start scripts of the new runlevel. These are (in
our example) in /sbin/init.d/rc3.d and begin with an `S'. The
same procedure regarding the order in which they are started is applied
here.
If you want to change to the same runlevel which you are already in, init only
checks /etc/inittab for changes and starts the appropriate steps (e. g.,
for starting a getty on another interface).
17.4 Init Scripts
Scripts in /sbin/init.d are divided into two sections:
* scripts which are executed directly by init. This only applies while boot-
ing and shutting down the system immediately (power failure or pressing
Ctrl + Alt + Del by the user).
* scripts which are started indirectly by init. This happens when the run-
level is changed. Generally, /sbin/init.d/rc is executed here, which guar-
antees the correct order of the relevant scripts.
2 Names of stop scripts always start with a `K', whereas start scripts always start with an `S'.
397
17. The SuSE Linux Boot Concept
All scripts are located in /sbin/init.d. Scripts for changing the run level
are also found there but are called via symbolic links from one of the subdi-
rectories /sbin/init.d/rc0.d to /sbin/init.d/rc6.d. This is
just for clarity reasons and avoids duplicate scripts (e. g., if they are used in
several runlevels). Since every script can be executed as both a start and a stop
script, these scripts have to "understand" the parameters "start" and "stop".
An example: while leaving runlevel 2, /sbin/init.d/rc2.d/K40network
Example is one script, of many, that is executed. This results in /sbin/init.d/
network being executed from /sbin/init.d/rc with the "stop" pa-
rameter. When entering runlevel 3, the same script is started, but with the
"start" parameter instead of "stop".
Links in these runlevel-specific subdirectories simply serve to allocate the
scripts to a certain runlevel.
Boot and Below,we give you a short introduction to the boot and stop scripts that are
shutdown launched first (or last, respectively) as well as an explanation of the maintain-
ing script.
* boot
Executed while starting the system directly, using init. It is indepen-
dent of the chosen runlevel and is only executed once. Here, filesystems
are checked, the kernel daemon is launched, some unnecessary files in
/var/lock are deleted, and the network is configured for the loopback
device (if it has been selected in /etc/rc.config). Furthermore, the
system time is set up and Plug and Play hardware is initialized by the
isapnp tools.
If an error occurs while automatically checking and repairing the filesys-
tem, the system administrator can intervene, after first entering the root
password.
The directory /sbin/init.d/boot.d is assigned to this script. All
scripts in this directory are executed while the system is booted. This
is the right place for your own personal extensions, which should be
executed only once.
Last to be executed is the script boot.local.
* boot.local
Here, you can enter additional commands to be executed at boot time
before changing into a runlevel. It can be compared to AUTOEXEC.BAT
on DOS systems.
* boot.setup
General settings that have to be performed while changing from single
user mode to another runlevel.
Here, keyboard maps are loaded and the kernel daemon is started, which
loads modules automatically.
* halt
This script is only executed while changing into runlevel 0 or 6. Here, it
is executed either as halt or as reboot. Whether the system shuts down or
reboots depends on how halt is called.
398
17.5. /etc/rc.config and /sbin/SuSEconfig
* rc
This script is of overriding importance whenever runlevels are changed.
It calls the appropriate stop scripts of the current runlevel and the start
scripts of the newly selected runlevel.
You may add your own scripts to this skeleton very easily. A template may Creating
be found in /sbin/init.d/skeleton. To enable a script via /etc/ scripts
rc.config, it is recommended that you create a <START > variable in
this file. Additional parameters should only be added if really needed (refer
to the /sbin/init.d/gpm script for reference).
Now you need to create the links in the corresponding rc?.d to your
script to make sure it is launched when you change runlevels (see above
Section 17.3 page 397 for script names, etc.). The manpage for init.d
(man 7 init.d) gives you all the necessary technical background.
Please handle these scripts with the utmost care! A faulty script may hang
your machine! See Section 17.2 page 396 if all else fails. . .
17.5 /etc/rc.config and /sbin/SuSEconfig
Practically the entire configuration of SuSE Linux can be done via a central
configuration file called /etc/rc.config. Here, a couple of environment
variables are set which are (amongst others) checked by the init scripts. Each
of the scripts in /sbin/init.d executes /etc/rc.config as a first
step, in order to read the values of those variables which apply to it.
From SuSE Linux 6.0 packages with extensive adjustment options store
their variables in individual files in the directory /etc/rc.config.d;
this is the case, for example, with the package sendmail or package i4l
(ISDN) packages.
To simplify things, however, we will usually just mention /etc/rc.
config, even if the file has been moved somewhere else!
Moreover, a large number of configuration files can be generated from /etc/
rc.config. This is the task of /sbin/SuSEconfig. If you change the net-
work configuration, for example, the file /etc/resolv.conf will be re-
generated, as it is dependent on the configuration you have made.
So, if you change /etc/rc.config manually, you should invoke
/sbin/SuSEconfig afterwards to make sure all changes to the appropriate con-
figuration files are made at the correct places. If you change the configu-
ration with YaST, you don't have to bother. YaST automatically executes
/sbin/SuSEconfig and updates your configuration files.
This concept enables you to make basic changes to your configuration with-
out having to reboot the system. Since some changes are rather complex,
some programs probably have to be restarted in order for the changes to take
effect. This procedure is explained more fully in network configuration (see
Section 5.2 page 137), where these programs are forced to be restarted using
the command:
399
17. The SuSE Linux Boot Concept
root@earth:/ > /sbin/init.d/network stop
root@earth:/ > /sbin/init.d/network start
As you can see, you can easily start and stop init scripts by hand.
Generally, we recommend the following steps for configuring your system:
* Bring the system into single user mode:
root@earth:/ > init S
As an alternative, you can select runlevel 1. Here, you have the possibility
of logging in on several consoles:
root@earth:/ > init 1
* Change the configuration file /etc/rc.config as needed. This can
be done using an editor of your choice or with YaST in `Changing
configuration file' (see Section 17.6).
* Execute /sbin/SuSEconfig to make the changes take effect. If you have
changed /etc/rc.config via YaST, this is done automatically.
* Bring your system back to the previous runlevel:
root@earth:/ > init 2
This procedure is mainly relevant if you have changed system-wide settings
(such as network configuration). It is not necessary to go into single user
mode for small changes, but it ensures that all relevant programs are correctly
restarted.
To categorically disable the automatic configuration of SuSEconfig you
need to set the variable <ENABLE SUSECONFIG> in /etc/rc.
config (please note Section 17.6). By using selected rc.config vari-
ables you may partially disable the auto configuration
17.6 The Variables in /etc/rc.config
In this section, we describe all the parameters of the system, including their
default settings. If you don't use YaST to change /etc/rc.config,
make sure you set "empty" parameters as two quotation marks (e. g.,
KEYTABLE="") and that you surround parameters that contain a blank
with quotation marks (parameters consisting of only one word do not have
to be quoted). In our description, each parameter is given a value in order to
make its settings as clear as possible:
* ENABLE SUSECONFIG=yes
With this entry you can disable SuSEconfig completely. Please don't con-
tact our Installation Support if you have trouble configuring your system
after disabling SuSEconfig ;-)
* MAIL REPORTS TO=newbie
SuSEconfig can mail reports (created by YaST or included in packages)
to you. Here you can set the address. If you don't want this feature,
simply set it to "".
400
17.6. The Variables in /etc/rc.config ¡ System Configuration
* GMT=-u
If your hardware is set to GMT (Greenwich Mean Time), you should set
this variable to -u.3 Otherwise, leave it empty. This setting is relevant for
automatic switching to summer or winter time.
* TIMEZONE=Europe/Berlin
Your time zone. Important for automatic switching to summer or winter
time.
* LANGUAGE="german" This is set by YaST if changes are made with
the menu item `Select language' (see Section 3.3.1 page 72). This
value also serves as a fallback if the variables LANG or LC * are not set;
in that case the value written here is resolved via the file /usr/share/
locale/locale.alias.
* RC LANG="de DE"
Sets LANG for locale; with this a default can be assigned for local users.
This value is valid so long as no special RC LC * variables are used.
The standard rc.config variables are: RC LC ALL (with this the
variables LC * and LANG can be overwritten!), RC LC MESSAGES,
RC LC CTYPE, RC LC MONETARY, RC LC NUMERIC, RC LC TIME
und RC LC COLLATE.
See manpage for locale (man 5 locale).
* ROOT USES LANG="no"
Should local settings also be used for `root'?
* Use INIT SCRIPT USE LANG="no"
locale in init scripts? Prefereably not ;-)
Initializing Local Hardware (keyboard, modem, mouse,PCMCIA, etc.)
*
* KEYTABLE=de-latin1-nodeadkeys
Defines keymaps.
* KBD NUMLOCK=no
NumLock on/off.
* KBD CAPSLOCK=no
CapsLock on/off.
* KBD TTY="tty1 tty2 tty3 tty4 tty5 tty6"
NumLock and CapsLock can be limited to certain TTYs;
gequoted stands for all TTYs.
* KBD RATE=30
Sets the automatic keyboard frequency. Possible values are from twice to
30 times per second. For this change to take effect, keyboard delay has to
be set as well.
* KBD DELAY=250
This is the delay whereafter automatic repetition of the pressed key com-
mences. This value is in milliseconds but isn't very accurate. You have to
assign KBD RATE as well.
3 -u is an abbreviation for universal time.
401
17. The SuSE Linux Boot Concept
* CONSOLE FONT=mr.fnt
This is the console font. Not all fonts support German umlauts. YaST
provides a little window where you can test all fonts and choose the
one you like best. Additional settings are: CONSOLE SCREENMAP,
CONSOLE UNICODEMAP and CONSOLE MAGIC.
* MODEM=/dev/ttyS1
Interface to which the modem is connected. YaST and SuSEconfig, in
turn, create a link from /dev/modem to the device specified.
* MOUSE=/dev/ttyS2
Interface to which the mouse is connected. YaST and SuSEconfig, in
turn, create a link from /dev/mouse to the device specified.
* START GPM=yes
Set to yes to start mouse console support. This enables you to exchange
text between consoles using the mouse. gpm can cause problems in con-
nection with certain bus mice. If you encounter problems while starting
X, you should disable gpm. The other alternative is to start xdm, since
gpm is not started in runlevel 3.
* GPM PARAM=" -t logi -m /dev/mouse"
Initialization parameters for gpm. These are normally set via YaST.
* PCMCIA=i82365
This is for assigning the chipset: valid entries are: i82365 and tcic.
If the variable is set to "" the PCMCIA sub-system is not launched. Fine
tuning is achieved via PCMCIA PCIC OPTS and PCMCIA CORE OPTS
* START ISAPNP=yes
Initialize ISA P'n'P at boot time.
* INITRD MODULES="aic7xxx"
The names of the modules which need to be loaded when the kernel is
being booted, for example, to access the hard drive. Useful, or necessary
entries can be made during the installation or the update; see Section 16.2
page 377.
* START KERNELD=yes
This variable determines whether the kernel daemon should be started
automatically at boot time. This daemon is responsible for automatically
loading kernel modules on demand. For the current standard kernel 2.2.xx
kerneld is no longer required. ¡ A short description of the module
concept and functions of kerneld can be found in chapter Section 13.2
page 319.
Starting and Configuring Local Network and Other Services
* START LOOPBACK=yes
Sets up a sort of "mini" network created by configuring the Loopback
device. Since many programs rely on this functionality, it should be set.4
* CHECK ETC HOSTS=yes
SuSEconfig can do some checks and modifications to /etc/hosts.
* BEAUTIFY ETC HOSTS=no
If /etc/hosts is to be sorted.
4 Your kernel needs to have been compiled with network support for this to work.
402
17.6. The Variables in /etc/rc.config ¡ System Configuration
* SETUPDUMMYDEV=no
Determines whether the dummy network device should be set up: this
is useful for non-permanent network connections (e. g., SLIP or PPP). If
you have an ethernet card it can be troublesome at times.
* CREATE HOSTCONF=yes
SuSEconfig can create and check /etc/host.conf.
* CREATE RESOLVCONF=yes
SuSEconfig can maintain /etc/resolv.conf. If set to yes and one
of SEARCHLIST and NAMESERVER is empty, it is assumed that no DNS
is wanted and /etc/resolv.conf will be deleted. no simply leaves
/etc/resolv.conf untouched.
* NETCONFIG= 0
Specifies how many network cards (or other net devices) are in-
stalled. The text shows an example for one network card (they start
with 0). For a system with two cards installed, it should resemble
NETCONFIG=" 0 1". For a system without networking, it should not
be set.
* IPADDR 0=193.141.17.202
IP address of the first networking card.
* NETDEV 0=eth0
Name of the first network device (normally an Ethernet card, therefore,
the example, eth0). Other possible settings are str1 or plip1. If
there is more than one card installed, additional cards are supplied with
the variables NETDEV 1 to NETDEV 3.
* IFCONFIG 0="193.141.17.205 broadcast 193.141.17.255
netmask 255.255.255.192"
Configuration command for the first networking device installed. These
settings can easily be assigned using YaST. If you have more than one
card installed, just enter the corresponding values in the appropriate
variables.
* CLOSE CONNECTIONS=false
If this variable is set to true and the system runs in "runlevel" 0 or 6,
/sbin/init.d/route sends a SIGTERM to all processes that own
an open "remote tcp" or "udp" connection.
* IP DYNIP=no
Switch on the "dynamic IP patch" when booting; if yes, the script
/sbin/init.d/boot enables this patch via an entry in the /proc
filesystem.
* IP TCP SYNCOOKIES=yes
Activate "syn flood protection".
* IP FORWARD=no
If the machine should perform forwarding with two network cards,
IP FORWARD should be set to yes; normally this is preferable, or re-
quired, for a "router" or for "masquerading". The script /sbin/init.
d/boot enables "IP forwarding" by means of an entry in the /proc
filesystem.
403
17. The SuSE Linux Boot Concept
* FQHOSTNAME=earth.cosmos.com
Fully qualified hostname of your machine; fully qualified means the com-
plete name, consisting of computer name and domain name.
* SEARCHLIST=cosmos.com
This entry is used for completing a not fully qualified hostname.
If, for example, you enter venus, a check is made on whether
venus.cosmos.com is a valid address. This variable has to be set
if you plan to use DNS! You should at least enter your domain name here.
You can make up to three entries, which should be separated by blanks.
* NAMESERVER=193.141.17.193
Address of the nameserver which is to be interrogated if a hostname has
to be transposed to an IP address. You can enter up to three nameservers
which should be separated by blanks. If you plan to use a nameserver,
SEARCHLIST has to be set!
* ORGANIZATION="Gladstone Ganter Inc."
This text appears in every newsposting you send.
* NNTPSERVER=helios
Address of your news server. If you receive your news via UUCP and it
is saved locally, you should enter localhost.
* IRCSERVER=helios
This is the place for your IRC server (Internet Relay Chat). Names of the
servers should be separated by blanks.
* START INETD=yes
Controls whether the inetd super daemon should be activated. This dae-
mon reacts to calls from other hosts and starts (depending on the port) the
appropriate service. You need it if you want to log in via telnet or rlogin.
If you plan to use xinetd (see Section 89) you should set this to no.
* START XINETD=no
Controls whether the xinetd super daemon should be activated (this is
an enhanced inetd, see Section 89). If you plan to use this daemon,
START INETD should be set to no.
* SENDMAIL xxxx=
The sendmail variables are described in Section 37 page 177
* START POSTFIX=no
Activates the mail server postfix. The relevant variables are
POSTFIX CREATECF, POSTFIX RELAYHOST,
POSTFIX MASQUERADE DOMAIN and POSTFIX LOCALDOMAINS.
* SMTP=no
Set to yes if a sendmail daemon should be activated. If you receive
your e-mail exclusively via UUCP, you don't need it, provided you call
sendmail -q after each polling. (rmail, started by UUCP, just puts mail
into a queue but doesn't deliver it). If mail spool directories are mounted
via NFS (on a network, for example) and the single host has got only
outgoing mail, this could be set to no as well. The same applies with the
use of relay hosts.
* START PORTMAP=no
Determines whether to start the portmapper or not. You need the portmap-
404
17.6. The Variables in /etc/rc.config ¡ System Configuration
per if you plan to use your host as an NFS server (see Section 5.5
page 145). Without this daemon, rpc.mountd and rpc.nfsd can't run;
this is why the portmapper is started when the variable is set to no, but
NFS SERVER is switched on! It is also necessary for NIS (see Section 5.5
page 145).
* NFS SERVER=no
If the host is going to be used as an NFS server, this variable has to be set
to yes. This initializes the start of rpc.nfsd and rpc.mountd. More on
setting up an NFS server can be found in chapter Section 5.5 page 145.
* REEXPORT NFS=no
Set this variable to yes in order to re-export mounted NFS directories or
NetWare volumes.
* NFS SERVER UGID=yes
If the daemon (rcp.ugidd) for the conversion of user and group ID's is
to be started; this variable only takes effect if <NFS SERVER> is set to
yes.
* USE KERNEL NFSD="no"
If the package package knfsd is installed, the kernel-based NFS dae-
mon can be used. With this NFS daemon, locking is possible. See the
corresponding variable, USE KERNEL NFSD NUMBER.
* START AMD=no
Start the automounter. If this is not needed you should prefer the autofs
kernel module. If so, you need to set the next variable (START AUTOFS)
to yes.
* START AUTOFS=no
This daemon enables you to automatically mount directories, via NFS as
well as local directories, CD-ROM drives, floppy disks and more). The
package autofs, series n must be installed and configured.
* START RWHOD=no
Controls whether rwhod is started. Caution: the rwhod regularly sends
"Broadcasts". If you use "on-demand" connection (ISDN and/or diald)
this may cause connections to be made, resulting in extra traffic and costs!
* START ROUTED=no
The route daemon is only necessary for dynamic routes (see the manpage
for routed (man routed)). Caution, this service establishes a con-
nection every 30 seconds. If the machine us connected to the Internet via
dialup (for example, ISDN), then it makes no sense to set this variable to
yes.
* START NSCD=yes
NSCD Initializing "Name Service Caching Daemon" at boot time.
* START NAMED=no
This controls whether the name daemon should be activated.
* CREATE YP CONF=yes
Set to yes if SuSEconfig should create the necessary files for YP. This
depends on the next two entries as well (see Section 5.4 page 144).
SuSEconfig also makes the appropriate changes to /etc/passwd and
/etc/group.
405
17. The SuSE Linux Boot Concept
* YP DOMAINNAME=cosmos.com
YP domain name of hosts. For detailed information please refer to Sec-
tion 5.4 page 144.
* YP SERVER=helios.cosmos.com
Name of the NIS server.
* USE NIS FOR RESOLVING=no
Use NIS for resolving host names.
* START CIPED=no
Start CIPE daemon for an IPIP tunnel.
* START DHCPD=no
Start server for DHCP Dynamic Host Configuration Protocol. For this the
variables DHCPD INTERFACE, START DHCRELAY and DHCRELAY SERVERS
are used.
* START LDAP=no
Start LDAP server.
* START RADIUSD=yes
Start radius accounting and authentication service. This service is used
by some ISPs for authentication of their users. See documentation in
/usr/doc/packages/radiusd.
* START LPD=yes
Start the lpd ("line printer"). Normally needed for printing.
* START NNTPD=yes
Start nntpd if you want to access news via an NNTP site.
* START INN=no
Start the INN news server.
* START ATD=yes
Controls whether the AT daemon is activated. This daemon enables you
to perform tasks periodically. In contrast to the cron daemon, this action
is only performed once.
* START HTTPD=yes
Controls whether the Apache http daemon should be activated.
* START HTTPSD=yes
Specifies whether the Apache httpsd ("secure" webserver) with SSL and
PHP3 should be started.
* START SQUID=no
Controls whether the proxy server squid should be activated.
* DOC HOST=""
If you want to use the central documentation server which contains
the SuSE help system, you should enter the name of the host, e. g.
"helios.cosmos.com".
* DOC SERVER=no
You should set this variable to yes on the documentation server.
In DOC ALLOW (see below) access to http-rman is set. Further-
more the index files for the http server have been rearranged:http:
//`hostname-f` instead of http://localhost.
406
17.6. The Variables in /etc/rc.config ¡ System Configuration
* DOC ALLOW="LOCAL"
List of machines (as patterns for /etc/hosts.allow) that are al-
lowed to access the documentation server. This variable is read only if
DOC SERVER is set to yes. You could also enter a subdomain here (e. g.
with ".cosmos.com").
* HTTP PROXY=""
A couple of programs (e. g. lynx, arena, or wget) are capable of using
proxy sites if this environment variable has been set.
SuSEconfig may set this in /etc/SuSEconfig/* (see SDB http:
//www.suse.de/sdb/en/html/lynx_proxy.html). Exam-
ple:
"http://proxy.provider.de:3128/".
* FTP PROXY=""
FTP proxy. Example: "http://proxy.provider.de:3128/".
* GOPHER PROXY=""
Gopher proxy. Example: "http://proxy.provider.de:3128/".
* NO PROXY=""
This enables you to exclude (sub) domains from the proxy. Example:
"www.me.de, do.main, localhost".
* START HYLAFAX=no
Activates Hylafax. You will have to invoke faxsetup before setting this
variable to yes.
* START SMB=no
Start the samba server; a file and printer server for MS-Windows.
* START MARSNWE=no
Activates the Novell server emulation.
* START SSHD=yes
Start the "Secure Shell Daemon"; ensure before starting that a "host key"
exists ¡ see also the documentation in /usr/doc/packages/ssh as
well as the manpages.
* START XNTPD=yes
Controls whether the "Network Time Protocol (NTP) daemon" is acti-
vated (package xntp). It is configured via /etc/ntp.conf. Ra-
dio Controlled Clocks have addresses in the form 127.127.T.U; in
which T is the type of clock and U is the "unit number" which has
a range from 0 to 3. ¡ Most clocks use a serial port or a special
bus. The device file (Device) is normally only to the symbolic link
/dev/device-U which refers to the actual hardware, where U has the
value of the "unit number". See also /usr/doc/packages/xntp/
html/refclock.htm. Example: You have a radio controlled clock
attached to a serial port, you'll also need the necessary Symlink. For this
see refclock.htm. ¡ for the typical DCF77 receiver the "PARSE"
driver is required:
## Type 8 Generic Reference Driver (PARSE)
## Address: 127.127.8.u
## Serial Port: /dev/refclock-u
407
17. The SuSE Linux Boot Concept
So, if you choose, by an entry in ntp.conf, the value server 127.127.8.0
you'll also need the Symlink /dev/refclock-0 to refer to ttySx ¡
where x represents the serial port on which the Radio controlled clock is
attached.
* XNTPD INITIAL NTPDATE=""
List of the NTP servers from which the time can be obtained before the
local server is started; e. g."helios.cosmos.com". If a number of
servers are entered, they must be separated by a space. (package xntp).
It is configured via /etc/ntp.conf.
* DISPLAYMANAGER=""
Sets up the login of the machine. This may either be a text console or
the X Window System. Possible entries are: xdm (The standard display
manager of the X Window System), kdm (KDE's display manager) or "".
The latter sets the login to text console (runlevel 2). This is the default.
* KDM SHUTDOWN=root
Controls which user is allowed to shutdown the machine via kdm (reboot
or shutdown). Possible values are: root (`root'), all (every user),
none, and local (it may only be shutdown by users that logged in
locally). If this is set to "", root is the default.
* CONSOLE SHUTDOWN=reboot
Controls how init should react to Ctrl + Alt + Del . Possible
values: reboot (the machine reboots), halt (the machine shuts down)
and ignore (nothing happens). Default is reboot.
* START AXNET=no
Applixware server.
* START MYSQL=no
Server for MySQL.
* START ADABAS=no
Adabas server. The following variables belong to Adabas: DBROOT,
DBNAME, DBUSER and DBCONTROL ¡ see the respective comments in
rc.config.
* START DB2=no
Server for DB2.
* START ARKEIA=no
Arkeia backup server.
* START ARGUS=no
Argus server (network monitor).
* ARGUS INTERFACE=eth0 The interface Argus should listen to.
* ARGUS LOGFILE="/var/log/argus.log"
The Argus logfile. This file might become quite large!
* CRON=yes
Sets the start and stop of the cron daemon. This daemon lets you start
certain programs at a given time. It is only started in runlevels 2 and 3. It
is highly recommended that you activate this daemon, especially if your
computer is running all the time. An alternative or replacement is the AT
daemon (see Section 89 page 406).
408
17.6. The Variables in /etc/rc.config ¡ System Configuration
There are a lot of options which require you to regularly run certain com-
mands and programs. Therefore, the cron daemon should be activated on
every system.
Local Maintenance
* RUN UPDATEDB=yes
Set this to yes to have the locate database updated once per day via cron.
locate is useful for quickly finding files. This tool may be fine tuned
by a set of variables: RUN UPDATEDB AS, UPDATEDB NETPATHS,
UPDATEDB NETUSER, and UPDATEDB PRUNEPATHS (see comments
in rc.config). ¡ This updating may be carried out shortly after you
have booted, if the computer is not switched on all the time; see Sec-
tion 16.6.1 page 392.
* REINIT MANDB=yes
If the manpage data base should be renewed once a day by cron.daily.
* CREATE INFO DIR=yes
Set this to yes to have /usr/info/dir created, which serves as a
general index of all info pages. This is useful after installing a package
which contains info pages. Keep in mind that perl needs to be installed
for this to work.
* CHECK PERMISSIONS=set
Controls check of file permissions according to /etc/permissions.
set corrects wrong entries, warn warns you, and no deactivates this
feature.
* PERMISSION SECURITY="easy local"
There are three levels of security: /etc/permissions.paranoid,
/etc/permissions.secure and /etc/permissions.easy.
You may enter either easy, secure or paranoid. You can also create
your own security levels; e. g. in /etc/permissions.local. Then
you may use local to activate your level.
* RPMDB BACKUP DIR=/var/adm/backup/rpmdb
Controls where cron.daily should install its RPM database backup. If you
want to disable this feature, set this variable to "".
* MAX RPMDB BACKUPS=5
Maximum number of backup files for the RPM database.
* DELETE OLD CORE=yes
Core files are memory images of programs which have been killed due
to a segmentation fault. These images are very useful for debugging
purposes. If this is enabled, a regular search and deletion of old core
files is launched.
* MAX DAYS FOR CORE=7
Assigns how old core files should be before they are deleted.
* MAX DAYS FOR LOG FILES=365
If a log file (mainly in /var/log) reaches a certain size, it will be
automatically compressed and archived. `root' is informed via e-mail.
This parameter sets how long these files are to be kept on disk before
409
17. The SuSE Linux Boot Concept
being deleted automatically. If you set this value to 0, no compressing
and no archiving will be done. Log files are written continuously and can
grow to a considerable size! Compressed log files can be viewed anytime
using less.
* MAX DAYS IN TMP=30
Selected directories (see TMP DIRS TO CLEAR below) are checked
daily to see whether they have been accessed during the selected time
interval (set in days). Files which have not been modified will be deleted
automatically.
* TMP DIRS TO CLEAR="/tmp /var/tmp"
Enter here all directories which are to be searched for old files (see
MAX DAYS IN TMP=30 above). item OWNER TO KEEP IN TMP="root bs"
Files of system users given here should not be deleted, even if they have
not been modified during the time specified.
* CWD IN ROOT PATH=no
The current working current working directory in the path of user
`root'.
* ROOT LOGIN REMOTE=no
If a login for `root' is to be allowed by telnet or rlogin, this variable
should be set to yes. For security aspects concerning this variable, please
refer to page 421.
* SUSEWM UPDATE=yes
Controls whether SuSEconfig should adapt the system-wide configura-
tion files according to the installed packages. You may fine tune this fea-
ture by means of the following variables: SUSEWM WM, SUSEWM MWM,
SUSEWM XPM, SUSEWM ADD and SUSEWM COMPAT.
410