Atualizado para 18.04 e agora possui muitos pacotes quebrados e dependências não atendidas

16

Cometi um erro terrível e atualizei para o 18.04 sem fazer backup em uma partição diferente, fazendo:

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt-get autoremove
sudo apt install update-manager-core
sudo do-release-upgrade -d

Depois atualizei e atualizei os comandos após uma reinicialização. Agora, existem muitos problemas com dependências não atendidas e pacotes quebrados que os sudo apt-get -f installcomandos não podem corrigir. UPDATE A primeira parte da saída do log de erro sudo apt install -f é:

    Reading package lists...
Building dependency tree...
Reading state information...
Correcting dependencies... failed.
The following packages have unmet dependencies:
 gnome-calendar : Depends: gsettings-desktop-schemas (>= 3.21.2) but 3.18.1-1ubuntu1 is installed
 gnome-session : Depends: gnome-shell (>= 3.25.91-0ubuntu4~) but it is not installed
                 Depends: gnome-session-bin (>= 3.28.1-0ubuntu2) but 3.18.1.2-1ubuntu1.16.04.2 is installed
                 Depends: gnome-session-common (= 3.28.1-0ubuntu2) but 3.18.1.2-1ubuntu1.16.04.2 is installed
                 Depends: xwayland but it is not installed
                 Recommends: fonts-cantarell but it is not installed
                 Recommends: adwaita-icon-theme-full
                 Recommends: gnome-themes-extra but it is not installed
 gnome-settings-daemon : Depends: libgnome-desktop-3-17 (>= 3.17.92) but it is not installed
                         Depends: gsettings-desktop-schemas (>= 3.20) but 3.18.1-1ubuntu1 is installed
 hplip : Depends: python3 (< 3.6) but 3.6.5-3 is installed
 libc-dev-bin : Depends: libc6 (< 2.24) but 2.27-3ubuntu1 is installed
 libc6-dbg : Depends: libc6 (= 2.23-0ubuntu10) but 2.27-3ubuntu1 is installed
 libc6-dev : Depends: libc6 (= 2.23-0ubuntu10) but 2.27-3ubuntu1 is installed
 libgmime-3.0-0 : Depends: libgpgme11 (>= 1.7.0) but 1.6.0-1 is installed
 libreoffice-avmedia-backend-gstreamer : Depends: libreoffice-core (= 1:5.1.6~rc2-0ubuntu1~xenial3) but 1:6.0.3-0ubuntu1 is installed
 libreoffice-base-core : Depends: libreoffice-core (= 1:5.1.6~rc2-0ubuntu1~xenial3) but 1:6.0.3-0ubuntu1 is installed
 libreoffice-calc : Depends: libreoffice-base-core (= 1:6.0.3-0ubuntu1) but 1:5.1.6~rc2-0ubuntu1~xenial3 is installed
                    Depends: liborcus-0.13-0 (>= 0.13.3) but it is not installed
 libreoffice-core : Depends: libgpgmepp6 (>= 1.10.0) but it is not installed
                    Depends: liborcus-0.13-0 (>= 0.13.3) but it is not installed
                    Depends: libpoppler73 (>= 0.62.0) but it is not installed
                    Depends: libxmlsec1 (>= 1.2.25) but it is not installed
                    Depends: libxmlsec1-nss (>= 1.2.25) but it is not installed
 libreoffice-gnome : Depends: libreoffice-gtk3 but it is not installed
 libreoffice-gtk : Depends: libreoffice-gtk2 but it is not installed
 libreoffice-math : Depends: libreoffice-core (= 1:5.1.6~rc2-0ubuntu1~xenial3) but 1:6.0.3-0ubuntu1 is installed
 libreoffice-writer : Depends: libreoffice-base-core (= 1:6.0.3-0ubuntu1) but 1:5.1.6~rc2-0ubuntu1~xenial3 is installed
                      Depends: libabw-0.1-1 but it is not installed
                      Depends: libepubgen-0.1-1 (>= 0.1.0) but it is not installed
 libtotem0 : Depends: libgnome-desktop-3-17 (>= 3.17.92) but it is not installed
 libwayland-egl1-mesa : Depends: libegl1 but it is not installed
 libwebkitgtk-1.0-0 : Depends: libjavascriptcoregtk-1.0-0 (= 2.4.11-0ubuntu0.1) but 2.4.11-3ubuntu3 is installed
                      Depends: libwebkitgtk-1.0-common (>= 2.4.11) but it is not installable
 nautilus : Depends: libgnome-desktop-3-17 (>= 3.18.1) but it is not installed
 python3-brlapi : Depends: python3 (< 3.6) but 3.6.5-3 is installed
 python3-cffi-backend : Depends: python3 (< 3.6) but 3.6.5-3 is installed
 python3-crypto : Depends: python3 (< 3.6) but 3.6.5-3 is installed

