Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
Autor Nachricht
Biedermann2
Titel: "shutdown now" bringt fehler  BeitragVerfasst am: 25.06.2006, 10:24 Uhr



Anmeldung: 22. Feb 2005
Beiträge: 58

hallo!
habe neulich mal wieder in der textkonsole versucht, per "shutdown now" meinen rechner runterzufahren.
allerdings kommt alsbald folgende fehlermeldung:

/etc/init.d/rc exited outside the expected code flow

ich habe schon mal in die datei reingesehen, aber zugegebener maßen verstehe ich zu wenig davon. kann mir da einer weiterhelfen?



PATH=/sbin:/bin:/usr/sbin:/usr/bin
export PATH

# Un-comment the following for debugging.
# debug=echo

# Specify method used to enable concurrent init.d scripts.
# Valid options are 'none', 'shell' and 'startpar'
CONCURRENCY=none

# Make sure the name survive changing the argument list
scriptname="$0"

umask 022

#
# Start script or program.
#
case "$CONCURRENCY" in
none)
startup() {
action=$1
shift
scripts="$@"
sh=sh
# Debian Policy §9.3.1 requires .sh scripts in runlevel S to be sourced
# However, some important packages currently contain .sh scripts
# that do "exit" at some point, thus killing this process. Bad!
#[ S = "$runlevel" ] && sh=.
for script in $scripts ; do
case "$script" in
*.sh)
if [ "." = "$sh" ] ; then
set "$action"
RC_SAVE_PATH="$PATH"
$debug . "$script"
PATH="$RC_SAVE_PATH"
else
$debug $sh "$script" $action
fi
;;
*)
$debug "$script" $action
;;
esac
done
}
;;
shell)
startup() {
action=$1
shift
scripts="$@"
sh=sh
# Debian Policy §9.3.1 requires .sh scripts in runlevel S to be sourced
# However, some important packages currently contain .sh scripts
# that do "exit" at some point, thus killing this process. Bad!
#[ S = "$runlevel" ] && sh=.
backgrounded=0
for script in $scripts ; do
case "$script" in
*.sh)
if [ "." = "$sh" ] ; then
set "$action"
RC_SAVE_PATH="$PATH"
$debug . "$script"
PATH="$RC_SAVE_PATH"
else
$debug $sh "$script" $action
fi
;;
*)
$debug "$script" $action &
backgrounded=1
;;
esac
done
[ 1 = "$backgrounded" ] && wait
}
;;
startpar)
startup() {
action=$1
shift
scripts="$@"
sh=sh
# Debian Policy §9.3.1 requires .sh scripts in runlevel S to be sourced
# However, some important packages currently contain .sh scripts
# that do "exit" at some point, thus killing this process. Bad!
#[ S = "$runlevel" ] && sh=.
# Make sure .sh scripts are sourced in runlevel S
if [ "." = "$sh" ] ; then
newscripts=
for script in $scripts ; do
case "$script" in
*.sh)
set "$action"
RC_SAVE_PATH="$PATH"
$debug . "$script"
PATH="$RC_SAVE_PATH"
;;
*)
newscripts="$newscripts $script"
;;
esac
done
scripts="$newscripts"
fi

# startpar is not working as it should yet [pere 2005-09-10]
[ -n "$scripts" ] && $debug startpar -a $action $scripts
$debug startpar -a $action $scripts
}
;;
esac

on_exit() {
echo "error: '$scriptname' exited outside the expected code flow."
}
trap on_exit EXIT # Enable emergency handler

# Ignore CTRL-C only in this shell, so we can interrupt subprocesses.
trap ":" INT QUIT TSTP

# Set onlcr to avoid staircase effect.
stty onlcr 0>&1

# Now find out what the current and what the previous runlevel are.

runlevel=$RUNLEVEL
# Get first argument. Set new runlevel to this argument.
[ "$1" != "" ] && runlevel=$1
if [ "$runlevel" = "" ]
then
echo "Usage: $scriptname <runlevel>" >&2
exit 1
fi
previous=$PREVLEVEL
[ "$previous" = "" ] && previous=N

export runlevel previous

if [ S = "$runlevel" ]
then
#
# See if system needs to be setup. This is ONLY meant to
# be used for the initial setup after a fresh installation!
#
if [ -x /sbin/unconfigured.sh ]
then
/sbin/unconfigured.sh
fi
fi

. /etc/default/rcS
export VERBOSE

# Is there an rc directory for this new runlevel?
if [ -d /etc/rc$runlevel.d ]
then
# First, run the KILL scripts.
if [ "$previous" != N ]
then
# Run all scripts with the same level in parallel
CURLEVEL=""
for s in /etc/rc$runlevel.d/K*
do
level=$(echo $s | sed 's/.*\/K\([0-9][0-9]\).*/\1/')
if [ "$level" = "$CURLEVEL" ]
then
continue
fi
CURLEVEL=$level
SCRIPTS=""
for i in /etc/rc$runlevel.d/K$level*
do
# Check if the script is there.
[ ! -f $i ] && continue

