Выбрать главу

K74ypxfrd        S05kudzu      S24pcmcia   S85gpm          K05innd

K20iscsi         K30sendmail   K46radvd    K65identd       K84bgpd

S08ip6tables     S25netfs      S90crond    K05saslauthd    K20netdump-server

K34dhcrelay      K50netdump    K65kadmin   K84ospf6d       S08ipchains

S26apmd          S90FreeWnn    K10psacct   K20nfs          K34yppasswdd

K50snmpd         K65kprop      K84ospfd    S08iptables     S28autofs

S90xfs           K10radiusd    K20rstatd   K35atalk        K50snmptrapd

K65krb524        K84ripd       S10network  S40smartd       S92lisa

K12canna         K20rusersd    K35dhcpd    K50tux          K65krb5kdc

K84ripngd        S12syslog     S44acpid    S95anacron      K12mailman

K20rwalld        K35smb        K50vsftpd   K70aep1000      K85zebra

S13irqbalance    S55cups       S95atd      K12mysqld       K20rwhod

K35vncserver     K54dovecot    K70bcm5820  K90isicom       S13portmap

S55sshd          S97messagebus K15httpd    K20spamassassin K35winbind

K54pxe           K74ntpd       K91isdn     S14nfslock      S56rawdevices

S97rhnsd         K15postgresql K24irda     K40mars-nwe     K55routed

K74ups           K95firstboot  S17keytable S56xinetd       S99local

K16rarpd         K25squid      K45arpwatch K61hpoj         K74ypserv

S00microcode_ctl S20random     S84privoxy  S99mdmonitor

These scripts are actually symbolic links to system service scripts under the /etc/rc.d/init.d directory (yours might look different, depending on whether you are working with a workstation or server installation and the services or software packages installed on your system):

# ls /etc/rc.d/init.d/

acpid        bgpd       firstboot ip6tables      keytable   mars-nwe      nfs

postgresql   ripd       smartd    vncserver      zebra      aep1000       bluetooth

FreeWnn      ipchains   killall   mdmonitor      nfslock    privoxy

ripngd       smb        vsftpd    amd            bootparamd functions     iptables

kprop        messagebus nscd      psacct         routed     snmpd         winbind

anacron      canna      gkrellmd  irda           krb524     microcode_ctl ntpd

pxe          rstatd     snmptrapd xfs            apmd       cpqarrayd     gpm

irqbalance   krb5kdc    mysqld    ospf6d         radiusd    rusersd

spamassassin xinetd     arpwatch  crond          halt       iscsi         kudzu

named        ospfd      radvd     rwalld         squid      ypbind

atalk        cups       hpoj      isdn           ldap       netdump       pand

random       rwhod      sshd      yppasswdd      atd        dhcpd

httpd        isicom     lisa      netdump-server pcmcia     rarpd

saslauthd    syslog     ypserv    autofs         dhcrelay   identd        kadmin

lm_sensors   netfs      portmap   rawdevices     sendmail   tux

ypxfrd       bcm5820    dovecot   innd           kdcrotate  mailman

network      postfix    rhnsd     single         ups        yum

The rc5.d links are prefaced with a letter and number, such as K15 or S10. The (K) or (S) in these prefixes indicates whether a particular service should be killed (K) or started (S), and passes a value of stop or start to the appropriate /etc/rc.d/init.d script. The number in the prefix executes the specific /etc/rc.d/init.d script in a particular order. The symlinks have numbers to delineate the order in which they are started. Nothing is sacred about a specific number, but some services need to be running before others are started. You would not want your Fedora system to attempt, for example, to mount a remote Network File System (NFS) volume without first starting networking and NFS services.

After all the system services are started for your runlevel, init starts the graphical login (because you are in runlevel 5). The graphical login's definition appears toward the end of /etc/inittab and looks like this:

# Run xdm in runlevel 5 x:5:respawn:/etc/X11/prefdm -nodaemon

This example shows that the shell script named prefdm executes the proper X11 display manager when Fedora is booted to runlevel 5.

Booting to a Nondefault Runlevel with GRUB

After you select a default runlevel, that runlevel is selected every time you restart the system from a power-off state. There might come a time when you do not want to boot into that runlevel. You might want to enter the maintenance mode or start the system without an active X server and graphical login to modify or repair the X server or desktop manager. You have to follow several specific steps to boot to a nondefault runlevel if you use GRUB, the default boot loader for Fedora.

NOTE

If you have enabled a GRUB password, you must first press p, type your password, and then press Enter before using this boot method.

The GRUB boot loader passes arguments, or commands, to the kernel at boot time. These arguments are used, among other things, to tell GRUB where the kernel is located and also to pass specific parameters to the kernel, such as how much memory is available or how special hardware should be configured.

To override the default runlevel, you can add an additional kernel argument to GRUB as follows:

1. At the graphical boot screen, press e (for edit), scroll down to select the kernel, and press e again.

2. Press the spacebar, type single or 1 (Fedora allows S and s as well), and press Enter.

3. Finally, press b to boot, and you'll boot into runlevel 1 instead of the default runlevel listed in /etc/inittab.

Fedora includes several command-line and graphical system administration utilities you can use to start, stop, reorder, or restart various services in different runlevels. These commands (discussed later in this chapter) work by renaming, removing, or creating symbolic links from /etc/rc.d/init.d to /etc/rc.d/rc.* as appropriate. Many administrators use these commands to change the symbolic links to the scripts under each /etc/rc.d/rc* directory rather than do it by hand.