Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Your IP : 18.118.93.61
#!/bin/sh
set -e
if [ "$1" = configure ]; then
# A dependent library of Upstart has changed, so restart Upstart
# such that it can safely unmount the root filesystem (LP: #740390)
# Query running version of Upstart, but only when we know
# that initctl will work.
#
# The calculated version string may be the null string if
# Upstart is not running (where for example an alternative
# init is running outside a chroot environment) or if the
# query failed for some reason. However, the version check
# below handles a null version string correctly.
UPSTART_VERSION_RUNNING=$(initctl version 2>/dev/null |\
awk '{print $3}'|tr -d ')' || :)
if ischroot; then
# Do not honour re-exec when requested from within a
# chroot since:
#
# (a) The version of Upstart outside might not support it.
# (b) An isolated environment such as a chroot should
# not be able to modify its containing environment.
#
# A sufficiently new Upstart will actually handle a re-exec
# request coming from telinit within a chroot correctly (by
# doing nothing) but it's simple enough to perform the check
# here and save Upstart the effort.
:
elif dpkg --compare-versions "$UPSTART_VERSION_RUNNING" ge 1.6.1; then
# We are not running inside a chroot and the running version
# of Upstart supports stateful re-exec, so we can
# restart immediately.
#
# XXX: Note that the check on the running version must
# remain *indefinitely* since it's the only safe way to
# know if stateful re-exec is supported: simply checking
# packaged version numbers is not sufficient since
# the package could be upgraded multiple times without a
# reboot.
telinit u || :
else
# Before we shutdown or reboot, we need to re-exec so that we
# can safely remount the root filesystem; we can't just do that
# here because we lose state.
touch /var/run/init.upgraded || :
fi
fi
|