#
# Find stop script in previous runlevel but
# no start script there.
#
suffix=${i#/etc/rc$runlevel.d/K[0-9][0-9]}
previous_stop=/etc/rc$previous.d/K[0-9][0-9]$suffix
previous_start=/etc/rc$previous.d/S[0-9][0-9]$suffix
#
# If there is a stop script in the previous level
# and _no_ start script there, we don't
# have to re-stop the service.
#
[ -f $previous_stop ] && [ ! -f $previous_start ] && continue

# Stop the service.
SCRIPTS="$SCRIPTS $i"
done
startup stop $SCRIPTS
done
fi

case "$runlevel" in
0|6)
ACTION=stop
first_step=100
progress_size=100
step_change=-1
;;
S)
ACTION=start
first_step=0
progress_size=100
step_change=1
;;
*)
ACTION=start
first_step=0
progress_size=100
step_change=1
;;
esac

# Count the number of scripts we need to run (for usplash progress bar)
num_steps=0
for s in /etc/rc$runlevel.d/S*; do
num_steps=$(($num_steps + 1))
case "${s##/etc/rc$runlevel.d/S??}" in
gdm|xdm|kdm)
break
;;
esac
done

# Now run the START scripts for this runlevel.
# Run all scripts with the same level in parallel
CURLEVEL=""
step=0
for s in /etc/rc$runlevel.d/S*
do
level=$(echo $s | sed 's/.*\/S\([0-9][0-9]\).*/\1/')
if [ "$level" = "$CURLEVEL" ]
then
continue
fi
CURLEVEL=$level
SCRIPTS=""
for i in /etc/rc$runlevel.d/S$level*
do
[ ! -f $i ] && continue

if [ "$previous" != N ]
then
#
# Find start script in previous runlevel and
# stop script in this runlevel.
#
suffix=${i#/etc/rc$runlevel.d/S[0-9][0-9]}
stop=/etc/rc$runlevel.d/K[0-9][0-9]$suffix
previous_start=/etc/rc$previous.d/S[0-9][0-9]$suffix
#
# If there is a start script in the previous level
# and _no_ stop script in this level, we don't
# have to re-start the service.
#
[ -f $previous_start ] && [ ! -f $stop ] && continue
fi
SCRIPTS="$SCRIPTS $i"
done
startup $ACTION $SCRIPTS

# Use 50% of the progress bar for rcS and the rest for the
# runlevel we want to end up in
step=$(($step + $step_change))
progress=$(($step * $progress_size / $num_steps + $first_step))
if type usplash_write >/dev/null 2>&1; then
usplash_write "PROGRESS $progress" || true
fi
done
fi

if [ S = "$runlevel" ]
then
#
# For compatibility, run the files in /etc/rc.boot too.
#
[ -d /etc/rc.boot ] && run-parts /etc/rc.boot

#
# Finish setup if needed. The comment above about
# /sbin/unconfigured.sh applies here as well!
#
if [ -x /sbin/setup.sh ]
then
/sbin/setup.sh
fi
fi

trap - EXIT # Disable emergency handler

exit 0
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
John
Titel: RE: "shutdown now" bringt fehler  BeitragVerfasst am: 25.06.2006, 13:24 Uhr



Anmeldung: 10. Dez 2004
Beiträge: 489
Wohnort: Stuttgart / Kulmbach
der richtige befehl heisst glaube ich shutdown -h now
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
ockham23
Titel:   BeitragVerfasst am: 25.06.2006, 13:25 Uhr



Anmeldung: 25. Mar 2005
Beiträge: 2133

Bei mir funktioniert
Code:
shutdown -h now

bzw.
Code:
shutdown -r now


für Runterfahren bzw. Reboot.

_________________
And I ain't got no worries 'cause I ain't in no hurry at all (Doobie Brothers, "Black Water").
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
schlingel
Titel:   BeitragVerfasst am: 25.06.2006, 15:52 Uhr



Anmeldung: 04. Jan 2004
Beiträge: 1177

warum nicht halt oder reboot?
geht doch auch.

_________________
"mit Oropax im Ohr kommt einem die Welt viel leiser vor"
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
Dannyboy
Titel:   BeitragVerfasst am: 25.06.2006, 23:56 Uhr



Anmeldung: 30. Jun 2005
Beiträge: 449

Ich hab' das s-Bit für /sbin/shutdown und /sbin/reboot gesetzt, damit ich das auch als Nicht-Root machen kann. Hoffe halt, dass da nix exploitable ist, aber bei mir kommt eh niemand sonst an den Rechner.

Greetz
DANNY
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
Beiträge vom vorherigen Thema anzeigen:     
Gehe zu:  
Alle Zeiten sind GMT + 1 Stunde
Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
PNphpBB2 © 2003-2007