[devel] [URGENT] apt-0.3 + big index = trouble

Anton V. Denisov =?iso-8859-1?q?fire_=CE=C1_kgpu=2Ekamchatka=2Eru?=
Пн Дек 2 00:27:32 MSK 2002


Приветствую всех.

APT использую уже довольно давно (ещё со времён Spring2001), но таких
чудачеств
от него не получал. Недавно получил диски с Diff Sisyphus 2002/09 (Sep02
15:33MSD) -> Sisyphus 2002/10 (Oct01 17:42MSD) и APT просто не смог с них
обновится с очень нехорошими симптомами: после того как он просчитал все
зависимости и другие данные, выдал мне список пакетов, которые подлежат
обновлению и я ответил на его вопрос Y он вывалил на экран коммандную строку
для rpm с полным списком пакетов (чего он, вообще говоря, делать не должен),
причём в этой коммандной строке местами присутсвовал (null) что мне совсем
не
понравилось. В итоге процесс rpm не запустился и никакого обновления
произведено не было. При попытке последующего dist-upgrade оно обламывалось
с
воплями о нарушенных зависимостях. В итоге, всякими правдами и неправдами:
через apt-get install с перечеслением всех обновлённых пакетов и при помощи
просто установки rpm'ом я обновился, но чудачества APT остались. Полагаю,
что
это связано с большим размером кешей базы данных APT'а, ибо у меня там
сейчас
один full snapshot и два diff'а. Уже обновлённым APT'ом я передобавил все
диски, чтобы он пересоздал кеши, но дурость осталась:

[root на Linux root]# apt-get dist-upgrade
Processing File Dependencies... Done
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Failed
Sorry, but the following packages have unmet dependencies:
  bash: Obsoletes: bash2
  shadow-convert:  shadow-utils: Obsoletes: adduser but it is not
installable
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused
by held packages.

Нет тут ни одной строки правды. Вывод с -o debug::pkgProblemResolver=true в
аттаче (он сильно большой). На мой взгляд это выглядит как некоторое
переполнение буфера или ещё чего, ибо получается слишком много Package has
broken dep on и после этого переполнения и происходит
pkgProblemResolver::Resolve generated breaks Самое что непонятное, для
некоторых пакетов apt-get install проходит нормально, а для некоторых опять
заканчивается ложными сообщениями о неудовлетворённых зависимостях.
Наверное,
моя система сейчас представляет из себя уникальный полигон по изучению
срывания
крыши у APT'а, хотя, наверное, можно и воссоздать эту ситуацию - просто
добавьте несколько full снапшотов, чтобы база стала просто огромной и APT
одуреет слегка :-(

А вот дурость при apt-get install:

[root на Linux root]# apt-get install qcad
Processing File Dependencies... Done
Reading Package Lists... Done
Building Dependency Tree... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:

Sorry, but the following packages have unmet dependencies:
  qcad: Depends: libqt3 (>= 3.0.5-alt5) but it is not going to be installed
        Depends: /bin/sh
        Depends: libX11.so.6
        Depends: libqt-mt.so.3
        Depends: libstdc++.so.5
        Depends: libstdc++.so.5(CXXABI_1.2)
        Depends: libstdc++.so.5(GLIBCPP_3.2)
E: Sorry, broken packages

Хотя всё нужное в системе стоит:

[root на Linux root]# rpmquery --whatprovides libqt3 /bin/sh libX11.so.6
libqt-mt.so.3 libstdc++.so.5 libstdc++.so.5\(CXXABI_1.2\)
libstdc++.so.5\(GLIBCPP_3.2\)
libqt3-3.0.5-alt8
sh-2.05b-alt2
sh-2.05b-alt2
XFree86-libs-4.2.1-alt2
libqt3-3.0.5-alt8
libstdc++3.2-3.2.1-alt0.4
libstdc++3.2-3.2.1-alt0.4
libstdc++3.2-3.2.1-alt0.4

И просто через rpm оно устанавливается:

[root на Linux root]# rpm -ivh
/mnt/cdrom/ALTLinux/i586/RPMS.Sisyphus20021001/qcad-1.5.3-alt1.i586.rpm
Preparing...
##################################################
qcad
##################################################

Для справки:

[root на Linux root]# rpmquery rpm apt; l /var/cache/apt/*.bin
rpm-4.0.4-alt4
apt-0.3.19cnc55-alt9
-rw-r--r--    1 root     rpm       3278529 Nov 30 18:51
/var/cache/apt/pkgcache.bin
-rw-r--r--    1 root     rpm       3278208 Nov 29 23:32
/var/cache/apt/srcpkgcache.bin

Почему он не смог сам установить qcad для меня остаётся загадкой. Возможно
из-за того, что /bin/sh и библиотеки libstdc++.so.* предоставляются
несколькими
пакетами. На мой взгляд у него просто срывает крышу от вычисления
зависимостей
(слишком много альтернатив).
К сожалению, проверить аналогичную ситуацию на apt-0.5 не могу, ибо у меня
есть
только cnc6 релиз, да и диски снапшотов сделаны не тем genbasedir.

[root на Linux root]# apt-cache stats
Total Package Names : 12537 (602k)
  Normal Packages: 3626
  Pure Virtual Packages: 2803
  Single Virtual Packages: 5659
  Mixed Virtual Packages: 110
  Missing: 339
Total Distinct Versions: 5266 (253k)
Total Dependencies: 69013 (1656k)
Total Ver/File relations: 5667 (90.7k)
Total Provides Mappings: 13595 (272k)
Total Globbed Strings: 120 (2126)
Total Slack space: 51.7k
Total Space Accounted for: 2927k

С уважением, Антон В. Денисов.

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : apt-fail.txt.gz
Тип     : application/x-gzip
Размер  : 9482 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20021202/9a2201f2/attachment-0001.bin>


Подробная информация о списке рассылки Devel