Upgrade de 17.10 - 18.04 travando na instalação qdbus-qt5

3

Não consigo atualizar 17.10 para 18.04 porque a instalação de qdbus-qt5 está falhando. Na verdade, isso é o kubuntu, mas fiz a pergunta sobre os fóruns do kubuntu e do ubuntu, bem como sobre o launchpad, e não consegui resolver o problema. A atualização vai bem até atingir qdbus-qt5 , ponto em que falha e não pode ir mais longe. Eu tentei remover qbdus-qt5 (e a maioria do kde junto com ele), e a atualização continua, mas ainda não consigo instalar qbdus-qt5 e, portanto, o kde.

Tentando instalar manualmente qdbus-qt5 com dpkg , recebo o seguinte erro:

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

Basicamente, ele deve estar criando o arquivo /usr/lib/qt5/bin/qdbus.dpkg-new , mas está excluindo-o. Se eu tocar no arquivo, ele será apagado e encerrado. Algum tipo de enigma estranho que eu não consigo entender.

Mais detalhes no launchpad aqui:

link

Qualquer ajuda ou ideias muito apreciadas. Por favor, não há "nova instalação", que é impraticável e não uma solução. Eu realmente não sei onde está o problema, se um problema com qdbus-qt5 , dpkg , ou qualquer outra coisa que eu não possa imaginar como os outros não parecem estar tendo este problema, e isso não está ocorrendo com outros pacotes (bem, isso ocorre com outros pacotes qtcreator , mas eu removi esses antes da atualização). Isso é uma verdadeira bagunça e está bloqueando todo o processo de atualização.

Atualizações

Problema resolvido.

O sintoma:

Faça upgrade de 17,10 - > 18.04 falha ao tentar instalar o qdbus-qt5. Tentar instalar manualmente o pacote produz este erro:

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

Aqui está o problema:

Na artful, o pacote qdbus-qt5 instala seu binário para / usr / lib / x86_64-linux-gnu / qt5 / bin / qdbus. O diretório / usr / lib / qt5 é na verdade, um link simbólico para / usr / lib / x86_64-linux-gnu / qt5. assim ls / usr / lib / qt5 / bin / produz uma lista de arquivos que parecem reais, mas não são realmente lá. Notei que fazendo um dpkg-query --search / usr / lib / qt5 / bin / qdbus não produziu resultados, e se perguntou por que, como os arquivos pareciam estar lá.

Em bionic, o pacote qdbus-qt5 instala seu binário em / usr / lib / qt5 / bin / qdbus, e instala um symlink em / usr / lib / x86_64-linux-gnu / qt5 / bin / qdbus que aponta para / usr / lib / qt5 / bin / qdbus.

Então, ao tentar atualizar de artful para biônico, o pacote instala seu binário em um diretório que é um link simbólico para / usr / lib / x86_64-linux-gnu / qt5 / bin / e Em seguida, tenta instalar o link simbólico para o arquivo que o diretório realmente aponta. Eu descobri isso ao tentar instalar manualmente os arquivos do pacote, e os arquivos estavam apenas desaparecendo. É isso que o dpkg tem gritado sobre tudo junto.

Existe um problema, portanto, no processo de atualização de quais arquivos são links simbólicos e quais são binários reais. O processo de atualização evidentemente não resolver este problema. Eu li em algum lugar que a atualização de 16,04 - > 18,04 não estará em vigor até julho; esta pode ser uma das razões pelas quais, e talvez o mesmo problema que vai de 17,10 - > 18.04. Pode haver outros problemas que não apareceu ainda.

Note que este mesmo problema também existe para vários outros pacotes, principalmente conectado com o QT Creator:

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

E talvez outras que ainda não encontrei. Eles podem ser removidos antes da atualização, embora no meu teste eles tenham não causará problemas depois de aplicar o hack abaixo.

SHAMELESS HACK para corrigir isso para a atualização:

## 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/

Eu também notei que há algum tipo de problema com as localidades; consertar isso:

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

Em seguida, atualize / dist-upgrade (ou faça-release-upgrade ou, no entanto, faça isso). Ainda precisava do ocasional apt-get install -f / dpkg --configure -a / dpkg -i --force-overwrite, mas parece passar como esperado.

Tanto para "nova instalação".

PS: Obrigado àqueles que ofereceram ajuda. O pouco sobre o dpkg -x do pacote e os resultados bizarros que ele produziu, é o que me deu uma dica sobre isso.

    
por doctordruidphd 10.05.2018 / 00:06

2 respostas

2

Antes de tentar atualizar, você deve garantir que nenhum repositório PPA ou não padrão esteja instalado. Isso pode ser feito a partir de uma GUI, como synaptic , mas normalmente eu procuro diretamente em /etc/apt/sources.list.d/ .

Depois de remover os repositórios PPAs e não padrão, atualize e faça um upgrade seguro. Eu prefiro usar aptitude porque ele resolve automaticamente os conflitos, o que requer opções extras em apt / apt-get / dpkg :

sudo aptitude update
sudo aptitude safe-upgrade

Em seguida, dist-upgrade:

sudo aptitude dist-upgrade

Se você tiver problemas com dist-upgrade, provavelmente existem conflitos causados por pacotes obsoletos, que estavam em 17.10, mas removidos de 18.04. Você pode tentar um ou mais dos seguintes procedimentos:

  1. Instale somente pacotes instalados manualmente:

    sudo aptitude install 'apt-mark showmanual'
    

    Remova os pacotes aptitude que reclamam com sudo aptitude remove [package] e tente novamente.

  2. Encontre e instale pacotes atualizáveis:

    aptitude search '~U' -F '%p'
    

    Você pode tentar atualizá-los todos de uma vez com:

    sudo aptitude remove 'aptitude -s search '~U' -F '%p''
    
  3. Encontre e remova pacotes obsoletos. Para obter uma lista de pacotes que estão obsoletos, você pode usar:

    aptitude search '~o' -F '%p'
    

    Para removê-los todos de uma só vez, você pode tentar o seguinte comando, mas se ele quiser remover mais do que algumas , você deve ignorá-lo:

    sudo aptitude remove 'aptitude -s search '~o' -F '%p''
    

Em seguida, tente novamente instalar o kubuntu-desktop ou o kubuntu-full ou qualquer pacote que você queira:

sudo aptitude install kubuntu-desktop

Caso você ainda esteja com problemas, o arquivo deb pode estar corrompido. Escolha uma das seguintes opções:

  1. sudo \rm /var/cache/apt/cache/*qdbus* Você pode usar comandos semelhantes para remover os debs de quaisquer pacotes que pareçam estar causando problemas.

  2. sudo aptitude clean - Isso removerá todos os arquivos deb armazenados em cache.

por xiota 10.05.2018 / 00:36
0

Primeiro verifique seu sistema de arquivos com fsck durante a inicialização ( Shift no GRUB, selecione Opções avançadas , selecione .... (modo de recuperação) ) , no menu de Recuperação selecione fsck - Verifique todos os sistemas de arquivos ) ou no Ubuntu 18.04 LiveCD / USB.

Depois, verifique se você não tem pacotes corrompidos:

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

Remova o deb-package baixado, pois ele pode estar corrompido:

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

Você pode tentar fazer o download deste pacote novamente com

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

com certeza você pode criar a pasta para qdbus.dpkg-new :

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

e instale-o forçando todos os problemas

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

ou instale-o com apt-get :

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

Outra maneira hacky é extrair deb-package diretamente com

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

e, em seguida, peça ao apt-get para reinstalá-lo

sudo apt-get install --reinstall qdbus-qt5
    
por N0rbert 10.05.2018 / 00:14