Instalar nvidia-opencl-icd-367 interrompe o gerenciador de pacotes

14

Estou usando o driver de gráficos ppa. Hoje recebi um diálogo de atualização que dizia que eu posso atualizar meu driver da nvidia para 367.18 (~ gpu16.04.6). Comecei a atualização como sempre, mas ela falhou com

Failed to get unit file state for var-lib-snapd-lib-gl.mount

Após a reinicialização, meu driver gráfico foi quebrado e fui forçado a entrar no modo de recuperação.

Como normalmente ocorre quando o driver da Nvidia é interrompido, eu apenas desinstalo-o sudo apt purge nvidia*para reinstalá-lo depois.

Fazer isso no modo de recuperação desinstalou todos, exceto o nvidia-opencl-icd-367pacote que falhou com o erro acima.

A tentativa de desinstalar manualmente este pacote termina com estes erros:

insira a descrição da imagem aqui insira a descrição da imagem aqui


Atualização @ 20160605 - Solução:

Seguir a resposta de V ideonauth abaixo resolve o problema. Siga todas as etapas e certifique-se de reiniciar após remover tudo da NVIDIA via sudo apt purge nvidia*êxito sem problemas e depois de reinstalar o driver via sudo apt install nvidia-367.

Isso fará com que seu driver volte a funcionar.

Se isso não ajudar, tente remover manualmente todas as configurações antigas do xorg sudo rm /etc/X11/xorg.conf* && sudo rm /etc/X11/xorg.confe reinstale o driver novamente sudo apt install nvidia-367 --reinstall.

Se isso ainda não permitir que você efetue login novamente (erro típico: tela de logons -> senha foi digitada, pressione pressionado -> retorna à tela de login), tente remover completamente o driver Nvidia novamente, alternando para o console de texto no tela de registro com Ctrl+ Alt+ F1, faça login com seu nome de conta e senha, faça o download do driver apropriado para sua placa gráfica aqui no console, pare o lightdm:

sudo service lightdm

Instale o driver binário da Nvidia usando sudo ./NVIDIA-VERSION...

e reinicie o sistema:

sudo reboot now

Sistema:

Ubuntu 16.04 64bit

Linux 4.4.0-22

Flatron
fonte
1
Eu tive um problema como o seu, mas com a nvidia-340. ! Usei o método no.2 da Videonauth e, no final, encontrei problemas adicionais: a nvidia-361 não pôde ser instalada devido ao erro libcuda1-340. libcuda1-340 não pôde ser apagado. Eu forcei a apagar a libcuda1 da mesma maneira que fiz com a nvidia-opencl-icd-340. Depois disso, a nvidia-361 foi instalada corretamente. Obrigado Videonauth pela abordagem radical!
Ipse lute
Eu posso confirmar esse problema. E vejo até agora uma maneira: desativar o ppa-repo para a nvidia.
Ipeacocks
Se o seu problema foi resolvido em uma resposta, não replique as etapas da sua pergunta. Em vez disso, aceite a resposta e vote nela. Se você deseja sugerir alterações na resposta, clique no link editar abaixo para sugerir alterações.
David Foerster

Respostas:

17

Ok, para corrigir isso (tive os mesmos problemas hoje de manhã), você tem duas maneiras:

1. A maneira limpa proposta pela equipe da barra de lançamento por e-mail:

Para contornar esse problema, você pode primeiro mudar para um console de texto pressionando Ctrl+ Alt+ F1, em seguida, parar o seu gerenciador de exibição usando sudo systemctl stop <displaymanager>, onde está lightdm, gdm, sddm, ou qualquer outro monitor gerente você está usando.

A interrupção do X limpa a falha de desmontagem, permitindo que você atualize com êxito para ~ gpu16.04.6, que não contém mais o patch defeituoso usando sudo apt upgrade. Nesse ponto, você pode executar sudo systemctl reboota reinicialização do sistema, que deve retornar à funcionalidade normal.

Se você ainda receber um erro indicando

Unit var-lib-snapd-lib-gl.mount not loaded.

você pode solucionar esse problema executando

sudo touch /lib/systemd/system/var-lib-snapd-lib-gl.mount && sudo systemctl daemon-reload

antes de tentar repetir a atualização. Após a conclusão da atualização, para limpar a execução

sudo touch /lib/systemd/system/var-lib-snapd-lib-gl.mount

2. A maneira como me aproximei hoje de manhã, forçando brutalmente uma remoção completa:

Para contornar esse problema, primeiro você pode alternar para um console de texto pressionando Ctrl+ Alt+ F1e reiniciar novamente.

sudo apt-get remove --purge nvidia*

Seguido por

sudo dpkg --remove --force-all nvidia-opencl-icd-367`

Em sudo apt-get autoremoveseguida, seguido de a sudo apt-get cleane novamente a sudo apt-get remove --purge nvidia.

Agora ele deve ainda mencionar quaisquer pacotes que você não pode remover, em seguida, mudar para /var/lib/dpkg/infoe encontrar os arquivos chamados <packagename>.prerm, <packagename>.postinste <packagename>.postrm, para todos os arquivos, faça o seguinte ( cuidado com este não é o caminho sensato para remover algo ):

sudo su
> <packagename>.prerm
> <packagename>.postinst
> <packagename>.postrm
exit

Quando você tiver feito isso, inicie a remoção como de costume com

sudo apt-get remove <packagename>

faça isso até que tudo seja purgado e, em seguida,

sudo apt-get update && sudo apt-get dist-upgrade

e reinstale o driver da nvidia novamente, que deve ser corrigido agora

sudo apt-get install nvidia-367
Videonauth
fonte
Obrigado, eu pude desinstalar o driver da Nvidia completamente após sua segunda sugestão. Ainda não estou na minha área de trabalho (login "típico" -> de volta ao problema da tela de login), atualmente estou tentando instalar o driver binário da NVIDIA (que gera um novo x11.conf que normalmente funciona)
Flatron
1
Feliz que eu poderia ajudar :) Eu tive esta manhã e tive um tempo muito difícil até que eu descobri uma maneira de corrigir. Se a equipe do ppa havia enviado um e-mail sobre isso e as 1. soluções propostas são deles, a segunda solução foi o que fiz hoje de manhã para corrigi-lo.
Videonauth 5/06
Perfeito, apenas o incômodo com o Linux é sempre o driver gráfico. Principalmente não há problemas com edgers ppa, mas às vezes isso pode tornar a sua manhã de domingo uma luta;) #
619
1
Estou na unidade e tive o mesmo problema e usei o ppa normal da equipe de drivers gráficos, por isso removi a tag edgers da sua pergunta, tudo vem de um patch defeituoso que foi enviado, empacotado e enviado.
Videonauth 5/06
Obrigado. O toque fez o truque. Muito bobo se isso pode falhar de uma maneira tão fatal, apenas porque algum arquivo obviamente sem importância está faltando?
binaryanomaly