Обновление с 17.10 - & gt; 18.04 сбой на qdbus-qt5 install

Я не могу обновить 17.10 до 18.04, потому что установка qdbus-qt5 не выполняется. На самом деле это kubuntu, но я задал вопрос на форумах kubuntu и ubuntu, а также в панели запуска, и не смог решить проблему. Обновление прекращается до тех пор, пока оно не достигнет qdbus-qt5, и в этот момент он выйдет из строя и больше не сможет двигаться дальше. Я попытался очистить qbdus-qt5 (и большую часть kde вместе с ним), и обновление проходит, но все равно не может установить qbdus-qt5 и, следовательно, kde.

Пытаясь вручную установить qdbus-qt5 с dpkg, я получаю следующую ошибку:

root@Crynfyd:/# dpkg -i /var/cache/apt/archives/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb (Reading database ... 839516 files and directories currently installed.) Preparing to unpack .../qdbus-qt5_5.9.5-0ubuntu1_amd64.deb ... Unpacking qdbus-qt5 (5.9.5-0ubuntu1) ... dpkg: error processing archive /var/cache/apt/archives/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb (--install): unable to open '/usr/lib/qt5/bin/qdbus.dpkg-new': No such file or directory Errors were encountered while processing: /var/cache/apt/archives/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb

В основном предполагается создание файла / usr / lib / qt5 /bin/qdbus.dpkg-new, но вместо этого он удаляет его. Если я касаюсь файла, он удаляет его и завершает работу. Какая-то странная загадка, о которой я не могу обойти.

Подробнее в стартовой панели здесь:

https://answers.launchpad.net/ubuntu/+source/qttools- opensource-src / + question / 668259

Любая помощь или идеи, которые очень ценятся. Пожалуйста, не «свежая установка», это непрактично, а не решение. Я не знаю, где проблема, проблема с qdbus-qt5, dpkg или что-то еще, что я не могу себе представить, поскольку у других, похоже, нет этой проблемы, и это не происходит с другими пакетами (ну, это происходит с другими пакетами qtcreator, но я очистил их до обновления).

Обновления

Проблема решена.

Симптом: [ ! d12]

Ugrade от 17.10 -> 18.04 сбой при попытке установить qdbus-qt5. Попытка вручную установить пакет вызывает эту ошибку:

root@Crynfyd:/# dpkg -i /var/cache/apt/archives/qdbus- qt5_5.9.5-0ubuntu1_amd64.deb (Reading database ... 839516 files and directories currently installed.) Preparing to unpack .../qdbus-qt5_5.9.5-0ubuntu1_amd64.deb ... Unpacking qdbus-qt5 (5.9.5-0ubuntu1) ... dpkg: error processing archive /var/cache/apt/archives/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb (--install): unable to open '/usr/lib/qt5/bin/qdbus.dpkg-new': No such file or directory Errors were encountered while processing: /var/cache/apt/archives/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb

Вот проблема:

В хитрый, пакет qdbus-qt5 устанавливает свой двоичный файл в / usr / lib / x86_64-linux-gnu / qt5 / bin / qdbus. Каталог / usr / lib / qt5 фактически является символической ссылкой на / usr / lib / x86_64-linux-gnu / qt5. Итак, ls / usr / lib / qt5 / bin / создает список файлов, которые выглядят реальными, но на самом деле их нет. Я заметил, что выполнение dpkg-query -search / usr / lib / qt5 / bin / qdbus не дало никаких результатов и задалось вопросом, почему, поскольку файлы выглядели так, как будто они были там.

В bionic пакет qdbus-qt5 устанавливает свой двоичный файл в / usr / lib / qt5 / bin / qdbus и устанавливает символическую ссылку в / usr / lib / x86_64-linux-gnu / qt5 / bin / qdbus, которая указывает на / usr / lib / qt5 / bin / qdbus.

