diff options
Diffstat (limited to 'main/utmps/setup-utmp')
-rw-r--r-- | main/utmps/setup-utmp | 43 |
1 files changed, 32 insertions, 11 deletions
diff --git a/main/utmps/setup-utmp b/main/utmps/setup-utmp index 575015068ae..031b1a637fb 100644 --- a/main/utmps/setup-utmp +++ b/main/utmps/setup-utmp @@ -4,20 +4,35 @@ prog="${0##*/}" y=true cleanup () { + if test "$1" -ge 10 ; then + rc-service -i -s utmp-init stop + fi + if test "$1" -ge 9 ; then + rc-service -i -s btmpd stop + fi + if test "$1" -ge 8 ; then + rc-service -i -s wtmpd stop + fi + if test "$1" -ge 7 ; then + rc-service -i -s utmpd stop + fi + if test "$1" -ge 6 ; then + rc-service -i -s utmp-prepare stop + fi if test "$1" -ge 5 ; then - service wtmpd stop + rc-update delete utmp-init boot || : fi if test "$1" -ge 4 ; then - service utmpd stop + rc-update delete btmpd boot || : fi if test "$1" -ge 3 ; then - rc-update delete utmp-init boot + rc-update delete wtmpd boot || : fi if test "$1" -ge 2 ; then - rc-update delete wtmpd boot + rc-update delete utmpd boot || : fi if test "$1" -ge 1 ; then - rc-update delete utmpd boot + rc-update delete utmp-prepare boot || : fi } @@ -31,14 +46,20 @@ while getopts 'yn' opt ; do done if $y ; then - rc-update add utmpd boot || { cleanup 0 ; exit 1 ; } - rc-update add wtmpd boot || { cleanup 1 ; exit 1 ; } - rc-update add utmp-init boot || { cleanup 2 ; exit 1 ; } - service utmpd start || { cleanup 3 ; exit 1 ; } - service wtmpd start || { cleanup 4 ; exit 1 ; } + rc-update add utmp-prepare boot || { cleanup 0 ; exit 1 ; } + rc-update add utmpd boot || { cleanup 1 ; exit 1 ; } + rc-update add wtmpd boot || { cleanup 2 ; exit 1 ; } + rc-update add btmpd boot || { cleanup 3 ; exit 1 ; } + rc-update add utmp-init boot || { cleanup 4 ; exit 1 ; } + rc-service utmp-prepare start || { cleanup 5 ; exit 1 ; } + rc-service utmpd start || { cleanup 6 ; exit 1 ; } + rc-service wtmpd start || { cleanup 7 ; exit 1 ; } + rc-service btmpd start || { cleanup 8 ; exit 1 ; } + # We don't run utmp-init because it's not boot time. + # : rc-service utmp-init start || { cleanup 9 ; exit 1 ; } echo "$prog: utmps services are now enabled. Use $prog -n to disable them." 1>&2 echo "$prog: note that user accounting may not be accurate until the next reboot." 1>&2 else - cleanup 5 + cleanup 10 echo "$prog: utmps services are disabled. Use $prog -y to reenable them." 1>&2 fi |