Когда я пытаюсь установить пакет на свой сервер ubuntu (10.10) на amazon ec2 с «альтернативами обновления» для JRE, apt-get больше не отвечает.
Я уже 20 минут ждал этого зависания с такой строкой текста:
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode.
И если я попытаюсь остановить это и перезагрузить систему. в следующий раз, когда я использую apt-get или aptitude, это дает мне
E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.
В котором команда не решает проблему, оставляя меня с неработающим файлом apt-get.
Есть способ снова запустить dpkg. Увы, я до сих пор не знаю, как установить jre на свой debian, поскольку при каждой попытке установки jre происходит одно и то же.
Вкратце, вам нужно удалить не полностью установленные пакеты после того, как вы убили dpkg и java-процессы (java-процесс потреблял 100% ЦП на моем компьютере). Тогда ваш dpkg должен снова работать.
Подробные инструкции приведены ниже. Они могут служить руководством для кого-то еще, у кого есть такие же проблемы.
ps -A |grep -E "(java|dpkg)"
найти их)dpkg -l |grep -v -E "^ii"
- это список всех пакетов, которые либо не установлены идеально; либо не полностью установлены, либо у которых остались файлы конфигурации после удаления (или какой-либо другой вариант). Вы можете отличить их по значению в первом столбце. (rc = удаленные & conf-файлы; iU = установить и распаковать). См. Заголовок листинга (dpkg -l | head
для подробных значений).dpkg -P package_name [package_name2] [package_name3 ...]
чтобы очистить эти неполные пакеты. Лично я удалил все перечисленные пакеты (так как все они были связаны с неработающей установкой jre), после чего dpkg работал.Обновить: после еще нескольких исследований выясняется, что эта ошибка связана исключительно с запуском 32-разрядного экземпляра t1.micro AMI на основе Debian на Amazon EC2.
Решение, которое сработало для меня (приписывается DanielDaniel - спасибо, @Yuval), это:
Это будет стоить вам, вероятно, ровно столько, сколько стоит запуск экземпляра m1.small в течение 1 часа. Должен быть запущен в кратчайшие сроки.
Обновление 2: Пройдя через все проблемы, похоже, что Java вообще не будет работать на экземпляре t1.micro. Запуск чего-либо, основанного на java, повлияет на вашу систему так же, как и установка jre / jdk. Итак, чтобы использовать java на t1.micro, либо используйте какой-нибудь другой дистрибутив, не основанный на debian (однако я не уверен на 100%, что это сработает), либо обновите экземпляр до m1.small или лучше.
Обновление 3: по состоянию на 11.08.2011 проблема не решена. Видеть https://bugs.launchpad.net/ubuntu/+source/linux-ec2/+bug/634487 для дальнейших обновлений. Прямо сейчас Amazon должен рассмотреть предложенный патч ... В принципе, они исправят его, когда сделают ...
Чтобы исправить dpkg: http://lydonchandra.com/content/failure-installing-jre-java-runtime-env-ec2-ubuntu-10
У меня такая же проблема, зона ami-00067852 ap-southeast-1a. Что, черт возьми, происходит?
Ты бежал dpkg --configure -a
как вам сказали? Если да, то что вы получили в результате?
ОБНОВИТЬ:
Затем запустите: strace -s100 -f -o /tmp/debug.out dpkg --configure -a
подождите несколько минут и загрузите куда-нибудь файл. Или прикрепите сюда, скажем, последние 200 строк.
ОБНОВЛЕНИЕ2:
Файл с именем /tmp/debug.out нужно. Вывод на консоль не меняется.
У меня был 32-битный ami-ccf405a5, который вызывал у меня проблемы с jre. Тогда я использовал 64-битную ami (ami-cef405a7), и это решило мою проблему.