Поэтому, пытаясь перейти с хитроумного на бионный, пакет устанавливает его двоичный файл в каталог, который является символической ссылкой на / usr / lib / x86_64-linux-gnu / qt5 / bin /, а затем пытается установить символическую ссылку на файл, на который фактически указывает каталог. Я обнаружил это при попытке вручную установить файлы из пакета, и файлы просто исчезали.

Таким образом, проблема связана с процессом обновления, из которого файлы являются символическими ссылками и которые являются реальными двоичными файлами. Очевидно, что процесс обновления не решает эту проблему. Я где-то читал, что обновление с 16.04 до 18.04 не будет действовать до июля; это может быть одной из причин, почему, и, может быть, та же проблема идет от 17.10 -> 18.04.

Обратите внимание, что эта же проблема существует и для нескольких других пакетов, в основном связанных с QT Creator:

qtcreator qtcreator-data qtcreator-doc qmlscene qt5-qmake qttools5-dev-tools qtbase5-dev-tools

И, возможно, других я еще не нашел. Они могут быть удалены до обновления, хотя в моем тесте они не вызвали никаких проблем после применения хакера ниже.

SHAMELESS HACK, чтобы исправить это для обновления:

## Remove the symlink: sudo rm /usr/lib/qt5 ## Do a hard copy of the relevant files: sudo cp -r /usr/lib/x86_64-linux-gnu/qt5 /usr/lib/

Я также заметил, что есть какие-то проблемы с локалями; исправить для этого:

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 sudo locale-gen en_US.UTF-8 sudo dpkg-reconfigure locales

Затем обновить / dist-upgrade (или сделать-релиз-обновление или, тем не менее, вы это сделаете). По-прежнему нужен случайный apt-get install -f / dpkg --configure -a / dpkg -i -force-overwrite, но, похоже, проходит так, как ожидалось.

Так много для «новой установки».

PS: Спасибо тем, кто предложил помощь. Немного о dpkg -x в пакете и причудливых результатах, которые он произвел, это то, что подсказывало мне об этом.

3
задан 12 May 2018 в 05:10

4 ответа

Сначала проверьте свою файловую систему с помощью fsck во время загрузки (Shift в GRUB, выберите «Дополнительные параметры», выберите ... (режим восстановления), в меню «Recovery» выберите fsck - проверьте все файловые системы) или от Ubuntu 18.04 LiveCD /USB.

Затем убедитесь, что у вас нет сломанных пакетов:

sudo apt-get update sudo apt-get install -f sudo dpkg --configure -a

Удалите загруженный deb-пакет, поскольку он может быть поврежден:

sudo rm /var/cache/apt/archives/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb

Вы можете попробовать загрузить этот пакет снова с помощью

cd /var/cache/apt/archives/ sudo wget http://mirrors.kernel.org/ubuntu/pool/universe/q/qttools-opensource-src/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb

, чтобы вы могли создать папку для Расширенные параметры :

sudo mkdir -p /usr/lib/qt5/bin/

и установить он заставляет все проблемы

sudo dpkg -i --force-all qdbus-qt5_5.9.5-0ubuntu1_amd64.deb sudo apt-get install -f

или устанавливать его с помощью apt-get:

sudo apt-get install ./qdbus-qt5_5.9.5-0ubuntu1_amd64.deb

Другой хакерский способ - извлечь deb-пакет непосредственно с помощью

sudo dpkg -x qdbus-qt5_5.9.5-0ubuntu1_amd64.deb /

, а затем попросите apt-get переустановить его

sudo apt-get install --reinstall qdbus-qt5
0
ответ дан 17 July 2018 в 14:43

Перед попыткой обновления вы должны убедиться, что не установлены PPA или нестандартные репозитории. Это можно сделать из графического интерфейса, например synaptic, но я обычно смотрю прямо в /etc/apt/sources.list.d/.

После удаления PPA и нестандартных репозиториев, обновления и безопасного обновления. Я предпочитаю использовать aptitude, потому что он автоматически разрешает конфликты, требующие дополнительных переключателей в apt / apt-get / dpkg:

sudo aptitude update sudo aptitude safe-upgrade

Затем dist-upgrade:

sudo aptitude dist-upgrade

Если у вас проблемы с dist-upgrade, вероятно, конфликты вызвали устаревшие пакеты, которые были в 17.10, но были удалены с 18.04. Вы можете попробовать одно или несколько из следующих действий:

Установить только установленные вручную пакеты: sudo aptitude install `apt-mark showmanual` Удалить пакеты aptitude с жалобой на sudo aptitude remove [package] и повторную попытку. Найти и установить обновляемые пакеты: aptitude search '~U' -F '%p' Вы можете попробовать обновить их все сразу: sudo aptitude remove `aptitude -s search '~U' -F '%p'` Найти и удалить устаревшие пакеты. Чтобы получить список устаревших пакетов, вы можете использовать: aptitude search '~o' -F '%p' Чтобы удалить их все сразу, вы можете попробовать следующую команду, но если она хочет удалить более нескольких десятков пакетов, вы должны пропустить ее: sudo aptitude remove `aptitude -s search '~o' -F '%p'`

Затем повторите попытку установки kubuntu-desktop или kubuntu-full или любых пакетов, которые вы хотите:

sudo aptitude install kubuntu-desktop

Если у вас все еще есть проблемы, файл deb может быть поврежден. Выберите один из следующих вариантов:

Установите только установленные вручную пакеты: sudo aptitude install `apt-mark showmanual` Удалите пакеты aptitude, которые жалуются на sudo aptitude remove [package] и повторную попытку.

Установите только вручную пакеты:

2
ответ дан 17 July 2018 в 14:43

Сначала проверьте свою файловую систему с помощью fsck во время загрузки (Shift в GRUB, выберите «Дополнительные параметры», выберите ... (режим восстановления), в меню «Recovery» выберите fsck - проверьте все файловые системы) или от Ubuntu 18.04 LiveCD /USB.

Затем убедитесь, что у вас нет сломанных пакетов:

sudo apt-get update sudo apt-get install -f sudo dpkg --configure -a

Удалите загруженный deb-пакет, поскольку он может быть поврежден:

sudo rm /var/cache/apt/archives/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb

Вы можете попробовать загрузить этот пакет снова с помощью

cd /var/cache/apt/archives/ sudo wget http://mirrors.kernel.org/ubuntu/pool/universe/q/qttools-opensource-src/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb

, чтобы вы могли создать папку для Расширенные параметры :

sudo mkdir -p /usr/lib/qt5/bin/

и установить он заставляет все проблемы

sudo dpkg -i --force-all qdbus-qt5_5.9.5-0ubuntu1_amd64.deb sudo apt-get install -f

или устанавливать его с помощью apt-get:

sudo apt-get install ./qdbus-qt5_5.9.5-0ubuntu1_amd64.deb

Другой хакерский способ - извлечь deb-пакет непосредственно с помощью

sudo dpkg -x qdbus-qt5_5.9.5-0ubuntu1_amd64.deb /

, а затем попросите apt-get переустановить его

sudo apt-get install --reinstall qdbus-qt5
0
ответ дан 20 July 2018 в 14:47
  • 1
    Да, я пробовал эти вещи. Если я создам файл, а затем установите с помощью dpkg -i -force-all, он возвращается с той же ошибкой, и после этого созданный мной файл исчез. – doctordruidphd 10 May 2018 в 01:23
  • 2
    Я могу, конечно, извлечь пакет и вручную установить файлы, и это работает, но apt ничего не знает об этом и поэтому не будет устанавливать пакеты kde (большинство kde), которые зависят от него. Я установил -f, dpkg --configure -a, apt-get -fix-round-round-round, но он всегда остается в одном месте - с приведенной выше ошибкой. – doctordruidphd 10 May 2018 в 01:36
  • 3
    См. Верхнюю часть о fsck. Вы уверены, что файловая система согласована? Вы уверены, что на диске нет ошибок чтения и плохих блоков? Я не могу найти нормальную причину проблем с записью файла qdbus.dpkg-new . – N0rbert 10 May 2018 в 01:38
  • 4
    Для fsck проще использовать sudo touch /forcefsck, затем перезагрузите компьютер. – xiota 10 May 2018 в 02:07

