Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: Marto в Jul 17, 2008, 16:27



Титла: Apt broken package remove
Публикувано от: Marto в Jul 17, 2008, 16:27
Здравейте !

Предимно от скоро използвам Debian. Имам проблем с един счупен пакет, който дава грешка при опит за премахване в post-remove скрипта си, и не мога да го премахна дори и насилствено. Има ли някакъв задкулисен начин, или възможност за debug на post remove скрипта преди да бъде правен опит за премахване на пакета ?
Примерен код
martian:~/pcsc-lite-1.4.102# dpkg --remove --force-remove-reinstreq etoken-pro-aladdin
(Reading database ... 114188 files and directories currently installed.)
Removing etoken-pro-aladdin ...
Stopping Aladdin eToken cache service etsrvd.
Stopping pcscd daemon:
/usr/sbin/invoke-rc.d: line 437: 26755 Terminated              "${INITDPREFIX}${INITSCRIPTID}" "${saction}" "$@"
invoke-rc.d: initscript pcscd, action "stop" failed.
dpkg: error processing etoken-pro-aladdin (--remove):
 subprocess pre-removal script returned error exit status 143
Errors were encountered while processing:
 etoken-pro-aladdin
martian:~/pcsc-lite-1.4.102#


Опасявам се, че проблема дори не е в post-remove скрипта, а е възможно да е в pcscd или invoke-rc.d скрипта за конкретния случай.

Благодаря за помоща !

Поздрави,
Марто


Титла: Apt broken package remove
Публикувано от: Marto в Jul 17, 2008, 17:20
Оказа се, че в /var/lib/dpkg/info се намират всички post-remove и pre-remove файлове за пакетите, намерих проблемия ред, изпълних го ръчно по правилния начин, премахнах го от скрипта и всичко мина добре. :)

 :D


Титла: Apt broken package remove
Публикувано от: bulg в Jul 18, 2008, 22:42
Цитат (Marto @ Юли 17 2008,17:20)
Оказа се, че в /var/lib/dpkg/info се намират всички post-remove и pre-remove файлове за пакетите, намерих проблемия ред, изпълних го ръчно по правилния начин, премахнах го от скрипта и всичко мина добре. :)

 :D

Дай малко по-подробно, ако може.


Титла: Apt broken package remove
Публикувано от: Marto в Jul 19, 2008, 12:45
etoken-pro-aladdin не е официален пакет. Инсталирах го на собствен риск с надеждата да накарам един eToken на Aladdin да заработи в Линукса ми. Така и не можах, ако някой ползва такива четци, моля да сподели опит. :)

Премахването на пакета се оказа проблемно. Deb пакетите използват pre remove и post remove скриптове, които се изпълняват съответно преди и след пакета да бъде премахнат. Беше използван несполучлив метод за спиране на един от зависимите демони в pre remove скрипта, който открив, че се намира в споменатата директория. Тъй като нямах намерение повече да инсталирам същия този пакет, аз видях како прави скрипта, спрях ръчно pcsd демона и изтрих реда, който прави проблем от скрипта. Така неговото премахване беше успешно.

Aladdin eToken е марка карточетци за "smart карти" или "sim карти", които в случая се използват за съхраняване и защита на сертификат. Принципа е същия, по който работят "електронните подписи", които едва наскоро започнаха да действат в България. Хората са го накарали да работи в Линукс, но аз нещо не успях, може би защото използвам unstable на Debian. Мисля да пиша e-mail, до някой от успелите за помощ. Ако някой от вас ги използва вече, ще дам подробна информация за грешката, която получавам. Подозирам, че има проблем в libusb, но не съм сигурен, пробвах с две версии безуспешно.

Благодаря !  :ok: