Независимо от выбранного действия, dpkg
зависает на моем Raspberry Pi 2. Замораживает всю машину, но, например, если htop
приложение уже открыто в другом окне, оно продолжает работать.
Я перепробовал большинство команд, как dpkg --configure -a
и предпочел бы не сбрасывать всю систему. strace
Журнал слишком длинный для pastebin, но он заканчивается несколько тысяч раз двумя строками.
pselect6(16, [0 13 15], NULL, NULL, {tv_sec=0, tv_nsec=50000000}, {[], 8}) = 0 (Timeout)
wait4(3278, 0x7ea6c884, WNOHANG, NULL) = 0
Кто-нибудь может помочь?
решение1
Ваш dpkg ждет дочерний процесс. Видно, что он в системном вызове wait4(). Зависает не он, а дочерний процесс, возможно, скрипт конфигурации.
Проверьте, что происходит с
pstree -pa
и strace это. Будучи хорошим пользователем Linux, я думаю, вы могли бы также использовать команду lsof с умом. У Strace также есть флаг -f, с помощью которого вы можете также отслеживать дочерние процессы.
Также может быть полезно вручную внести исправления в скрипты конфигурации, чтобы сделать возможной очистку плохих пакетов.
Большинство команд dpkg/apt, которые вы пытаетесь использовать, вероятно, пытаются настроить ненастроенные в данный момент пакеты в вашей системе, вот почему вы всегда сталкиваетесь с этим плохим или глючным скриптом конфигурации.
Работает ли ваш syslogd? Иногда инструмент, вызываемый скриптом конфигурации, не может принять, что он недоступен.
Скрипты конфигурации находятся в /var/lib/dpkg/info . Я говорю это только молча, если вы найдете особенно паршивый, его может быть проще просто удалить в качестве исправления, но я действительно молчу.