Apr�s une mise � jour de la 8.1 vers la 8.2, mon ordinateur reboote d�s
que j'en demande l'arr�t. C'est assez genant...
Halt dans une console fournit le m�me r�sultat.
Voici le script halt tel qu'il s'ex�cute. Je ne sais pas quoi modifier
pour l'emp�cher de rebooter � la fin de la proc�dure d'extinction.
merci d'avance
#!/bin/bash
#
# rc.halt This file is executed by init when it goes into runlevel
# 0 (halt) or runlevel 6 (reboot). It kills all processes,
# unmounts file systems and then either halts or reboots.
#
# Author: Miquel van Smoorenburg, <[EMAIL PROTECTED]>
# Modified for RHS Linux by Damien Neil
#
# Set the path.
PATH=/sbin:/bin:/usr/bin:/usr/sbin
export NOLOCALE=1
. /etc/init.d/functions
initquiet
quiet on
runcmd() {
gprintf "%s " $1
shift
if [ "$BOOTUP" = "color" ]; then
$* && echo_success || echo_failure
else
$*
fi
echo
}
# If we are in Aurora, let it show a nice msg telling the user that
# the system is halted...
if [ -x /etc/aurora/Monitor ] && /etc/aurora/Monitor query; then
. /lib/aurora/functions
# See how we were called.
case "$0" in
*halt)
chvt 1
;;
*reboot)
echo "Please stand by while rebooting the system..."
# Just make sure Aurora have time enough to display it before we kill
# Aurora!
sleep 1
;;
esac
# Reset output from Aurora...
exec 0<&3
exec 1>&4
exec 2>&5
fi
halt_get_remaining() {
awk '!/(^#|proc|loopfs|devfs|autofs|^none|^\/dev\/root| \/ )/ {print
$2}' /proc/mounts
awk '{ if ($3 ~ /^proc$/ && $2 !~ /^\/proc/) print $2; }' /proc/mounts
}
# See how we were called.
case "$0" in
*halt)
message=`gprintf "Halting system..."`
command="halt"
;;
*reboot)
message=`gprintf "Please stand by while rebooting the system..."`
command="reboot"
;;
*)
gprintf "%s: call me as 'rc.halt' or 'rc.reboot' please!\n" $0
exit 1
;;
esac
if [ -n "$1" ]; then
case "$1" in
*start)
;;
*)
gprintf "Usage: (halt|reboot) {start}\n"
exit 1
;;
esac
fi
# Recreate the /initrd if needed
if [ ! -d /initrd ]; then
runcmd "Creating initrd directory" mkdir /initrd
fi
if [ -d /initrd -a ! -f /initrd/README.WARNING ]; then
cat > /initrd/README.WARNING <<EOF
(mkinitrd) Don't remove this directory, it's needed at boot time,
in the initrd, to perform the pivot_root.
EOF
fi
# Kill all processes.
[ "${BASH+bash}" = bash ] && enable kill
runcmd "Sending all processes the TERM signal..." /sbin/killall5 -15
sleep 5
runcmd "Sending all processes the KILL signal..." /sbin/killall5 -9
# Write to wtmp file before unmounting /var
halt -w
# Sync the system clock.
ARC=0
SRM=0
UTC=0
if [ -f /etc/sysconfig/clock ]; then
. /etc/sysconfig/clock
# convert old style clock config to new values
if [ "${CLOCKMODE}" = "GMT" ]; then
UTC=true
elif [ "${CLOCKMODE}" = "ARC" ]; then
ARC=true
fi
fi
CLOCKDEF=""
CLOCKFLAGS="$CLOCKFLAGS --systohc"
case "$UTC" in
yes|true)
CLOCKFLAGS="$CLOCKFLAGS -u";
CLOCKDEF="$CLOCKDEF (utc)";
;;
no|false)
CLOCKFLAGS="$CLOCKFLAGS --localtime";
CLOCKDEF="$CLOCKDEF (localtime)";
;;
esac
case "$ARC" in
yes|true)
CLOCKFLAGS="$CLOCKFLAGS -A";
CLOCKDEF="$CLOCKDEF (arc)";
;;
esac
case "$SRM" in
yes|true)
CLOCKFLAGS="$CLOCKFLAGS -S";
CLOCKDEF="$CLOCKDEF (srm)";
;;
esac
runcmd "Syncing hardware clock to system time" /sbin/hwclock $CLOCKFLAGS
# Turn off swap, then unmount file systems.
SWAPS=`awk '! /^Filename/ { print $1 }' /proc/swaps`
[ -n "$SWAPS" ] && runcmd "Turning off swap: " swapoff $SWAPS
[ -x /sbin/accton ] && runcmd "Turning off accounting: " /sbin/accton
[ -x /sbin/quotaoff ] && runcmd "Turning off quotas: " /sbin/quotaoff
-aug
# first remove entry /initrd/loopfs as it can't be unmounted :(
mtab=$(fgrep -v "/initrd/loopfs[^/]" /etc/mtab)
(IFS= ; echo $mtab > /etc/mtab)
# Unmount file systems, killing processes if we have to.
# Unmount loopback stuff first
remaining=`awk '!/^#/ && $1 ~ /^\/dev\/loop/ && $2 != "/" {print $2}'
/proc/mounts`
devremaining=`awk '!/^#/ && $1 ~ /^\/dev\/loop/ && $2 != "/" {print
$1}' /proc/mounts`
[ -n "$remaining" ] && {
sig=
retry=3
while [ -n "$remaining" -a "$retry" -gt 0 ]
do
if [ "$retry" -lt 3 ]; then
runcmd "Unmounting loopback filesystems (retry):" umount
$remaining
else
runcmd "Unmounting loopback filesystems: " umount $remaining
fi
for dev in $devremaining ; do
losetup $dev > /dev/null 2>&1 && \
runcmd "Detaching loopback device %s: " $dev losetup
-d $device
done
remaining=`awk '!/^#/ && $1 ~ /^\/dev\/loop/ && $2 != "/" {print $2}'
/proc/mounts`
devremaining=`awk '!/^#/ && $1 ~ /^\/dev\/loop/ && $2 != "/" {print
$1}' /proc/mounts`
[ -z "$remaining" ] && break
/sbin/fuser -k -m $sig $remaining >/dev/null
sleep 5
retry=$(($retry -1))
sig=-9
done
}
sig=
retry=3
remaining=`halt_get_remaining | sort -r`
while [ -n "$remaining" -a "$retry" -gt 0 ]
do
if [ "$retry" -lt 3 ]; then
LANG=C runcmd "Unmounting file systems (retry): " umount -f
$remaining
else
LANG=C runcmd "Unmounting file systems: " umount -f $remaining
fi
sleep 2
remaining=`halt_get_remaining | sort -r`
[ -z "$remaining" ] && break
/sbin/fuser -k -m $sig $remaining >/dev/null
sleep 5
retry=$(($retry-1))
sig=-9
done
if [ -x /sbin/vgchange -a -f /etc/lvmtab ]; then
runcmd "Shutting down LVM:" /sbin/vgchange -a n
fi
[ -f /proc/bus/usb/devices ] && umount /proc/bus/usb
# remove the crash indicator flag
rm -f /.autofsck
# Try them all, one last time.
umount -a -f -t nodevfs,noproc
# Remount read only anything that's left mounted.
#gprintf "Remounting remaining filesystems (if any) readonly\n"
mount | awk '/( \/ |^\/dev\/root)/ { print $3 }' | while read line; do
mount -n -o ro,remount $line
done
runcmd "Unmounting proc file system: " umount /proc
# See if this is a powerfail situation.
if [ -f /etc/apcupsd/powerfail ]; then
quiet off
gprintf "APCUPSD will now power off the UPS!\n"
echo
/etc/apcupsd/apccontrol killpower
echo
gprintf "Please ensure that the UPS has powered off before
rebooting\n"
gprintf "Otherwise, the UPS may cut the power during the reboot!!!\n"
echo
sleep 120
exit 1
fi
quiet off
# Now halt or reboot.
echo "$message"
if [ -f /fastboot ]; then
gprintf "On the next boot fsck will be skipped.\n"
elif [ -f /forcefsck ]; then
gprintf "On the next boot fsck will be forced.\n"
fi
HALTARGS="-i -d -p"
if [ -f /halt ]; then
HALTARGS="-i -d"
fi
eval $command $HALTARGS
--
****************************
Michel Gosse
[EMAIL PROTECTED]
[EMAIL PROTECTED]
****************************
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com"