On Tuesday 02 April 2013 08:27 PM, matthew pideil wrote: > Hello, > > I tried your packages without results : > > LM05q:~/tmp# LANG=C dpkg -i *deb > (Reading database ... 31699 files and directories currently installed.) > Preparing to replace kpartx 0.4.9+git0.4dfdaf2b-7 (using > kpartx_0.4.9+git0.4dfdaf2b-7_amd64.deb) ... > Unpacking replacement kpartx ... > Preparing to replace multipath-tools 0.4.9+git0.4dfdaf2b-6 (using > multipath-tools_0.4.9+git0.4dfdaf2b-7_amd64.deb) ... > [....] Root is on a multipathed device, multipathd can not be > stopped:invoke-rc.d: initscript multipath-tools, action "stop" failed. > dpkg: warning: subprocess old pre-removal script returned error exit > status 1 > dpkg: trying script from the new package instead ... > [....] Root is on a multipathed device, multipathd can n
Okay!! It is a tricky situation now. The old, buggy version, has the bug that you cannot stop the daemon. When the dpkg installer calls it with the stop target, it exits unclean. And because of this, dpkg aborts the installation. I have a sure feeling that it is fixed but I'd like you to confirm. To work around it, you will have to brute force part of the installation. Attached with this email is the new initscirpt which has the fix. You need to take this initscript and overwrite it to the one in /etc/init.d/ Once you do that, you should not see the installation failure and you can work further on your tests. Ritesh -- Ritesh Raj Sarraf RESEARCHUT - http://www.researchut.com "Necessity is the mother of invention."
#! /bin/sh ### BEGIN INIT INFO # Provides: multipath-tools # Required-Start: udev $local_fs $syslog # Required-Stop: udev $local_fs $syslog # Should-Start: iscsi # Should-Stop: iscsi # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: multipath daemon # Description: ### END INIT INFO PATH=/sbin:/bin:/usr/sbin/:/usr/bin DAEMON=/sbin/multipathd NAME=multipathd DESC="multipath daemon" syspath=/sys/block test -x $DAEMON || exit 0 . /lib/lsb/init-functions if [ -f /etc/default/multipath-tools ] ; then . /etc/default/multipath-tools fi teardown_slaves() { cd $1; if [ -d "slaves" ]; then for slave in slaves/*; do if [ "$slave" = "slaves/*" ]; then read dev < $1/dev tablename=$(dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p") if ! [ -z $tablename ]; then log_daemon_msg "Root is on a multipathed device, multipathd can not be stopped" DONT_STOP_MPATHD=1 fi else local_slave=`readlink -f $slave`; teardown_slaves $local_slave; fi done else read dev < $1/dev tablename=$(dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p") if ! [ -z $tablename ]; then log_daemon_msg "Root is on a multipathed device, multipathd can not be stopped" DONT_STOP_MPATHD=1 fi fi } case "$1" in start) log_daemon_msg "Starting $DESC" "$NAME" start-stop-daemon --oknodo --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS log_end_msg $? ;; stop) DONT_STOP_MPATHD=0 root_dev=$(awk '{ if ($1 !~ /^[ \t]*#/ && $1 ~ /\// && $2 == "/") { print $1; }}' /etc/mtab) dm_num=$(dmsetup info -c --noheadings -o minor $root_dev 2>/dev/null) if [ $? -ne 0 ]; then # Looks like we couldn't find a device mapper root device # But we shouldn't bail out here, otherwise the stop target and the # upgrade processes will break. See DBUG #674733 echo; else root_dm_device="dm-$dm_num" [ -d $syspath/$root_dm_device ] && teardown_slaves $syspath/$root_dm_device fi if [ x$DONT_STOP_MPATHD = x0 ]; then log_daemon_msg "Stopping $DESC" "$NAME" start-stop-daemon --oknodo --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON log_end_msg $? fi ;; reload|force-reload) log_daemon_msg "Reloading $DESC" "$NAME" start-stop-daemon --stop --signal 1 --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON log_end_msg $? ;; restart|force-reload) $0 stop sleep 1 $0 start ;; *) N=/etc/init.d/multipath-tools echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0
signature.asc
Description: OpenPGP digital signature