Problem mit apt-get dist-upgrade

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
rag
Beiträge: 22
Registriert: 13.06.2004 05:21:12

Problem mit apt-get dist-upgrade

Beitrag von rag » 13.06.2004 05:25:06

Hallo,

wenn ich apt-get dist-upgrade ausführe wird mit folgendem Fehler abgebochen:

Code: Alles auswählen

Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
1 packages upgraded, 0 newly installed, 0 to remove and 0  not upgraded.
Need to get 0B/2801kB of archives. After unpacking 0B will be used.
Do you want to continue? [Y/n] y
Preconfiguring packages ...
(Lese Datenbank ... 25506 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereiten zum Ersetzen von mysql-server 3.23.49-8.4 (durch .../mysql-server_3.23.49-8.6_i386.deb) ...
Stopping MySQL database server: mysqlddpkg: Warnung - altes pre-removal-Skript wurde beendet mit Fehler-Status 1
dpkg - probiere stattdessen Skript aus dem neuen Paket ...
Stopping MySQL database server: mysqlddpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/mysql-server_3.23.49-8.6_i386.deb (--unpack):
 Unterprozess neues pre-removal Skript gab den Fehlerwert 1 zurück
Stopping MySQL database server: mysqldFehler traten auf beim Bearbeiten von:
 /var/cache/apt/archives/mysql-server_3.23.49-8.6_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Seit dem geht mysql nicht mehr. Wie bekomme ich das wieder in den Griff?

MfG
rag

Benutzeravatar
glatzor
Beiträge: 1769
Registriert: 03.02.2002 19:01:46
Wohnort: Vierkirchen bei München

Beitrag von glatzor » 13.06.2004 09:34:07

Führe mal zuvor folgenden Befehl aus, um eine detaillierte Ausgabe zu erhalten:
export DEBIAN_SCRIPT_DEBUG=1

rag
Beiträge: 22
Registriert: 13.06.2004 05:21:12

Beitrag von rag » 13.06.2004 14:04:23

Dann bekomme ich Folgendes raus (leider sehr lang):

Code: Alles auswählen

Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
1 packages upgraded, 0 newly installed, 0 to remove and 0  not upgraded.
Need to get 0B/2801kB of archives. After unpacking 0B will be used.
Do you want to continue? [Y/n] y
Preconfiguring packages ...
(Lese Datenbank ... 25506 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereiten zum Ersetzen von mysql-server 3.23.49-8.4 (durch .../mysql-server_3.23.49-8.6_i386.deb) ...

MYADMIN="/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf"
+ MYADMIN=/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf

# to let mysql restart after upgrades if it was manually started before
rm -f /etc/mysql/dpkg__mysql_was_running
+ rm -f /etc/mysql/dpkg__mysql_was_running
if [ "$1" = "upgrade"  -a  -n "`$MYADMIN ping 2>/dev/null`" ]; then
  touch /etc/mysql/dpkg__mysql_was_running
fi
$MYADMIN ping 2>/dev/null
++ /usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf ping
+ '[' upgrade = upgrade -a -n '' ']'

# Automatically added by dh_installdocs
if [ \( "$1" = "upgrade" -o "$1" = "remove" \) -a -L /usr/doc/mysql-server ]; then
        rm -f /usr/doc/mysql-server
fi
+ '[' '(' upgrade = upgrade -o upgrade = remove ')' -a -L /usr/doc/mysql-server ']'
# End automatically added section
# Automatically added by dh_installinit
if [ -x "/etc/init.d/mysql" ]; then
        /etc/init.d/mysql stop
fi
+ '[' -x /etc/init.d/mysql ']'
+ /etc/init.d/mysql stop

test -x /usr/sbin/mysqld || exit 0
+ test -x /usr/sbin/mysqld

SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
cd $(dirname $0); pwd -P
dirname $0
+++ dirname /etc/init.d/mysql
++ cd /etc/init.d
++ pwd -P
basename $0
++ basename /etc/init.d/mysql
+ SELF=/etc/init.d/mysql
CONF=/etc/my.cnf
+ CONF=/etc/my.cnf
MYADMIN="/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf"
+ MYADMIN=/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf

# Safeguard (relative paths, core dumps..)
cd /
+ cd /
umask 077
+ umask 077
export PATH=/bin:/usr/bin
+ export PATH=/bin:/usr/bin
+ PATH=/bin:/usr/bin

# mysqladmin likes to read /root/.my.cnf. This is usually not what I want
# as many admins e.g. only store a password without a username there and
# so break my scripts.
export HOME=/etc/mysql/
+ export HOME=/etc/mysql/
+ HOME=/etc/mysql/

is_mysqld_alive () {
    if [ -n "`$MYADMIN ping 2>/dev/null`" ]; then return 0; else return 1; fi
}

case "$1" in
  'start')
        # Start daemon
        echo -n "Starting MySQL database server: mysqld"
        cd /usr
        ./bin/safe_mysqld > /dev/null 2>&1 &
##      /usr/local/mysql/bin/mysqld_safe > /dev/null 2>&1 &
        for i in 1 2 3 4 5 6; do
          if is_mysqld_alive; then break; fi
          sleep 1
        done
        if is_mysqld_alive; then
          echo "."
        else
          echo "..."
        fi
        ;;

  'stop')
        # * As a passwordless mysqladmin (e.g. via ~/.my.cnf) must be possible
        # at least for cron, we can rely on it here, too. (although we have
        # to specify it explicit as e.g. sudo environments points to the normal
        # users home and not /root)
        echo -n "Stopping MySQL database server: mysqld"
        if is_mysqld_alive; then
          set +e
          $MYADMIN shutdown
          r=$?
          set -e
          if [ "$r" -ne 0 ]; then
            echo "...failed"
            echo -n "Killing MySQL database server by signal: mysqld"
            for i in 1 2 3 4 5 6; do
              killall -15 mysqld
              sleep 1
              killall -9 mysqld
              if is_mysqld_alive; then break; fi
            done
          fi
        fi

        killall mysqld >/dev/null 2>/dev/null
        sleep 2
        killall -9 mysqld >/dev/null 2>/dev/null
        echo "."
        ;;

  'restart')
        set +e; $SELF stop; set -e
        $SELF start
        ;;

  'reload'|'force-reload')
        echo -n "Reloading MySQL database server: mysqld"
        $MYADMIN reload
        echo "."
        ;;

  'status')
        $MYADMIN version
        ;;

  *)
        echo "Usage: $SELF start|stop|restart|reload|force-reload"
        exit 1
        ;;
esac
+ echo -n 'Stopping MySQL database server: mysqld'
Stopping MySQL database server: mysqld+ is_mysqld_alive
$MYADMIN ping 2>/dev/null
++ /usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf ping
+ '[' -n '' ']'
+ return 1
+ killall mysqld
dpkg: Warnung - altes pre-removal-Skript wurde beendet mit Fehler-Status 1
dpkg - probiere stattdessen Skript aus dem neuen Paket ...

MYADMIN="/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf"
+ MYADMIN=/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf

# to let mysql restart after upgrades if it was manually started before
rm -f /etc/mysql/dpkg__mysql_was_running
+ rm -f /etc/mysql/dpkg__mysql_was_running
if [ "$1" = "upgrade"  -a  -n "`$MYADMIN ping 2>/dev/null`" ]; then
  touch /etc/mysql/dpkg__mysql_was_running
fi
$MYADMIN ping 2>/dev/null
++ /usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf ping
+ '[' failed-upgrade = upgrade -a -n '' ']'

# Automatically added by dh_installdocs
if [ \( "$1" = "upgrade" -o "$1" = "remove" \) -a -L /usr/doc/mysql-server ]; then
        rm -f /usr/doc/mysql-server
fi
+ '[' '(' failed-upgrade = upgrade -o failed-upgrade = remove ')' -a -L /usr/doc/mysql-server ']'
# End automatically added section
# Automatically added by dh_installinit
if [ -x "/etc/init.d/mysql" ]; then
        /etc/init.d/mysql stop
fi
+ '[' -x /etc/init.d/mysql ']'
+ /etc/init.d/mysql stop

test -x /usr/sbin/mysqld || exit 0
+ test -x /usr/sbin/mysqld

SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
cd $(dirname $0); pwd -P
dirname $0
+++ dirname /etc/init.d/mysql
++ cd /etc/init.d
++ pwd -P
basename $0
++ basename /etc/init.d/mysql
+ SELF=/etc/init.d/mysql
CONF=/etc/my.cnf
+ CONF=/etc/my.cnf
MYADMIN="/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf"
+ MYADMIN=/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf

# Safeguard (relative paths, core dumps..)
cd /
+ cd /
umask 077
+ umask 077
export PATH=/bin:/usr/bin
+ export PATH=/bin:/usr/bin
+ PATH=/bin:/usr/bin

# mysqladmin likes to read /root/.my.cnf. This is usually not what I want
# as many admins e.g. only store a password without a username there and
# so break my scripts.
export HOME=/etc/mysql/
+ export HOME=/etc/mysql/
+ HOME=/etc/mysql/

is_mysqld_alive () {
    if [ -n "`$MYADMIN ping 2>/dev/null`" ]; then return 0; else return 1; fi
}

case "$1" in
  'start')
        # Start daemon
        echo -n "Starting MySQL database server: mysqld"
        cd /usr
        ./bin/safe_mysqld > /dev/null 2>&1 &
##      /usr/local/mysql/bin/mysqld_safe > /dev/null 2>&1 &
        for i in 1 2 3 4 5 6; do
          if is_mysqld_alive; then break; fi
          sleep 1
        done
        if is_mysqld_alive; then
          echo "."
        else
          echo "..."
        fi
        ;;

  'stop')
        # * As a passwordless mysqladmin (e.g. via ~/.my.cnf) must be possible
        # at least for cron, we can rely on it here, too. (although we have
        # to specify it explicit as e.g. sudo environments points to the normal
        # users home and not /root)
        echo -n "Stopping MySQL database server: mysqld"
        if is_mysqld_alive; then
          set +e
          $MYADMIN shutdown
          r=$?
          set -e
          if [ "$r" -ne 0 ]; then
            echo "...failed"
            echo -n "Killing MySQL database server by signal: mysqld"
            for i in 1 2 3 4 5 6; do
              killall -15 mysqld
              sleep 1
              killall -9 mysqld
              if is_mysqld_alive; then break; fi
            done
          fi
        fi

        killall mysqld >/dev/null 2>/dev/null
        sleep 2
        killall -9 mysqld >/dev/null 2>/dev/null
        echo "."
        ;;

  'restart')
        set +e; $SELF stop; set -e
        $SELF start
        ;;

  'reload'|'force-reload')
        echo -n "Reloading MySQL database server: mysqld"
        $MYADMIN reload
        echo "."
        ;;

  'status')
        $MYADMIN version
        ;;

  *)
        echo "Usage: $SELF start|stop|restart|reload|force-reload"
        exit 1
        ;;
esac
+ echo -n 'Stopping MySQL database server: mysqld'
Stopping MySQL database server: mysqld+ is_mysqld_alive
$MYADMIN ping 2>/dev/null
++ /usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf ping
+ '[' -n '' ']'
+ return 1
+ killall mysqld
dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/mysql-server_3.23.49-8.6_i386.deb (--unpack):
 Unterprozess neues pre-removal Skript gab den Fehlerwert 1 zurück

# This is necessary because mysql_install_db removes the pid file in /var/run
# and because changed configuration options should take effect immediately.
set +e; /etc/init.d/mysql stop; set -e
+ set +e
+ /etc/init.d/mysql stop

test -x /usr/sbin/mysqld || exit 0
+ test -x /usr/sbin/mysqld

SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
cd $(dirname $0); pwd -P
dirname $0
+++ dirname /etc/init.d/mysql
++ cd /etc/init.d
++ pwd -P
basename $0
++ basename /etc/init.d/mysql
+ SELF=/etc/init.d/mysql
CONF=/etc/my.cnf
+ CONF=/etc/my.cnf
MYADMIN="/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf"
+ MYADMIN=/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf

# Safeguard (relative paths, core dumps..)
cd /
+ cd /
umask 077
+ umask 077
export PATH=/bin:/usr/bin
+ export PATH=/bin:/usr/bin
+ PATH=/bin:/usr/bin

# mysqladmin likes to read /root/.my.cnf. This is usually not what I want
# as many admins e.g. only store a password without a username there and
# so break my scripts.
export HOME=/etc/mysql/
+ export HOME=/etc/mysql/
+ HOME=/etc/mysql/

is_mysqld_alive () {
    if [ -n "`$MYADMIN ping 2>/dev/null`" ]; then return 0; else return 1; fi
}

case "$1" in
  'start')
        # Start daemon
        echo -n "Starting MySQL database server: mysqld"
        cd /usr
        ./bin/safe_mysqld > /dev/null 2>&1 &
