При попытке выполнить обновление с 14.10 по 15.04 я запускаю следующую команду:
sudo do-release-upgrade
Команда не работает без вывода в командной строке.
Что должны быть мои первые шаги для устранения этой проблемы? Есть ли где-нибудь журналы, которые я могу проверить?
Редактирование 1: больше информации ...
Команда возвращает примерно через одну секунду, а код выхода - 139, что указывает на (! d4)
Редактировать 2:
После выполнения следующей команды
sudo strace -o do-release-upgrade.strace do-release-upgrade
Здесь вы можете найти выход strace: http: // pastebin. com / hb5zthbb
Вот шаги отладки, которые я предпринял.
Определился код возврата неудачной программыsudo do-release-upgrade
echo $?
Код был 139 Искал google для кода возврата, чтобы узнать, что это значит. Код указывает на segmentation fault Использовал strace, чтобы понять, где происходила ошибка. sudo strace -o do-release-upgrade.strace do-release-upgrade
Это записало журнал трассировки в файл с именем do-release-upgrade.strace, а в нижней части файла - файл времени выполнения, в котором произошел сбой. Отладить отладчик pudb3 для отладки do-release-upgrade Если pudb3 еще не установлен. sudo apt-get install python3-pudb
Запустите отладчик pudb3 sudo pudb3 /usr/bin/do-release-upgrade
Для тех, кто не знаком с отладчиками, это позволило мне пройти через каждую точку выполнения скрипта. Я быстро обнаружил следующую ошибку. Traceback (most recent call last):
File "/usr/bin/do-release-upgrade", line 10, in <module>
from UpdateManager.Core.MetaRelease import MetaReleaseCore
File "/usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py", line 25, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ImportError:
/usr/lib/python3/dist-packages/apt_pkg.cpython-34m-x86_64-linux-gnu.so:
undefined symbol: _ZN13pkgSrcRecords4StepEv
Что привело меня к соответствующему сообщению об ошибке ubuntu Попытка удаления и переустановки пакета, указанного в отчете об ошибке Первый метод sudo apt-get install --reinstall python3-apt
Во-вторых, более радикальный метод sudo dpkg --purge --force-depends python3-apt
sudo apt-get install python3-apt
Ни одна из этих проблем не устраняет проблему. Заключение:
Мне все еще кажется странным, что ошибка не была напечатана для stdout; нормально, я ожидаю, что так и будет. Это решение не должно требовать отладчика.
Это ошибка в двоичном пакете python3-apt. Не исправляя ошибку и перестраивая пакет, эта ошибка, вероятно, останется.