LINUX.ORG.RU

[debian][sqeeze] Ошибка dpkg при обновлении пакета


0

1

Накопилось обновлений на гиг с лихвой, решил обновиться, но что-то пошло не так:

565 пакетов обновлено, 32 установлено новых, 0 пакетов отмечено для удаления, и 7 пакетов не обновлено.
Необходимо получить 0 B/971 MB архивов. После распаковки 7 991 kB будет занято.
Хотите продолжить? [Y/n/?] y
Извлечение шаблонов из пакетов: 100%          
Предварительная настройка пакетов ...
не удалось выполнить начальную настройку пакета tzdata, код ошибки 1
не удалось выполнить начальную настройку пакета x11-common, код ошибки 1
не удалось выполнить начальную настройку пакета locales, код ошибки 1
не удалось выполнить начальную настройку пакета phonon, код ошибки 1
не удалось выполнить начальную настройку пакета cups-bsd, код ошибки 1
не удалось выполнить начальную настройку пакета debsums, код ошибки 1
не удалось выполнить начальную настройку пакета gpsd, код ошибки 1
не удалось выполнить начальную настройку пакета htdig, код ошибки 1
не удалось выполнить начальную настройку пакета kdm, код ошибки 1
не удалось выполнить начальную настройку пакета openvpn, код ошибки 1
не удалось выполнить начальную настройку пакета samba-common, код ошибки 1
не удалось выполнить начальную настройку пакета davfs2, код ошибки 1
(Чтение базы данных ... на данный момент установлено 311810 файлов и каталогов.)
Подготовка к замене пакета libc6 2.13-21 (используется файл .../libc6_2.13-24_i386.deb) ...
dpkg: не удалось обработать параметр /var/cache/apt/archives/libc6_2.13-24_i386.deb (--unpack):
 подпроцесс новый сценарий pre-installation возвратил код ошибки 1
configured to not write apport reports
                                      При обработке следующих пакетов произошли ошибки:
 /var/cache/apt/archives/libc6_2.13-24_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Не удалось установить пакет. Попытка восстановить:
Настраивается пакет man-db (2.6.0.2-3) ...
dpkg: не удалось обработать параметр man-db (--configure):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 1
dpkg: зависимости пакетов не позволяют настроить пакет libc6-dbg:
 libc6-dbg зависит от libc6 (= 2.13-24), однако:
  Версия libc6 в системе 2.13-21.
dpkg: не удалось обработать параметр libc6-dbg (--configure):
 проблемы зависимостей -- оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет libc6-dev:
 libc6-dev зависит от libc6 (= 2.13-24), однако:
  Версия libc6 в системе 2.13-21.
dpkg: не удалось обработать параметр libc6-dev (--configure):
 проблемы зависимостей -- оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
 man-db
 libc6-dbg
 libc6-dev

Начал разбираться с /var/cache/apt/archives/libc6_2.13-24_i386.deb, ибо остальное упирается по зависимости в него.

zLaptop:/home/zhan# dpkg --debug=2 -i /var/cache/apt/archives/libc6_2.13-24_i386.deb 
(Чтение базы данных ... на данный момент установлено 311810 файлов и каталогов.)
Подготовка к замене пакета libc6 2.13-21 (используется файл .../libc6_2.13-24_i386.deb) ...
D000002: fork/exec /var/lib/dpkg/info/libc6.prerm ( upgrade 2.13-24 )
D000002: fork/exec /var/lib/dpkg/tmp.ci/preinst ( upgrade 2.13-21 )
dpkg: не удалось обработать параметр /var/cache/apt/archives/libc6_2.13-24_i386.deb (--install):
 подпроцесс новый сценарий pre-installation возвратил код ошибки 1
D000002: fork/exec /var/lib/dpkg/tmp.ci/postrm ( abort-upgrade 2.13-21 )
D000002: fork/exec /var/lib/dpkg/info/libc6.postinst ( abort-upgrade 2.13-24 )
При обработке следующих пакетов произошли ошибки:
 /var/cache/apt/archives/libc6_2.13-24_i386.deb

Сценарий pre-installation я не нашёл, /var/lib/dpkg/info/libc6.prerm завершается с нулём, а файла /var/lib/dpkg/tmp.ci/preinst не существует (как и всей директории). Не в курсе как там должно быть — генерировать скрипт во время установки, или он просто пропал?

Куда копать дальше?

UPD: Почекал пакеты, dpkg в порядке:

zLaptop:/var/lib/dpkg/info# debsums dpkg |grep -v OK

★★

Куда копать дальше?

