Critical system files such as /sbin/shutdown and /sbin/init missing after updating upstart

Bug #1436956 reported by Lin
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
init-system-helpers (Ubuntu)
Fix Released
Undecided
Adam Conrad

Bug Description

1)
Description: Ubuntu Vivid Vervet (development branch)
Release: 15.04

2)
upstart:
  Installed: 1.13.2-0ubuntu9
  Candidate: 1.13.2-0ubuntu10
  Version table:
     1.13.2-0ubuntu10 0
        500 http://mirror.cloud.online.net/ubuntu-ports/ vivid/main armhf Packages
 *** 1.13.2-0ubuntu9 0
        100 /var/lib/dpkg/status

3) What you expected to happen
System continues to run normally with critical system files (listed below) intact.

4) What happened instead
The following critical system files are all missing after updating the upstart package using apt-get:
/sbin/halt
/sbin/init
/sbin/poweroff
/sbin/reboot
/sbin/runlevel
/sbin/shutdown
/sbin/telinit

This is a serious bug which could prevent rebooting/shutdown of the OS and completely disable it due to missing /sbin/init.

Revision history for this message
Thomas Ward (teward) wrote :

Vivid uses systemd by default now, instead of upstart. Is this on a non-standard system configuration?

Changed in upstart (Ubuntu):
status: New → Incomplete
Revision history for this message
Lin (sl85mail) wrote :
Download full text (8.7 KiB)

Yes, this is a server on labs.online.net, using their "InstantApps" image named "Docker 1.3.2 + fig + nsenter + pipework + gosu".

Here are the outputs from aptitude:

root@labs-XXXXX:~# aptitude search upstart
p libupstart-dev - Upstart Client Library (development files)
p libupstart1 - Upstart Client Library
p netscript-2.4-upstart - Linux 2.4/2.6 router/firewall/VM host network config. system.
i upstart - event-based init daemon - essential binaries
v upstart-app-launch -
v upstart-app-launch-tools -
i upstart-bin - event-based init daemon - transitional dummy package
v upstart-compat-sysv -
p upstart-dconf-bridge - DConf bridge for upstart
v upstart-job -
p upstart-monitor - event monitor for upstart
p upstart-sysv - event-based init daemon - SysV links
p upstart-watchdog - watchdog jobs to reboot when system or session jobs fail ...

Read more...

Revision history for this message
Jürgen (j-w-ott) wrote :

I switched to upstart because systemd was broken. I recovered by changing the default to multiuser and then installed upstart again.

Revision history for this message
Vadim Smelyansky (vadim-vadiaz) wrote :

I hit this behavior too.
I upgraded 14.04 on test laptop to 15.04 and it worked ok , but after last update system missing /sbin/init and won't boot.
before rebooted I tried to issue init command and get message the /sbin/init provided by upstart (systemd was not refenced)
also searching for init like dpkg -S /sbin/init results in error that no package containing /sbin/init
after reboot system brokes, restored by just copy /sbin/init, reboot and links from install cd of 14.04
doing dpkg -l upstart does not list /sbin/init, shutdown etc so --reinstall upstart does not help
aparently upstart 1.13 is broken
and system no switched to systemd while release upgrade

Revision history for this message
Lin (sl85mail) wrote :

I had an email conversation with Mr. Didier Roche (with CC to Mr. James Hunt, Upstart package maintainer) , who commited the change which moved files such as /sbin/init and /sbin/shutdown from upstart (1.13.2-0ubuntu10) to upstart-sysv (1.13.2-0ubuntu12):
http://changelogs.ubuntu.com/changelogs/pool/main/u/upstart/upstart_1.13.2-0ubuntu12/changelog

In his replies to my email, Mr. Roche mentioned that "Upstart is not anymore the init system by default on ubuntu 15.04, they switched to systemd by default a month ago."

When I told him that I encountered this bug when using the "Docker" Image from Online Labs (now Scaleway), he said that "They need to either use our own seed system to respect ubuntu-minimal defaults and not reinstall themselves what they need, but clearly, they need to install systemd-sysv starting from vivid as we don't support upstart for those use case anymore. They should just really use the ubuntu-minimal metapackage if they want to not get into those issues in the futures while following ubuntu do."

And when I asked about the possiblility of making Upstart depend on upstart-sysv, he replied: "That's the opposite goal of the change :) We want to have the upstart binaries so that someone can decide in grub to either boot systemd (default, as per systemd-sysv installed) or upstart. Both systemd-sysv and upstart-sysv installs the same files (symlinks) to decide what to boot, so they can't be installed altogether. We thus can't have upstart depending on upstart-sysv."

Revision history for this message
Adam Conrad (adconrad) wrote :

I think we intended to make "init" Essential again after the systemd switch, and this somehow slipped our minds, or we hadn't noticed any dire consequences of not doing so. I've done this now, and will monitor if fixing this bug will cause others elsewhere.

Changed in upstart (Ubuntu):
status: Incomplete → In Progress
assignee: nobody → Adam Conrad (adconrad)
Adam Conrad (adconrad)
affects: upstart (Ubuntu) → init-system-helpers (Ubuntu)
Changed in init-system-helpers (Ubuntu):
assignee: Adam Conrad (adconrad) → nobody
Adam Conrad (adconrad)
Changed in init-system-helpers (Ubuntu):
assignee: nobody → Adam Conrad (adconrad)
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package init-system-helpers - 1.22ubuntu8

---------------
init-system-helpers (1.22ubuntu8) vivid; urgency=medium

  * Make init "Essential: yes" again, it's the only way to guarantee a
    sane upgrade path for people without ubuntu-minimal (LP: #1436956)
 -- Adam Conrad <email address hidden> Tue, 07 Apr 2015 10:27:59 -0600

Changed in init-system-helpers (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers