Як налагодити помилку налаштування dpkg у післяпроцесовій пост-інсталяції?


17

Коротше кажучи: я намагаюся встановити spamassassin, але dpkg повертається лише за допомогою:

dpkg: error processing spamassassin (--configure):
subprocess installed post-installation script returned error exit status 1

Я намагався знайти більше інформації про те, що йде не так, але я не можу ніде знайти корисну реєстрацію.

У / var / crash генерується звіт про аварійний спам, але це дає лише старі помилки dpkg та:

 Start-Date: 2014-02-17  19:18:13
 Commandline: apt-get install spamassassin
AptOrdering:
 spamassassin: Configure
 amavisd-new-postfix: Configure

Слідує реєстрація dmesg від запуску. Amavis видає помилку, оскільки спаммассасин залежності не налаштований.

Я перевірив файли журналів:

apt history.log
apt term.log
dpkg.log
syslog.log

але додаткової інформації немає.

Я спробував dpkg -D з усіма можливими восьмериками, але не знаю нічого корисного в тому, що могло б піти не так.

Про помилки dpkg написано багато запитань та можливих рішень, і багато я пробував, але не маючи додаткової інформації, я не маю відчуття, що я кудись потрапляю.

Напевно, має бути десь можливість прочитати, що йде не так, або запустити деякий журнал, щоб він був записаний?


Вам потрібно прокрутити термінал вгору і побачити конкретну помилку у повідомленні, яке ви бачили. Щоб налагодити їх, ви повинні побачити, яка саме помилка була причиною цього.
Thomas Ward

в терміналі має бути опис. Ви заглянули в /var/log/spamassassin/spamd.log?
kamil

Я розорював усі колоди, очищав, переробляв установку різними способами. Все, щоб знайти трохи більше інформації про помилку, але я не можу її знайти. Spamd.log ще не створений.
Реквізит

Відповіді:


16

Гаразд, я знайшов рішення для цієї проблеми. Думав, що мені не вдалося виконати журнал, щоб отримати більше даних, дані, які вже були представлені, мали підказку до проблеми.

dpkg: error processing spamassassin (--configure):
subprocess installed post-installation script returned error exit status 1

каже, що dpkg зіткнулася з помилкою при обробці спам-массива під час запуску налаштування. Наступний рядок говорить нам, що сценарій після встановлення не закінчився правильно.

У режимі / var / lib / dpkg / info ми можемо знайти файли сценаріїв dpkg, файл: spamassassin.postinst дає нам файл сценарію, який створив помилку.

У цьому файлі ми знаємо, що ми повинні подивитися на код, виконаний налаштуванням:

if ["$ 1" = "налаштувати"]; потім

і після деякої налагодження я з'ясував рядок:

su debian-spamd -c "sa-update --gpghomedir / var / lib / spamassassin / sa-update-keys \ --import /usr/share/spamassassin/GPG.KEY"

повернув вихідний код 1 (запустіть команду @commandline і використовуйте echo $? поруч, щоб отримати вихідний код)

Проблема полягала в тому, що користувач debian-spamd вже існував у моїй системі, але його оболонка для входу була / bin / false. Su-ing з / bin / false повертається без будь-якого повідомлення, крім вихідного коду 1.

Додавання до команди -s / bin / sh вирішило проблему, хоча врешті-решт я змінив оболонку входу користувача, щоб залишатися синхронізованою з майбутніми оновленнями.


У мене було подібне питання до вас. З установщиком просто плоский збій. У мене виникла проблема з установкою останньої версії з debian-backports для wheezy. Виявилося, що вони змінили скрипт встановлення після встановлення дзвінка "su - $ OWNER -c" sa-update ... ", який зробив повну оболонку для входу в / bin / sh, що було несумісно з нашим / etc / профілем і /etc/profile.d файли. видалення файлу '-' робить його "su $ OWNER -c ...." виправлено це для мене
Vagnerr

У мене немає точної проблеми, але ваші підказки щодо налагодження мені дуже допомогли! Спасибі!
chaosguru

9

Як правило, для налагодження таких проблем ви редагуватимете /var/lib/dpkg/info/spamassassin.postinst(або .preinst, pr .prermабо .postrm; залежно від того, яка з них виходить з ладу) та змінюєте #!/bin/shу верхньому рядку на #!/bin/sh -x(те саме, якщо bashзамість цього: просто додати -x)

Це забезпечить вам налагодження рядкового сценарію скрипту оболонки, тож ви зможете сказати, де він знаходиться з ненульовим кодом (спричиняючи збій установки / оновлення).

Напевно, знадобиться хоча б деякі навички сценарію оболонки для налагодження.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.