e

E: Error, pkgProblemResolver::Resolve generated breaks,   
this may be caused by held packages.  

Tentar corrigir pacotes quebrados no Synaptic produz esta mensagem de erro:

E: Error, pkgProblemResolver::Resolve generated breaks,   
this may be caused by held packages.     

Parece que não há nada de errado com o arquivo sources.list e parece ter sido atualizado quando tentei a instalação. Mal sei o que estou fazendo e fico feliz em fornecer mais detalhes sobre as mensagens de erro. Se existe uma maneira de ativar a rolagem para cima no xterm, é o que estou usando agora, já que o terminal Gnome não pode ser aberto.

Gostaria de remover todos os 47 pacotes quebrados e mantidos, reinstalá-los corretamente ou não instalá-los por enquanto, se for uma opção (por exemplo, para coisas como o LibreOffice, que não é uma necessidade atual) e poder usar o Terminal Gnome.

Estou procurando etapas para iniciantes sobre como corrigir todos esses problemas. Existe um guia sobre como começar? Um post óbvio que eu perdi nas minhas pesquisas por respostas? Acho que este post está indo na direção certa, mas está um pouco acima da minha cabeça. Qualquer ajuda é muito apreciada. Gostaria de saber se seria realmente mais fácil iniciar a partir de uma nova instalação 16.04.

k.mat27
fonte
Tente sudo apt-get install -fe dpkg --configure -a.
N0rbert
1
@ N0rbert OP diz install -fjá executar.
WinEunuuchs2Unix
1
Você pode tentar o aptitude; isso às vezes é mais bem-sucedido em consertar uma árvore de pacotes inválida.
Sebastian Stark
Por que você usou o -d em do-release-upgrade? Honestamente, a correção mais simples é fazer uma instalação limpa, se você puder.
chaskes
Fiz o -d porque, aparentemente, eu me sentia livre e extravagante em uma manhã de sexta-feira e a internet mandou que eu fizesse isso, então tudo em torno de um conjunto realmente terrível de decisões. Escusado será dizer que aprendi minha lição .. instalações limpas ou pelo menos ter paciência para o primeiro lançamento serão as minhas escolhas no futuro.
2741818

Respostas:

9

Eu tive o mesmo problema. Eu tive que editar /var/lib/dpkg/statuse limpar toda a linha Depends: dos pacotes que estavam reclamando.
Não sei ao certo que outros problemas podem causar, mas foi a única coisa que voltou a apt-get install -ffuncionar.

