[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Init starting twice again



Falk Hueffner writes:
 > Hi,
 > 
 > at a recent upgrade, the problem with init being spawned a second time 
 > and trashing the file system occured again, this time because libc6
 > wanted that (it took me a while to find out that...). How can I
 > prevent this in the future? Is this a bug in init?
 > 

I would say this a bug in libc6, related to bug 28265 (and others).

libc6 executes "init u" in postinst to tell init to re-execute, but
only recent versions of init support this feature.  If an old init is
still running (altough the new one has been installed since the last
reboot), the "init u" will execute boot code, trashing the filesystem.

The only safe way to upgrade would be to:
- install a recent sysvinit
- imperatively _REBOOT_
- complete the upgrade

There is no way this can be solved by dependancies, because even if the
new package has been installed, the old init can still be running.

Maybe a check in the postinst, searching for the version of the actual
init binary by looking into /proc/1/exe must be done, before "init u" is 
executed.

Loic



Reply to: