Troubleshooting Failed and Skipped Services

  • 7002802
  • 23-Mar-2009
  • 08-Nov-2012

Environment

Novell Open Enterprise Server 1 (OES 1)
Novell Open Enterprise Server 2 (OES 2)
SUSE Linux Enterprise Desktop 10
SUSE Linux Enterprise Server 10
SUSE Linux Enterprise Server 9

Situation

Failed services in runlevel 3:
Skipped services in runlevel 5:

Resolution

The general troubleshooting procedure for failed or skipped services is:
  1. Identify the failed or skipped services
    • The service(s) that is failing is shown on virtual console F1 after the "Failed service in runlevel" message.
    • Write down each service that failed or skipped
    • Troubleshoot each service, one at a time
  2. Look for error messages in /var/log/boot.msg for each failed service
    • The boot.msg file may show additional errors that occurred at the last server boot
  3. Perform an RPM validation check on the package that owns the failed service
    • The service name is associated with the file in the /etc/init.d directory
    • Run rpm -Vf /etc/init.d/<service_name>
  4. Reinstall the RPM packages associated with the failed service as necessary
    • If the size (S), md5sum (5), or permissions (M) have changed on a binary, library or the service file itself, consider reinstalling the RPM
    • If you need to reinstall the RPM, use YaST, Software, Software Management and force an update to the package that owns the failed service.
    • You can determine which package owns the failed service using the rpm command. For example, rpm -qf /etc/init.d/cups will show which RPM package owns CUPS.
  5. Configure service specific parameters as necessary
    • Most services are skipped because they haven't been configured yet
    • Refer to the service man pages and online documentation for configuration procedures
Example: CUPS fails at boot

When the server boots, the following message is left on the Ctrl-Alt-F1 screen:

<notice>startproc: execve (/usr/sbin/cupsd) [ /usr/sbin/cupsd ], [ CONSOLE=/dev/console ROOTFS_FSTYPE=ext3 SHELL=/bin/sh TERM=linux ROOTFS_FSCK=0 LC_ALL=POSIX INIT_VERSION=sysvinit-2.86 REDIRECT=/dev/tty1 COLUMNS=80 PATH=/bin:/sbin:/usr/bin:/usr/sbin DO_CONFIRM= RUNLEVEL=5 PWD=/ SPLASHCFG= PREVLEVEL=N LINES=25 HOME=/ SHLVL=2 splash=silent SPLASH=no ROOTFS_BLKDEV=/dev/disk/by-id/ata-Hitachi_HTS721010G9SA00_MPCZN7Y0H2B9PL-part7 _=/sbin/startproc DAEMON=/usr/sbin/cupsd ]
Starting cupsd failed

Not a lot of additional information is found in boot.msg.

Validating the RPM shows:

skylark:~ # rpm -qf /etc/init.d/cups
cups-1.3.9-8.14
skylark:~ # rpm -V cups
S.5....T  c /etc/cups/cupsd.conf
S.5....T    /usr/sbin/cupsd

The fact that the cupsd daemon has a different md5sum (5) now as compared to when it was installed, suggests file corruption with daemon executable. It is highly recommended that the cups RPM package be reinstalled in this case.

If cups were a skipped service, notice that the cupsd.conf file has been updated. You might want to review the CUPS configuration and retest in that case.