[Bug 1311810] Re: /etc/init.d/rsyslog is an init script not a link to /lib/init/upstart-job

Joshua Timberman 1311810 at bugs.launchpad.net
Tue Apr 29 15:57:02 UTC 2014


I've added a "affects openssh-server" because I'm seeing that
/etc/init.d/ssh is an init script as well, instead of a link to
/lib/init/upstart-job.

# file /etc/init.d/ssh
/etc/init.d/ssh: POSIX shell script, ASCII text executable

Contains:

check_for_upstart() {
    if init_is_upstart; then
        exit $1
    fi
}

ubuntu at ssh:~$ sudo /etc/init.d/ssh restart
[sudo] password for ubuntu:
ubuntu at ssh:~$ echo $?
1
ubuntu at ssh:~$ sudo restart ssh
ssh start/running, process 460
ubuntu at ssh:~$ echo $?
0

** Also affects: openssh (Ubuntu)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to rsyslog in Ubuntu.
https://bugs.launchpad.net/bugs/1311810

Title:
  /etc/init.d/rsyslog is an init script not a link to /lib/init/upstart-
  job

Status in “openssh” package in Ubuntu:
  New
Status in “rsyslog” package in Ubuntu:
  Confirmed

Bug description:
  Using Canonical-provided AMI of Ubuntu 14.04, or the LXC Ubuntu 14.04
  template, /etc/init.d/rsyslog is an init script. In Ubuntu 10.04 or
  12.04, /etc/init.d/rsyslog was a symbolic link to /lib/init/upstart-
  job.

  The problem here is that the init script does this:

  . /lib/lsb/init-functions

  And that file has this function, used later in /etc/init.d/rsyslog:

  init_is_upstart()
  {
     if [ -x /sbin/initctl ] && /sbin/initctl version 2>/dev/null | /bin/grep -q upstart; then
         return 0
     fi
     return 1
  }

  Running /etc/init.d/rsyslog with start or restart commands results in
  a return code of 1 because the case statement for these uses the
  init_is_upstart function:

          if init_is_upstart; then
                  exit 1
          fi

  I modified /etc/init.d/rsyslog on an instance to add "set -x", and
  here's the results of running /etc/init.d/rsyslog start

  ubuntu at rsyslog-bug:~$ sudo /etc/init.d/rsyslog start
  + PATH=/sbin:/usr/sbin:/bin:/usr/bin
  + DESC=enhanced syslogd
  + NAME=rsyslog
  + RSYSLOGD=rsyslogd
  + DAEMON=/usr/sbin/rsyslogd
  + PIDFILE=/var/run/rsyslogd.pid
  + SCRIPTNAME=/etc/init.d/rsyslog
  + [ -x /usr/sbin/rsyslogd ]
  + [ -r /etc/default/rsyslog ]
  + . /etc/default/rsyslog
  + RSYSLOGD_OPTIONS=
  + . /lib/lsb/init-functions
  + run-parts --lsbsysinit --list /lib/lsb/init-functions.d
  + [ -r /lib/lsb/init-functions.d/20-left-info-blocks ]
  + . /lib/lsb/init-functions.d/20-left-info-blocks
  + [ -r /lib/lsb/init-functions.d/50-ubuntu-logging ]
  + . /lib/lsb/init-functions.d/50-ubuntu-logging
  + LOG_DAEMON_MSG=
  + FANCYTTY=
  + [ -e /etc/lsb-base-logging.sh ]
  + true
  + init_is_upstart
  + [ -x /sbin/initctl ]
  + /bin/grep -q upstart
  + /sbin/initctl version
  + return 0
  + exit 1

  The fix here is to properly create a symlink of /lib/init/upstart-job
  to /etc/init.d/rsyslog, which will provide the sysv/lsb compatible
  interface to manage the upstart job. This should be done in the
  package, not by end users who are attempting to control their rsyslog
  service.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1311810/+subscriptions



More information about the foundations-bugs mailing list