cd $(mktemp -d)
ar x /var/cache/apt/archives/libc6_2.13-24_i386.deb
tar xf config.tgz
sh -x ./preinst

AITap ★★★★★ ()
Ответ на: комментарий от AITap

tar xf config.tgz

Отчего-то вместо него control.tar.gz

./preinst вернул 0:

zLaptop:/tmp/tmp.6AcMD0KQAY# sh -x ./preinst
+ set -e
+ export 'LC_ALL=C'
+ type='' 
+ preversion='' 
+ [ '' '=' upgrade ']'
+ [ '' '!=' abort-upgrade ']'
+ dirs=+ sed 's/:/ /g'
+ dirs=+ echo
+ dirs='' 
+ test -n ''
+ [ -n '' ']'
+ system=+ uname -s
+ system=Linux 
+ [ Linux '=' Linux ']'
+ kernel_rev=+ kernel_rev=+ sed 's/\([0-9]*\.\)\{1,2\}\([0-9]*\)\(.*\)/\2/'
+ uname -r
+ kernel_rev=0 
+ [ 0 -ge 255 ']'
+ realarch=+ uname -m
+ realarch=i686 
+ kernel_ver=+ uname -r
+ kernel_ver=3.1.0-1-686-pae 
+ case i686 (arm*)
+ case i686 (mips*)
+ [ i686 '!=' m68k ']'
+ vmin=2.6.26 
+ linux_compare_versions 3.1.0-1-686-pae lt 2.6.26
+ verA=+ sed 's/^\([0-9]*\.[0-9]*\)\([^.0-9]\|$\)/\1.0\2/; s/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 10000 + \2 \* 100 + \3/'
+ verA=+ echo 3.1.0-1-686-pae
+ verA=30100 
+ verB=+ sed 's/^\([0-9]*\.[0-9]*\)\([^.0-9]\|$\)/\1.0\2/; s/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 10000 + \2 \* 100 + \3/'
+ verB=+ echo 2.6.26
+ verB=20626 
+ test 30100 -lt 20626
+ [ i686 '=' sparc ']'
+ case  (upgrade|abort-upgrade)
+ [ -n '' ']'
+ exit 0

ZhAN ★★ ()
Ответ на: комментарий от ZhAN

Отчего-то вместо него control.tar.gz

Да, я ошибся.

Попробуйте sh -x ./preinst upgrade

AITap ★★★★★ ()
Ответ на: комментарий от AITap
zLaptop:/tmp/tmp.6AcMD0KQAY# sh -x ./preinst upgrade
+ set -e
+ export 'LC_ALL=C'
+ type=upgrade 
+ preversion='' 
+ [ upgrade '=' upgrade ']'
+ dpkg --compare-versions '' le 2.9-22
+ rm_conffile libc6 /etc/init.d/glibc.sh
+ local 'PKGNAME=libc6'
+ local 'CONFFILE=/etc/init.d/glibc.sh'
+ [ -e /etc/init.d/glibc.sh ']'
+ return 0
+ update-rc.d glibc.sh remove
+ [ -f /usr/share/debconf/confmodule ']'
+ . /usr/share/debconf/confmodule
+ [ ! '' ']'
+ PERL_DL_NONLAZY=1 
+ export PERL_DL_NONLAZY
+ [ '' ']'
+ /usr/share/debconf/frontend ./preinst upgrade
ZhAN ★★ ()
Ответ на: комментарий от ZhAN

Понятно, запускается debconf.
Попробуйте:
DEBCONF_DEBUG=developer aptitude upgrade libc6

AITap ★★★★★ ()
Ответ на: комментарий от AITap
zLaptop:/tmp/tmp.6AcMD0KQAY# DEBCONF_DEBUG=developer aptitude upgrade libc6
Разрешение зависимостей...                       
Следующие пакеты будут обновлены:
  libc6 libc6-i686 udev 
Следующие частично установленные пакеты будут настроены:
  libc6-dbg libc6-dev man-db 
3 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 569 пакетов не обновлено.
Необходимо получить 0 B/5 517 kB архивов. После распаковки освободится 1 037 k байт.
Хотите продолжить? [Y/n/?] y
Предварительная настройка пакетов ...         
debconf (developer): starting /tmp/libc6.config.26661 configure 2.13-21
debconf (developer): starting /tmp/udev.config.26663 configure 175-2
(Чтение базы данных ... на данный момент установлено 311810 файлов и каталогов.)
Подготовка к замене пакета libc6 2.13-21 (используется файл .../libc6_2.13-24_i386.deb) ...
debconf (developer): frontend started
debconf (developer): frontend running, package name is libc6
debconf (developer): starting /var/lib/dpkg/tmp.ci/preinst upgrade 2.13-21
dpkg: не удалось обработать параметр /var/cache/apt/archives/libc6_2.13-24_i386.deb (--unpack):
 подпроцесс новый сценарий pre-installation возвратил код ошибки 1
configured to not write apport reports
                                      При обработке следующих пакетов произошли ошибки:
 /var/cache/apt/archives/libc6_2.13-24_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Не удалось установить пакет. Попытка восстановить:
Настраивается пакет man-db (2.6.0.2-3) ...
debconf (developer): frontend started
debconf (developer): frontend running, package name is man-db
debconf (developer): starting /var/lib/dpkg/info/man-db.config configure 2.6.0.2-3
dpkg: не удалось обработать параметр man-db (--configure):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 1
dpkg: зависимости пакетов не позволяют настроить пакет libc6-dbg:
 libc6-dbg зависит от libc6 (= 2.13-24), однако:
  Версия libc6 в системе 2.13-21.
dpkg: не удалось обработать параметр libc6-dbg (--configure):
 проблемы зависимостей -- оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет libc6-dev:
 libc6-dev зависит от libc6 (= 2.13-24), однако:
  Версия libc6 в системе 2.13-21.
dpkg: не удалось обработать параметр libc6-dev (--configure):
 проблемы зависимостей -- оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
 man-db
 libc6-dbg
 libc6-dev

Снова несуществующий /var/lib/dpkg/tmp.ci/preinst

ZhAN ★★ ()
Ответ на: комментарий от ZhAN

DEBCONF_DEBUG=developer sh -x ./preinst upgrade 2.13-21

Попробуйте ещё DEBCONF_DEBUG='.*' aptitude upgrade libc6

Снова несуществующий /var/lib/dpkg/tmp.ci/preinst

Там тот же самый preinst, что и распакованный из пакета.

AITap ★★★★★ ()
Ответ на: комментарий от AITap
zLaptop:/tmp/tmp.6AcMD0KQAY# DEBCONF_DEBUG='.*' aptitude upgrade libc6
Разрешение зависимостей...                       
Следующие пакеты будут обновлены:
  libc6 libc6-i686 udev 
Следующие частично установленные пакеты будут настроены:
  libc6-dbg libc6-dev man-db 
3 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 569 пакетов не обновлено.
Необходимо получить 0 B/5 517 kB архивов. После распаковки освободится 1 037 k байт.
Хотите продолжить? [Y/n/?] y
debconf (db): making DbDriver of type File    
debconf (db config): started; filename is /var/cache/debconf/config.dat
debconf (db config): loading database
debconf (db): making DbDriver of type File
debconf (db passwords): started; filename is /var/cache/debconf/passwords.dat
debconf (db passwords): loading database
debconf (db): making DbDriver of type Stack
debconf (db): making DbDriver of type File
debconf (db templatedb): started; filename is /var/cache/debconf/templates.dat
debconf (db templatedb): loading database
debconf (db configdb): trying to getfield(debconf/frontend value) ..
debconf (db configdb): getfield done by config
debconf (user): trying frontend Dialog
Предварительная настройка пакетов ...
debconf (db configdb): trying to addowner(glibc/upgrade libc6 boolean) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(glibc/restart-services libc6 string) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(glibc/restart-failed libc6 error) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(glibc/disable-screensaver libc6 error) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(libraries/restart-without-asking libc6 boolean) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(udev/title/upgrade udev title) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(udev/reboot_needed udev error) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(udev/sysfs_deprecated_incompatibility udev error) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(udev/new_kernel_needed udev boolean) ..
debconf (db configdb): passing to config ..
debconf (user): preconfiguring libc6 (2.13-21)
debconf (developer): starting /tmp/libc6.config.30141 configure 2.13-21
debconf (user): preconfiguring udev (175-2)
debconf (developer): starting /tmp/udev.config.30143 configure 175-2
debconf (db config): no database changes, not saving
debconf (db passwords): no database changes, not saving
debconf (db templatedb): saving database
(Чтение базы данных ... на данный момент установлено 311810 файлов и каталогов.)
Подготовка к замене пакета libc6 2.13-21 (используется файл .../libc6_2.13-24_i386.deb) ...
debconf (db): making DbDriver of type File
debconf (db config): started; filename is /var/cache/debconf/config.dat
debconf (db config): loading database
debconf (db): making DbDriver of type File
debconf (db passwords): started; filename is /var/cache/debconf/passwords.dat
debconf (db passwords): loading database
debconf (db): making DbDriver of type Stack
debconf (db): making DbDriver of type File
debconf (db templatedb): started; filename is /var/cache/debconf/templates.dat
debconf (db templatedb): loading database
debconf (developer): frontend started
debconf (db configdb): trying to getfield(debconf/frontend value) ..
debconf (db configdb): getfield done by config
debconf (user): trying frontend Dialog
debconf (developer): frontend running, package name is libc6
debconf (db configdb): trying to addowner(glibc/upgrade libc6 boolean) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(glibc/restart-services libc6 string) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(glibc/restart-failed libc6 error) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(glibc/disable-screensaver libc6 error) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(libraries/restart-without-asking libc6 boolean) ..
debconf (db configdb): passing to config ..
debconf (developer): starting /var/lib/dpkg/tmp.ci/preinst upgrade 2.13-21
debconf (db config): no database changes, not saving
debconf (db passwords): no database changes, not saving
debconf (db templatedb): saving database
dpkg: не удалось обработать параметр /var/cache/apt/archives/libc6_2.13-24_i386.deb (--unpack):
 подпроцесс новый сценарий pre-installation возвратил код ошибки 1
configured to not write apport reports
                                      При обработке следующих пакетов произошли ошибки:
 /var/cache/apt/archives/libc6_2.13-24_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Настраивается пакет man-db (2.6.0.2-3) ...
debconf (db): making DbDriver of type File
debconf (db config): started; filename is /var/cache/debconf/config.dat
debconf (db config): loading database
debconf (db): making DbDriver of type File
debconf (db passwords): started; filename is /var/cache/debconf/passwords.dat
debconf (db passwords): loading database
debconf (db): making DbDriver of type Stack
debconf (db): making DbDriver of type File
debconf (db templatedb): started; filename is /var/cache/debconf/templates.dat
debconf (db templatedb): loading database
debconf (developer): frontend started
debconf (db configdb): trying to getfield(debconf/frontend value) ..
debconf (db configdb): getfield done by config
debconf (user): trying frontend Dialog
debconf (developer): frontend running, package name is man-db
debconf (db configdb): trying to addowner(man-db/install-setuid man-db boolean) ..
debconf (db configdb): passing to config ..
debconf (db configdb): trying to addowner(man-db/auto-update man-db boolean) ..
debconf (db configdb): passing to config ..
debconf (developer): starting /var/lib/dpkg/info/man-db.config configure 2.6.0.2-3
dpkg: не удалось обработать параметр man-db (--configure):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 1
dpkg: зависимости пакетов не позволяют настроить пакет libc6-dbg:
 libc6-dbg зависит от libc6 (= 2.13-24), однако:
  Версия libc6 в системе 2.13-21.
dpkg: не удалось обработать параметр libc6-dbg (--configure):
 проблемы зависимостей -- оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет libc6-dev:
 libc6-dev зависит от libc6 (= 2.13-24), однако:
  Версия libc6 в системе 2.13-21.
dpkg: не удалось обработать параметр libc6-dev (--configure):
 проблемы зависимостей -- оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
 man-db
 libc6-dbg
 libc6-dev
ZhAN ★★ ()
Ответ на: комментарий от AITap
zLaptop:/tmp/tmp.6AcMD0KQAY# DEBCONF_DEBUG=developer sh -x ./preinst upgrade 2.13-21
+ set -e
+ export 'LC_ALL=C'
+ type=upgrade 
+ preversion=2.13-21 
+ [ upgrade '=' upgrade ']'
+ dpkg --compare-versions 2.13-21 le 2.9-22
+ [ -f /usr/share/debconf/confmodule ']'
+ . /usr/share/debconf/confmodule
+ [ ! '' ']'
+ PERL_DL_NONLAZY=1 
+ export PERL_DL_NONLAZY
+ [ '' ']'
+ /usr/share/debconf/frontend ./preinst upgrade 2.13-21
debconf (developer): frontend started
debconf (developer): Trying to find a templates file..
debconf (developer): Trying ./preinst.templates
debconf (developer): Trying /usr/share/debconf/templates/preinst.templates
debconf (developer): Couldn't find a templates file.
debconf (developer): frontend running, package name is 
debconf (developer): starting ./preinst upgrade 2.13-21

ZhAN ★★ ()
Ответ на: комментарий от ZhAN

Даже не знаю, чем помочь: ошибки нигде не видно.

Попробуйте в самом ./preinst записать первую строку не #!/bin/sh, а #!/bin/sh -x и в таком виде запустить DEBCONF_DEBUG=developer ./preinst upgrade 2.13-21.

AITap ★★★★★ ()
Ответ на: комментарий от AITap

Спасибо, в любом случае для меня многое прояснилось.

ZhAN ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.