Перед попыткой обновления вы должны убедиться, что не установлены PPA или нестандартные репозитории. Это можно сделать из графического интерфейса, например synaptic, но я обычно смотрю прямо в /etc/apt/sources.list.d/.

После удаления PPA и нестандартных репозиториев, обновления и безопасного обновления. Я предпочитаю использовать aptitude, потому что он автоматически разрешает конфликты, требующие дополнительных переключателей в apt / apt-get / dpkg:

sudo aptitude update sudo aptitude safe-upgrade

Затем dist-upgrade:

sudo aptitude dist-upgrade

Если у вас проблемы с dist-upgrade, вероятно, конфликты вызвали устаревшие пакеты, которые были в 17.10, но были удалены с 18.04. Вы можете попробовать одно или несколько из следующих действий:

Установить только установленные вручную пакеты: sudo aptitude install `apt-mark showmanual` Удалить пакеты aptitude с жалобой на sudo aptitude remove [package] и повторную попытку. Найти и установить обновляемые пакеты: aptitude search '~U' -F '%p' Вы можете попробовать обновить их все сразу: sudo aptitude remove `aptitude -s search '~U' -F '%p'` Найти и удалить устаревшие пакеты. Чтобы получить список устаревших пакетов, вы можете использовать: aptitude search '~o' -F '%p' Чтобы удалить их все сразу, вы можете попробовать следующую команду, но если она хочет удалить более нескольких десятков пакетов, вы должны пропустить ее: sudo aptitude remove `aptitude -s search '~o' -F '%p'`

Затем повторите попытку установки kubuntu-desktop или kubuntu-full или любых пакетов, которые вы хотите:

sudo aptitude install kubuntu-desktop

Если у вас все еще есть проблемы, файл deb может быть поврежден. Выберите один из следующих вариантов:

Установите только установленные вручную пакеты: sudo aptitude install `apt-mark showmanual` Удалите пакеты aptitude, которые жалуются на sudo aptitude remove [package] и повторную попытку.

Установите только вручную пакеты:

2
ответ дан 20 July 2018 в 14:47
  • 1
    Это здорово, но у OP есть особые проблемы с файлом /usr/lib/qt5/bin/qdbus.dpkg-new. Ваше решение касается ручного обновления TUI, а не об этой проблеме. – N0rbert 10 May 2018 в 01:47
  • 2
    OP хочет установить kde. Кроме того, я сомневаюсь, что OP заботится о конкретных файлах. dpkg имеет тенденцию бросать всевозможные вводящие в заблуждение ошибки при наличии конфликтующих пакетов. Именно с этим нужно сначала разобраться. – xiota 10 May 2018 в 01:59
  • 3
    Привет, спасибо за ваши предложения. Я должен сказать, что я не доверяю способности - он однажды разрушил мою систему, прежде чем я понял, и угрожал сделать это не один раз, так что нет. Но идея удалить все пакеты, которые должны быть удалены в отдельной операции до выполнения обновления, - это тот, который я не пробовал, и даст этот снимок. FSCK сделано, никаких проблем. Я вручную загрузил файл deb и попытался установить его, то же самое. Я всегда делаю обновление с отключенным sources.list.d; Я пробовал оба пути, тот же результат. Я также попробовал apt-get update / upgrade / dist-upgrade, без радости. – doctordruidphd 10 May 2018 в 05:29
  • 4
    FYI - ради удовольствия, я запустил команду aptitude search '~ o' -F '% p'; он хочет удалить 866 пакетов, в то время как apt-get dist-upgrade хочет удалить 87, поэтому я не думаю, что я нажму эту кнопку. – doctordruidphd 10 May 2018 в 05:37
  • 5
    Дополнительные комментарии добавлены как «ответ». Извините, я не очень разбираюсь в редактировании комментариев. – doctordruidphd 10 May 2018 в 22:25

Другие вопросы по тегам:

Похожие вопросы: