LINUX.ORG.RU

Debain + dpkg непонятная ошибка 10


0

0

Странно но отвалились несколько пакетов. Пакеты рабочие это точно, но почему такая ошибка не ясно:

$ dpkg --configure gdm
Настраивается пакет gdm (2.20.11-1) ...
dpkg: не удалось обработать параметр gdm (--configure):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 10
При обработке следующих пакетов произошли ошибки:
 gdm

$ dpkg-reconfigure gdm
/usr/sbin/dpkg-reconfigure: Пакет gdm сломан или установлен не полностью

$ apt-get install -f
Настраивается пакет gdm (2.20.11-1) ...
dpkg: не удалось обработать параметр gdm (--configure):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 10
...

Погулил, так и не понял почему вываливается ошибка 10! Как лечить тоже не понятно... и удалял полностью и заного ставил - бестолку :(

Есть идеи?

★★★

пакет кривой. вынь руками оттуда пост-инсталл скрипт и посмотри почему не работает.

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

это скрипт /var/lib/dpkg/info/gdm.postinst, посмотри что там может не работать. Если не найдёшь, добавь в шебанг ключ -x:

#!/bin/sh -x

и переконфигурь опять, он будет показывать все команды, которые выполняет.

alex_custov ★★★★★ ()
Ответ на: комментарий от alex_custov
Настраивается пакет gdm (2.20.11-1) ...
+ set -e
+ . /usr/share/debconf/confmodule
+ [ !  ]
+ PERL_DL_NONLAZY=1
+ export PERL_DL_NONLAZY
+ [  ]
+ exec /usr/share/debconf/frontend /var/lib/dpkg/info/gdm.postinst configure 
dpkg: не удалось обработать параметр gdm (--configure):

Ткнул ручками /usr/share/debconf/frontend /var/lib/dpkg/info/gdm.postinst configure - пролетело без ошибок.

Какие еще идеи?

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

и второе-

# export PERL_DL_NONLAZY=1
# /usr/share/debconf/frontend /var/lib/dpkg/info/gdm.postinst configure || echo failed

alex_custov ★★★★★ ()

grep 'exit 10' /var/lib/dpkg/info/gdm.postinst
что показывает?

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

[code] # export PERL_DL_NONLAZY=1 # /usr/share/debconf/frontend /var/lib/dpkg/info/gdm.postinst configure || echo failed [/code] failed :(

grep 'exit 10' /var/lib/dpkg/info/gdm.postinst Пусто

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

Кстати, какие действия производились над системой до этого? Какой именно Debian (lenny, testing, sid)?

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

> # /usr/share/debconf/frontend /var/lib/dpkg/info/gdm.postinst configure
Попробуем:
perl -d /usr/share/debconf/frontend /var/lib/dpkg/info/gdm.postinst configure

(для начала стоит прочесть man perldebug)

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

Кстати,

       PERL_DL_NONLAZY
                   Set to one to have perl resolve all undefined symbols when it loads a dynamic library.  The default behaviour is to resolve symbols when
                   they are used.  Setting this variable is useful during testing of extensions as it ensures that you get an error on misspelled function
                   names even if the test suite doesn't call it.

Интересно, зачем это в configure?

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

У меня debian sid. Я имел неосторожность загрузиться с какогото deb подобного rescue CD сделать chroot и обновить какие то пакеты... после этого пошла эта фигня. Не пойму в чем дело :(

perl -d /usr/share/debconf/frontend /var/lib/dpkg/info/gdm.postinst configure

Loading DB routines from perl5db.pl version 1.32
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(/usr/share/debconf/frontend:11):
11:	Debconf::Db->load;
  DB<1> n
debconf: DbDriver "passwords" warning: could not open /var/cache/debconf/passwords.dat: Отказано в доступе
main::(/usr/share/debconf/frontend:13):
13:	debug developer => "frontend started";
  DB<1> n
main::(/usr/share/debconf/frontend:15):
15:	my $frontend=make_frontend();
  DB<1> n
main::(/usr/share/debconf/frontend:17):
17:	shift @ARGV if $ARGV[0] eq '--';
  DB<1> n
main::(/usr/share/debconf/frontend:19):
19:	my $package;
  DB<1> n
main::(/usr/share/debconf/frontend:20):
20:	if ($ENV{DEBCONF_PACKAGE}) {
  DB<1> n
main::(/usr/share/debconf/frontend:24):
24:		$package=$1;
  DB<1> n
main::(/usr/share/debconf/frontend:65):
65:	debug developer => "frontend running, package name is $package";
  DB<1> n
main::(/usr/share/debconf/frontend:66):
66:	$frontend->default_title($package) if length $package;
  DB<1> n
main::(/usr/share/debconf/frontend:67):
67:	$frontend->info(undef);
  DB<1> n
main::(/usr/share/debconf/frontend:69):
69:	if ($ARGV[0] =~/^(.*[.\/])(?:postinst|preinst)$/) {
  DB<1> n
main::(/usr/share/debconf/frontend:70):
70:		my $base=$1;
  DB<1> n
main::(/usr/share/debconf/frontend:72):
72:		my $templates=$base."templates";
  DB<1> n
main::(/usr/share/debconf/frontend:73):
73:		Debconf::Template->load($templates, $package)
74:			if -e $templates;
  DB<1> n
main::(/usr/share/debconf/frontend:76):
76:		my $config=$base."config";
  DB<1> n
main::(/usr/share/debconf/frontend:77):
77:		if (-e $config) {
  DB<1> n
main::(/usr/share/debconf/frontend:78):
78:			my $version=$ARGV[2];
  DB<1> n
main::(/usr/share/debconf/frontend:79):
79:			if (! defined($version)) {
  DB<1> n
main::(/usr/share/debconf/frontend:80):
80:				$version='';
  DB<1> n
main::(/usr/share/debconf/frontend:82):
82:			my $confmodule=make_confmodule($config,
83:				"configure", $version);
  DB<1> n
main::(/usr/share/debconf/frontend:85):
85:			$confmodule->owner($package);
  DB<1> n
main::(/usr/share/debconf/frontend:87):
87:			1 while ($confmodule->communicate);
  DB<1> n
main::(/usr/share/debconf/frontend:89):
89:			exit $confmodule->exitcode if $confmodule->exitcode > 0;
  DB<1> q
Mrak ★★★ ()
Ответ на: комментарий от Mrak

Очень странно. Попробуйте full-upgrade или переустановку/перенастройку perl или apt или dpkg.

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