dmattp
fonte
A remoção da linha de dependência é uma solução rápida para permitir a instalação das versões solicitadas pelos pacotes para que esses pacotes funcionem? Qual foi o seu próximo passo depois disso? Editei minha pergunta original para mostrar alguns dos erros relacionados à versão python, porque estou preocupado que eles sejam parte integrante da função 18.04 como um todo, mas se você teve sucesso com isso, consideraria tentar.
2741818
1
Basicamente, acho que isso permite que o "apt get" continue, em vez de bombardear e se recusar a fazer qualquer coisa, porque há muitos erros de dependência. Após remover as dependências de cada pacote avisado, executei o "apt-get install -f" e depois penso "apt get upgrade", que prosseguiu com a instalação / instalação de cerca de 800 pacotes. Parecia que havia sido interrompido no meio da atualização 18.04, com várias instalações pendentes. Após a atualização concluída, tudo parece estar normal e estou executando o que parece ser um sistema 18.04 estável.
Dmattp
1
Também não se esqueça de fazer backup do arquivo "status" antes de editar! Se você editar o arquivo com edições manuais, precisará restaurar a partir do backup.
Dmattp
Depois de fazer o backup do arquivo de status, testei sua solução. Eu tive que repetir as etapas algumas vezes e depois tive que desinstalar um hanger-on (algo que não uso de qualquer maneira), o que fiz através do Synaptic. Agora posso instalar coisas, o que é ótimo, mas como uma advertência para outras pessoas que tentam fazer isso, ainda não consigo usar o Software e as Atualizações e o gnome que vieram de fábrica com o 16.04 ... o que é bom para mim, mas pode ser ruim para outras. Obrigado! Serei paciente com a versão real do 18.04 - que será bem-vinda fazendo backup novamente e executando uma instalação limpa ... lição aprendida.
k.mat27
Funcionou no meu sistema. I removido todas as dependências não satisfeitas de / var / lib / dpkg / status
Fahad Naim
10

Aqui estão algumas coisas para tentar.

Método um:

Este é o mais fácil de experimentar. Em vez de usar o sudo apt-get install PACKAGENAME, onde PACKAGENAME é o pacote que você está tentando instalar com o sistema apt, use sudo apt-get install -f. O parâmetro -f tentará corrigir um sistema com dependências desfeitas, após o qual você poderá instalar o pacote em questão.

Abra um terminal e digite:

sudo apt-get install -f

e pressione ENTER.

Agora digite:

sudo dpkg --configure -a

e pressione ENTER.

Agora mais uma vez:

sudo apt-get install -f

Método dois:

O Aptitude é uma alternativa do apt-get que você pode usar como um gerenciador de pacotes de nível superior. Você pode usá-lo para tentar instalar seu pacote com ele, em vez de apt-get, mas primeiro você precisa instalar o aptitude.

Abra um terminal e digite:

sudo apt-get install aptitude

e pressione ENTER.

Agora digite:

sudo aptitude install PACKAGENAME

e pressione ENTER.

PACKAGENAME é o pacote que você está instalando. Isso tentará instalar o pacote via aptitude em vez de apt-get, o que potencialmente deve corrigir o problema de dependências não atendidas.

SE ELES NÃO FUNCIONAM

O pacote quebrado provavelmente está bloqueado e precisa ser excluído. Para excluir o arquivo bloqueado, abra um terminal e digite:

sudo rm /var/lib/apt/lists/lock

e pressione ENTER.

O arquivo bloqueado também pode precisar ser excluído no diretório de cache. Para fazer isso, abra um terminal e digite:

sudo rm /var/cache/apt/archives/lock

Atualizei a partir do 16.04 e estava tendo muitos problemas diferentes. Achei muito mais fácil fazer uma nova instalação. Uma instalação nova ou limpa é sempre o caminho a percorrer na minha opinião.

Espero que isto ajude,

Dave
fonte
E o que devemos fazer com seu comando malformado como sudo dpkg –configure -a(tipográfico não funcionará no terminal)? Parece copiar e colar sem pensamento crítico. Edite sua resposta e seja mais preciso da próxima vez!
N0rbert
Bem, desculpe-me pelo erro de digitação! Foi mal. Resposta editada.
Dave
1
Por favor, não poste a mesma resposta para muitas perguntas. Postar a mesma resposta em todos os lugares não é uma solução "uma coisa para todos", e, a menos que você possa realmente confirmar que todas as suas soluções sugeridas realmente corrigem os problemas apresentados, você deve reconsiderar fortemente postar a mesma resposta em todos os lugares.
Thomas Ward
Oi Dave, existem consequências negativas que podem surgir ao tentar excluir o arquivo bloqueado e sua presença no diretório de cache? Depois disso, devo tentar novamente sua sugestão do Método 1 (após a instalação do aptitude!) Ou é provável que resulte no mesmo problema?
2741818
Instalar o aptitude é um método diferente do método um, portanto, voltar ao mesmo seria redundante. No que diz respeito à remoção do arquivo bloqueado, sempre verifiquei para que serve ou se esse arquivo específico está bloqueado porque, por algum motivo, as dependências não foram instaladas (o que aconteceu algumas vezes). No meu caso, removi os arquivos e reinstalei usando um gerenciador de pacotes. Eu recomendo o Synaptic Package Manager, pois ele pode ajudar a corrigir dependências não atendidas.
Dave
2

Quero acrescentar a esta discussão dizendo que, ao usar o Atualizador de Software para fazer a atualização para o 18.04 e encontrar um problema, a solução é abrir o terminal e digite:

sudo apt-get autoremove

seguido pelo que inicialmente fez as coisas darem errado aqui que levaram a essa discussão, como segue:

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt-get autoremove
sudo apt install update-manager-core
sudo do-release-upgrade -d
JWeb777
fonte
Bem-vindo JWeb777 ao Ask Ubuntu! Eu recomendo editar esta resposta para expandi-la com detalhes específicos por que a remoção automática inibe o problema.
abu_bua
1
Não tenho certeza se entendi o pedido? Mas os problemas que foram resolvidos durante a atualização ocorreram algo que deu errado em breve: acabei com uma atualização parcial de que os programas de atualização de software instalados no Ubuntu não conseguiam resolver a linha de comando que publiquei nessa ordem, resolvia as quebras e trouxe todas as lacunas volta a um estado trabalhando com a maioria das atualizações feitas bem, sem problemas restantes e atualização mínima resta a fazer
JWeb777
Se U foram para especificar u what u estão querendo saber um pouco mais eu poderia ter uma resposta melhor talvez
JWeb777
2

Com privilégios de root, acesse var/lib/dpkg/statuse exclua o conteúdo do arquivo de status.

Então sudo dpkg --configure -ae entãosudo apt-get install -f

Em seguida, instale o que você quer, ou seja

sudo apt-get install nvidia-390 
Bukenya
fonte
1

"Se houver uma maneira de ativar a rolagem para cima no xterm", pois você não pode rolar para cima, envie toda a saída para um arquivo usando:

sudo apt install -f > output.log

Em seguida, edite output.loge copie as mensagens para sua pergunta. Suas chances de obter uma boa resposta melhoram com mais informações.


Tanto quanto qualquer pessoa que queira copiar seus dados para uma partição de backup antes de atualizar para o 18.04, aqui está o comando emprestado desta resposta: Script Bash para clonar o Ubuntu para uma nova partição para testar a atualização do LTS 18.04

rsync -haxAX --stats --delete --info=progress2 --info=name0 /* "$TargetMnt" \
      --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found}

Antes de executar o comando, você precisa criar uma partição de backup e montá-la. Após a montagem, defina:

TargetMnt=/mnt/my_backup_partition_name

Obviamente, um método mais fácil é apenas executar o script vinculado acima. Ele não apenas fornece a seleção interativa da partição de backup, mas também fornece validação e modificações grubpara que você possa inicializar na partição de backup, se necessário.

PS: Estou triste por ouvir sobre seus problemas e muitos outros problemas que li aqui no Ask Ubuntu desde o lançamento do 18.04. Infelizmente, você vê problemas semelhantes a cada novo lançamento. Esperançosamente, um dia, a Conical enfatiza a importância de fazer backup e / ou testar em uma partição de clone antes de atualizar. Especialmente antes do lançamento do primeiro ponto de 18.04.1, que acontece em 26 de julho de 2018.

WinEunuuchs2Unix
fonte
Realmente aprecio a resposta para a parte xterm da pergunta, especialmente porque eu percebo que foi fora de tópico para o resto do post (meu mau). A pergunta original é editada com a saída acima. Gostaria de ter seguido seu conselho com o clone em primeiro lugar, mas o farei assim que eu corrigir o problema atual e novamente no futuro!
2741818
@ k.mat27 Estou começando a clonar agora mesmo antes de instalar os drivers da nVidia que me causaram todo tipo de sofrimento e são difíceis de "desfazer". Você não rebateu minha resposta por acidente?
WinEunuuchs2Unix
Não! Gostaria de poder votá-lo, na verdade, mas não tenho reputação.
K.mat27
Você recebe 2 pontos ao clicar na marca de seleção ao lado de uma resposta para aceitá-la para uma pergunta que você postou. Além disso, o autor recebe 15 pontos por uma resposta aceita. Mais importante ainda, ajuda outros usuários a encontrar respostas aceitáveis. Você ganha 5 pontos por cada voto positivo em uma pergunta que você postar. Se você responder uma pergunta, obtém 10 pontos por cada voto positivo e menos 2 por cada voto negativo. Espero que isto ajude.
WinEunuuchs2Unix
0

Na verdade, tive muitos problemas ao atualizar do Xubuntu 16.04 para 18.04. Eu tive que remover completamente o gstreamer do sistema (não trabalhando com o pulseaudio, que se comporta de maneira estranha), além de muitos outros problemas não relacionados a este post (nvidia, netplan, baloo). Em muitos anos de gerenciamento de desktops e servidores, foi a minha migração mais difícil. Portanto, eu não aconselho atualizar para o 18.04 antes que seja uma distribuição estável.

Antonio J. de Oliveira
fonte
0

se você possui um sistema que não pode acessar, acesse tty1 login clicando na tecla cltr + alt + F1 na sua conta e tente isso sudo apt-get install -f dist-upgrade se solicitar uma solução específica para aplicar Y / n, use outra opção digitando "." para outra solução, você será listado com outra solução para atualizar completamente o seu sistema. se ocorrer algum problema me avise

Nikhil Lalwani
fonte
0

Após a atualização, tive um problema com as libs pyhon3.7 ausentes, todo o apt / dpkg foi bloqueado. Encontrado faltando /usr/lib/python3.7/py_compile.pyum nível mais profundo /usr/local/lib/python3.7. A solução que funcionou para mim foi fazer backup (renomear) inteiro /usr/lib/python3.7e substituir por link simbólico.

Aqui está o problema (apt install -f). Desculpe pelo idioma checo, coisas importantes estão em inglês

Načítají se seznamy balíků…
Vytváří se strom závislostí…
Načítají se stavové informace…
0 aktualizováno, 0 nově instalováno, 0 k odstranění a 7 neaktualizováno.
39 instalováno nebo odstraněno pouze částečně.
Po této operaci bude na disku použito dalších 0 B.
Nastavuje se balík python3-tk:amd64 (3.6.5-3) …
(null): can't open file '/usr/lib/python3.7/py_compile.py': [Errno 2] No such file or directory
dpkg: chyba při zpracovávání balíku python3-tk:amd64 (--configure):
 installed python3-tk:amd64 package post-installation script subprocess returned error exit status 2
Nastavuje se balík python3-lib2to3 (3.6.5-3) …
(null): can't open file '/usr/lib/python3.7/py_compile.py': [Errno 2] No such file or directory
dpkg: chyba při zpracovávání balíku python3-lib2to3 (--configure):
 installed python3-lib2to3 package post-installation script subprocess returned error exit status 2
dpkg: nesplněné závislosti zamezily konfiguraci balíku python3-distutils:
 python3-distutils závisí na python3-lib2to3 (>= 3.6.4); avšak:
  Balík python3-lib2to3 zatím není zkonfigurován.

...

dpkg: chyba při zpracovávání balíku libsdl-net1.2-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
dpkg: nesplněné závislosti zamezily konfiguraci balíku libsdl-image1.2-dev:amd64:
 libsdl-image1.2-dev:amd64 závisí na libsdl1.2-dev (>= 1.2.14~); avšak:
  Balík libsdl1.2-dev zatím není zkonfigurován.

dpkg: chyba při zpracovávání balíku libsdl-image1.2-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
dpkg: nesplněné závislosti zamezily konfiguraci balíku libboost-iostreams1.65-dev:amd64:
 libboost-iostreams1.65-dev:amd64 závisí na libboost-regex1.65-dev (= 1.65.1+dfsg-0ubuntu5); avšak:
  Balík libboost-regex1.65-dev:amd64 zatím není zkonfigurován.

dpkg: chyba při zpracovávání balíku libboost-iostreams1.65-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
dpkg: nesplněné závislosti zamezily konfiguraci balíku libboost-iostreams-dev:amd64:
 libboost-iostreams-dev:amd64 závisí na libboost-iostreams1.65-dev; avšak:
  Balík libboost-iostreams1.65-dev:amd64 zatím není zkonfigurován.

dpkg: chyba při zpracovávání balíku libboost-iostreams-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
dpkg: nesplněné závislosti zamezily konfiguraci balíku libboost-regex-dev:amd64:
 libboost-regex-dev:amd64 závisí na libboost-regex1.65-dev; avšak:
  Balík libboost-regex1.65-dev:amd64 zatím není zkonfigurován.

dpkg: chyba při zpracovávání balíku libboost-regex-dev:amd64 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
Při zpracování nastaly chyby:
 python3-tk:amd64
 python3-lib2to3
 python3-distutils
 libglib2.0-dev-bin
 python3-dev
 libglib2.0-dev:amd64
 libgdk-pixbuf2.0-dev
 libibus-1.0-dev:amd64
 libboost-python1.65-dev
 libpango1.0-dev
 libsdl2-dev:amd64
 libharfbuzz-dev:amd64
 dh-python
 libsdl2-ttf-dev:amd64
 libboost-python-dev
 libsdl2-image-dev:amd64
 libpulse-dev:amd64
 libicu-le-hb-dev:amd64
 libcairo2-dev:amd64
 libnotify-dev:amd64
 libatk1.0-dev:amd64
 libgtk2.0-dev
 librsvg2-dev:amd64
 libicu-dev
 libass-dev:amd64
 libxml2-dev:amd64
 libsdl2-mixer-dev:amd64
 libsdl1.2-dev
 libsdl-ttf2.0-dev:amd64
 libboost-all-dev
 libboost-regex1.65-dev:amd64
 libbluray-dev:amd64
 libsdl-gfx1.2-dev:amd64
 libsdl-mixer1.2-dev:amd64
 libsdl-net1.2-dev:amd64
 libsdl-image1.2-dev:amd64
 libboost-iostreams1.65-dev:amd64
 libboost-iostreams-dev:amd64
 libboost-regex-dev:amd64
czechDude
fonte
0

O que me ajudou:

  1. para usar o sudo dpkg --remove [nome do pacote] para remover pacotes problemáticos encontrados através do sudo dpkg --configure -a (fonte:  /programming//a/35969176/557223 ). Alguns pacotes não puderam ser removidos porque eram dependências de outros pacotes.
  2. executar o sudo apt-get install -f (começou a funcionar novamente, yay)
  3. renomear o arquivo org.freedesktop.systemd1.service conforme mencionado em  /ubuntu//a/838673
  4. Para executar o sudo apt-get update e dist-upgrade e autoremove, e do-release-upgrade

Parabéns pela https://ubuntuforums.org/showthread.php?t=2398895&page=2 postagem de dragans2!

mmalmeida
fonte