|
|
Slackware Linux uses the BSD-style file layout for its system initialization
files. These files are organized and easy to edit. All of the system
initialization files are stored in the /etc/rc.d directory. To prevent a script
from executing at startup you can remove the execute permission on the file
and Slackware will not execute it. The following is a general description of
what the different files do.
|
|
System Startup
The first program to run under Slackware besides the Linux kernel is
init. This program reads /etc/inittab file to see how to run
the system. It runs the /etc/rc.d/rc.S script to prepare the system
before going into your desired runlevel. The rc.S file enables your virtual
memory, mounts your filesystems, cleans up certain log directories, initializes
Plug and Play devices, loads kernel modules, configures PCMCIA devices,
sets up serial ports, and runs System V init scripts (if found). There are
some scripts in /etc/rc.d that rc.S will call on to complete its work:
rc.S |
This is the actual system initialization script.
|
rc.acpid |
Starts the acpi daemon
|
rc.hotplug |
This script starts hotpluggable subsystems
|
rc.modules |
Loads kernel modules. Things like your network card, PPP
support, and other things are loaded here. If this script
finds rc.netdevice, it will run that as well.
|
rc.pcmcia |
Probes for and configures any PCMCIA devices that you
might have on your system. This is most useful for laptop
users, who probably have a PCMCIA modem or network card.
|
rc.serial |
Configures your serial ports by running the appropriate
setserial commands.
|
rc.sysvinit |
Looks for System V init scripts for the desired runlevel
and runs them. This is discussed more in detail below.
|
|
|
Runlevels
After system initialization is complete, init moves on to runlevel
initialization. A runlevel describes the state that your machine will be
running in. Sound redundant? Well, the runlevel tells init if you will
be accepting multiuser logins or just a single user, whether or not you want
network services, and if you will be using the X Window System or agetty
to handle logins. The files below define the different runlevels in Slackware
Linux.
rc.0 |
Halt the system (runlevel 0). By default, this is symlinked to
rc.6.
|
rc.4 |
Multiuser startup (runlevel 4), but in X11 with KDM, GDM, or XDM
as the login manager.
|
rc.6 |
Reboot the system (runlevel 6).
|
rc.K |
Startup in single user mode (runlevel 1).
|
rc.M |
Multiuser mode (runlevel 2 and 3), but with the standard
text-based login. This is the default runlevel in Slackware.
|
|
|
Network Initialization
Runlevels 2, 3, and 4 will startup the network services if you have that
enabled. The following files are responsible for the network initialization:
rc.inetd |
Starts up inetd, the BSD Internet super-daemon.
|
rc.inet1 |
This script is used to bring up the various network
interfaces.
|
rc.inet1.conf |
Modified by netconfig, this file is responsible for
configuring the actual network interfaces.
|
rc.ip_forward |
Activates IP packet forwarding.
|
rc.inet2 |
Runs after rc.inet1 and starts up basic network services.
|
rc.wireless |
This script sets up PCI, USB, and 32-bit Cardbus wireless
devices - NOT 16-bit PCMCIA cards (those are configured in
/etc/pcmcia/).
|
rc.wireless.conf |
Wireless LAN adapter configuration.
|
rc.atalk |
Starts up AppleTalk services.
|
rc.bind |
Starts up the BIND name server (named).
|
rc.httpd |
Starts up the Apache web server.
|
rc.mysqld |
Starts up the MySQL server.
|
rc.news |
Starts up the news server.
|
rc.nfsd |
Starts up the NFS server.
|
rc.portmap |
Starts up the RPC portmapper.
|
rc.samba |
Starts up Windows file and print sharing services.
|
rc.sshd |
Starts up the secure shell server (sshd).
|
|
|
System V Compatibility
Since version 7.0, Slackware includes System V init compatibility. Many other Linux
distributions make use of this style instead of the BSD style. Basically
each runlevel is given a subdirectory for init scripts, whereas BSD style
gives one init script to each runlevel.
The rc.sysvinit script will search for any System V init scripts
you have in /etc/rc.d and run them, if the runlevel is appropriate. This
is useful for certain commercial software packages that install System V
init scripts and scripts for BSD style init.
|
|
Other Files
The scripts described below are the other system initialization scripts. They
are typically run from one of the major scripts above, so all you need to do
is edit the contents.
rc.cdrom |
If enabled, this script will scan for a CD-ROM in a drive
and mount it under /cdrom if it finds one.
|
rc.gpm |
Starts up general purpose mouse services. Allows you to
cut and paste at the Linux console.
|
rc.ibcs2 |
Starts up the Intel Binary Compatibility support.
|
rc.font |
Loads the custom screen font for the console.
|
rc.local |
Contains any specific startup commands for your system. This
is empty after a fresh install, as it is reserved for local
administrators. This script is run after all other
initialization has taken place.
|
|
| |