##      /usr/local/mysql/bin/mysqld_safe > /dev/null 2>&1 &
        for i in 1 2 3 4 5 6; do
          if is_mysqld_alive; then break; fi
          sleep 1
        done
        if is_mysqld_alive; then
          echo "."
        else
          echo "..."
        fi
        ;;

  'stop')
        # * As a passwordless mysqladmin (e.g. via ~/.my.cnf) must be possible
        # at least for cron, we can rely on it here, too. (although we have
        # to specify it explicit as e.g. sudo environments points to the normal
        # users home and not /root)
        echo -n "Stopping MySQL database server: mysqld"
        if is_mysqld_alive; then
          set +e
          $MYADMIN shutdown
          r=$?
          set -e
          if [ "$r" -ne 0 ]; then
            echo "...failed"
            echo -n "Killing MySQL database server by signal: mysqld"
            for i in 1 2 3 4 5 6; do
              killall -15 mysqld
              sleep 1
              killall -9 mysqld
              if is_mysqld_alive; then break; fi
            done
          fi
        fi

        killall mysqld >/dev/null 2>/dev/null
        sleep 2
        killall -9 mysqld >/dev/null 2>/dev/null
        echo "."
        ;;

  'restart')
        set +e; $SELF stop; set -e
        $SELF start
        ;;

  'reload'|'force-reload')
        echo -n "Reloading MySQL database server: mysqld"
        $MYADMIN reload
        echo "."
        ;;

  'status')
        $MYADMIN version
        ;;

  *)
        echo "Usage: $SELF start|stop|restart|reload|force-reload"
        exit 1
        ;;
esac
+ echo -n 'Stopping MySQL database server: mysqld'
Stopping MySQL database server: mysqld+ is_mysqld_alive
$MYADMIN ping 2>/dev/null
++ /usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf ping
+ '[' -n '' ']'
+ return 1
+ killall mysqld
+ set -e

case "$1" in
  configure)
    mysql_datadir=/usr/share/mysql
    mysql_statedir=/var/lib/mysql
    mysql_rundir=/var/run/mysqld
    mysql_logdir=/var/log
    mysql_cfgdir=/etc/mysql
    mysql_newlogdir=/var/log/mysql

    # ensure the existence and right permissionsa for the database and
    # log files
    if test ! -d $mysql_statedir;       then mkdir $mysql_statedir; fi
    if test ! -d $mysql_statedir/mysql; then mkdir $mysql_statedir/mysql; fi
    if test ! -d $mysql_statedir/test;  then mkdir $mysql_statedir/test; fi
    if test ! -d $mysql_newlogdir;      then mkdir $mysql_newlogdir; fi
    # when creating an ext3 jounal on an already mounted filesystem like e.g.
    # /var/lib/mysql, you get a .journal file that is not modifyable by chown
    set +e
    chown -R mysql $mysql_datadir
    chown -R mysql $mysql_statedir
    chown -R mysql $mysql_rundir
    chown -R mysql.mysql $mysql_newlogdir;      chmod 0770 $mysql_newlogdir;
    for i in log err; do
      touch             $mysql_logdir/mysql.$i
      chown mysql.mysql $mysql_logdir/mysql.$i
      chmod 0600        $mysql_logdir/mysql.$i
    done
    set -e
    # new location; omitting mysql.log* for compatibility reasons
    oldlogs=`ls $mysql_logdir/mysql.err* 2>/dev/null`
    if [ -n "$oldlogs" ]; then mv $oldlogs $mysql_newlogdir/; fi

    # initiate databases. Output is not allowed by debconf :-(
    # Debian: beware of the bashisms...
    # Debian: can safely run on upgrades with existing databases
    set +e
    /bin/bash /usr/bin/mysql_install_db -IN-RPM >>$mysql_newlogdir/mysql.err 2>&1
    if [ "$?" != "0" ]; then
      echo "ATTENTION: An error is occured. More info in /var/log/mysql/mysql.err!"
    fi
    set -e

    # On every reconfiguration the maintenance user is recreated.
    # The mysqld statement is like that in mysql_install_db because the
    # server is not already running.
    MYSQL_BOOTSTRAP="/usr/sbin/mysqld --bootstrap --user=mysql --skip-grant-tables  --skip-bdb  --skip-innodb  --skip-gemini"
    pass=`perl -e 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..16)'`;
    # ash has a buildin echo that does not support "-e"
    /bin/echo -e \
        "USE mysql;\n" \
        "DELETE FROM user WHERE host='localhost' and user='debian-sys-maint';\n" \
        "INSERT INTO user (host,user,password,shutdown_priv,reload_priv) VALUES " \
        "  ('localhost','debian-sys-maint',password('$pass'),'Y','Y');\n" \
        |$MYSQL_BOOTSTRAP >>$mysql_newlogdir/mysql.err 2>&1
    # If this dir chmod go+w then the admin did it. But this file should not.
    dc=$mysql_cfgdir/debian.cnf;
    if [ ! -d "$mysql_cfgdir" ]; then install -o 0 -g 0 -m 0755 -d $mysql_cfgdir; fi
    cat /dev/null > $dc
    chown 0.0 $dc
    chmod 0600 $dc
    echo "# Automatically generated for Debian scripts. DO NOT TOUCH!" >>$dc
    echo "[client]"                    >>$dc
    echo "host     = localhost"        >>$dc
    echo "user     = debian-sys-maint" >>$dc
    echo "password = $pass"            >>$dc

    # Re: DEBHELPER
    #
    # No debhelper here because it would start mysql in every case and we
    # want the user to decide to start mysql only on demand or on boot.
    #
    # 1. Things the Debhelper script did, too, which we may not omit.
    # 2. Registering the init script to modify /etc/runlevel.conf or /etc/rcX.d
    # 3. Start the daemon if it should start on boottime or on demand and
    #    was running.
    #
    # Automatically added by dh_installdocs
    if [ "$1" = "configure" ]; then
      if [ -d /usr/doc -a ! -e /usr/doc/mysql-server -a -d /usr/share/doc/mysql-server ]; then
        ln -sf ../share/doc/mysql-server /usr/doc/mysql-server
      fi
    fi
    # End automatically added section
    db_get mysql-server/start_on_boot
    if [ "$RET" = "true" ]; then
      update-rc.d mysql defaults >/dev/null
    else
      # FIXME: doesn't work right now because update-rc.d has a bug!
      update-rc.d -f mysql remove >/dev/null
    fi
    if [ \( "$RET" = "true" \) -o \( -f /etc/mysql/dpkg__mysql_was_running \) ]; then
      /etc/init.d/mysql start
    fi
    rm -f /etc/mysql/dpkg__mysql_was_running

    # DSA 303-1, CAN-2003-0150
    if [ ! -e /var/lib/mysql/my.cnf ]; then
        echo "# This file must exist - CAN-2003-0150, DSA-303" > /var/lib/mysql/my.cnf
    fi

  ;;

  abort-upgrade|abort-remove|abort-configure)
  ;;

  *)
    echo "postinst called with unknown argument '$1'" >&2
    exit 1
  ;;
esac

db_stop
+ db_stop
+ echo STOP

# No debhelper, see last lines of configure block from the case statement.

exit 0
+ exit 0
Fehler traten auf beim Bearbeiten von:
 /var/cache/apt/archives/mysql-server_3.23.49-8.6_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

|bash|
Beiträge: 1
Registriert: 06.07.2004 17:14:34

Problem! :(

Beitrag von |bash| » 06.07.2004 17:18:11

Hallo habe das gleiche Problem.. siehe hier:

server05:~# apt-get upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/2801kB of archives. After unpacking 0B will be used.
Do you want to continue? [Y/n] Y
Preconfiguring packages ...
Selecting previously deselected package mysql-server.
(Reading database ...
dpkg: serious warning: files list file for package `mysql-server' missing, assuming package has no files currently installed.
25555 files and directories currently installed.)
Preparing to replace mysql-server 3.23.49-8.5 (using .../mysql-server_3.23.49-8.6_i386.deb) ...
Stopping MySQL database server: mysqlddpkg: warning - old pre-removal script returned error exit status 1
dpkg - trying script from the new package instead ...
Stopping MySQL database server: mysqlddpkg: error processing /var/cache/apt/archives/mysql-server_3.23.49-8.6_i386.deb (--unpack):
subprocess new pre-removal script returned error exit status 1
Stopping MySQL database server: mysqldErrors were encountered while processing:
/var/cache/apt/archives/mysql-server_3.23.49-8.6_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
You have new mail in /var/mail/root
server05:~#

-----------
Was kann man dagegen machen??? *snif*

Athlux
Beiträge: 543
Registriert: 16.05.2004 22:15:56

Beitrag von Athlux » 06.07.2004 19:16:03

Mhm das kommt mir doch irgendwoher bekannt vor.

Ich hatte das selbe letztens mir courier-imap

Anscheinend stimmt da was net mit dem Start/Stop Script - Als Ich autostart bei courier ausgemacht habe gings zu installieren - Da versucht Er nämlich net den Dienst zu beenden und neuzustarten

EDIT: Nur Vermutung meinerseits


man könnte erstmal versuchen mit

dpkg -i --force-all /var/cache/apt/archives/mysql-server_3.23.49-8.6_i386.deb

Das Paket mit Gewalt draufzupacken.

Notfalls mysql mit purge deinstallieren und nochmal probieren - Natürlich DB Sicherung machen falls nötig.
Gruß Athlux

Antworten