Я не могу обновить 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 в пакете и причудливых результатах, которые он произвел, это то, что подсказывало мне об этом.
Сначала проверьте свою файловую систему с помощью 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
Перед попыткой обновления вы должны убедиться, что не установлены 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] и повторную попытку. Установите только вручную пакеты:
Сначала проверьте свою файловую систему с помощью 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
Перед попыткой обновления вы должны убедиться, что не установлены 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] и повторную попытку. Установите только вручную пакеты: