Zainstalowanie nvidia-opencl-icd-367 powoduje uszkodzenie menedżera pakietów

14

Korzystam z sterowników graficznych ppa. Otrzymałem dzisiaj dialog aktualizacji, który stwierdził, że mogę zaktualizować mój sterownik nvidia do 367.18 (~ gpu16.04.6). Aktualizację rozpocząłem jak za każdym razem, ale nie udało się

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

Po ponownym uruchomieniu mój sterownik grafiki został uszkodzony i zostałem zmuszony do przejścia w tryb odzyskiwania.

Jak zwykle, gdy mój sterownik Nvidia psuje się, po prostu odinstalowuję go, sudo apt purge nvidia*aby później go ponownie zainstalować.

Robiąc to w trybie odzyskiwania odinstalowano wszystkie oprócz nvidia-opencl-icd-367pakietu, w którym błąd nie powiódł się powyżej.

Próba ręcznego odinstalowania tego pakietu kończy się następującymi błędami:

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj


Aktualizacja @ 20160605 - Rozwiązanie:

Podążanie za odpowiedzią V ideonauth poniżej rozwiązuje problem. Wykonaj wszystkie kroki i upewnij się, że uruchomiłeś się ponownie po usunięciu wszystkiego z NVIDIA poprzez sudo apt purge nvidia*udane bez problemów i po ponownej instalacji sterownika przez sudo apt install nvidia-367.

To sprawi, że Twój kierowca ponownie zacznie działać.

Jeśli to nie pomoże, spróbuj ręcznie usunąć wszystkie stare konfiguracje xorg sudo rm /etc/X11/xorg.conf* && sudo rm /etc/X11/xorg.confi ponownie zainstalować sterownik sudo apt install nvidia-367 --reinstall.

Jeśli to nadal nie pozwala się zalogować (typowy błąd: ekran logowania -> hasło zostało wprowadzone, naciśnij wciśnięty -> wraca do ekranu logowania) spróbuj całkowicie usunąć sterownik Nvidia ponownie, przechodząc do konsoli tekstowej z logscreen z Ctrl+ Alt+ F1, zaloguj się z wami nazwę i hasło konta, donwload odpowiedni sterownik dla karty graficznej z tutaj wewnątrz konsoli, przystanek lightdm:

sudo service lightdm

Zainstaluj sterownik binarny Nvidii za pomocą sudo ./NVIDIA-VERSION...

i zrestartuj system:

sudo reboot now

System:

Ubuntu 16.04 64bit

Linux 4.4.0-22

Flatron
źródło
1
Miałem problem taki jak twój, ale z NVIDIA-340. ! Użyłem metody Videonauth nr 2, a na końcu napotkałem dodatkowe problemy: nvidia-361 nie mogła zostać zainstalowana z powodu błędu libcuda1-340. Nie można usunąć libcuda1-340. Wymusiłem wymazanie libcuda1 w ten sam sposób, co zrobiłem z nvidia-opencl-icd-340. Następnie nvidia-361 zainstalowała się dobrze. Dzięki Videonauth za radykalne podejście!
ipse lutute
Mogę potwierdzić ten problem. I do tej pory widzę jeden sposób: wyłączenie ppa-repo dla nvidii.
ipeacocks
Jeśli problem został rozwiązany w odpowiedzi, nie powtarzaj czynności opisanych w pytaniu. Zamiast tego zaakceptuj odpowiedź i głosuj na nią. Jeśli chcesz zasugerować zmiany w odpowiedzi, kliknij poniższy link edytuj , aby zasugerować zmiany.
David Foerster,

Odpowiedzi:

17

Ok, aby to naprawić (miałem te same problemy dziś rano) masz dwa sposoby:

1. Czysty sposób zaproponowany mi przez zespół startera na e-mail:

Aby obejść ten problem, można najpierw przełączyć się do konsoli tekstowej, naciskając Ctrl+ Alt+ F1, a następnie zatrzymać menedżera ekranu używając sudo systemctl stop <displaymanager>, gdzie jest lightdm, gdm, sddm, lub którykolwiek inny wyświetlacz menedżer używasz.

Zatrzymanie X usuwa awarię odmontowania, umożliwiając pomyślną aktualizację do ~ gpu16.04.6, która nie zawiera już wadliwej łatki, za pomocą sudo apt upgrade. W tym momencie możesz następnie uruchomić, sudo systemctl rebootaby ponownie uruchomić system, co powinno przywrócić normalną funkcjonalność.

Jeśli nadal pojawia się komunikat o błędzie

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

możesz obejść ten problem, uruchamiając

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

przed próbą powtórzenia aktualizacji. Po zakończeniu aktualizacji, aby wyczyścić, uruchom

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

2. Sposób, w jaki podszedłem do niego dziś rano, brutalnie zmuszając do całkowitego usunięcia:

Aby obejść ten problem, możesz najpierw przełączyć się na konsolę tekstową, naciskając Ctrl+ Alt+ F1, a następnie zacząć ponownie od

sudo apt-get remove --purge nvidia*

śledzony przez

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

Następnie sudo apt-get autoremovenastępuje a sudo apt-get cleani ponownie a sudo apt-get remove --purge nvidia.

Teraz powinien jeszcze wspomnieć o wszelkich pakietach, których nie można usunąć, a następnie przejść do /var/lib/dpkg/infoi znaleźć pliki wywoływane <packagename>.prerm, <packagename>.postinsta <packagename>.postrmdla wszystkich tych plików wykonaj następujące czynności ( uwaga: nie jest to rozsądny sposób na usunięcie czegoś ):

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

Gdy to zrobisz, rozpocznij usuwanie jak zwykle za pomocą

sudo apt-get remove <packagename>

róbcie to, dopóki wszystko nie zostanie oczyszczone

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

a następnie ponownie zainstaluj sterownik nvidia, który do tej pory powinien zostać naprawiony

sudo apt-get install nvidia-367
Videonauth
źródło
Dzięki, udało mi się całkowicie odinstalować sterownik Nvidia zgodnie z twoją drugą sugestią. Nadal nie jestem na swoim komputerze („typowe” logowanie -> problem z powrotem do ekranu logowania), obecnie próbuję zainstalować sterownik binarny NVIDIA (który generuje nowy x11.conf, który normalnie działa)
Flatron
1
Cieszę się, że mogłem pomóc :) Miałem to dziś rano i miałem bardzo trudny czas, dopóki nie znalazłem sposobu na naprawę. Wysłałem e-mail do ekipy ppa na ten temat, a proponowane 1. rozwiązania są od nich, drugie rozwiązanie zrobiłem dziś rano, aby to naprawić.
Videonauth,
Idealne, tylko kłopot z Linuksem jest zawsze sterownikiem grafiki. Przeważnie nie ma problemów z obrzynarkami PPA, ale czasem może to sprawić, że Twój niedzielny poranek będzie trudny;)
Flatron
1
Jestem w jedności i miałem ten sam problem i użyłem normalnego ppa sterownika karty graficznej, więc usunąłem tag edgerów z twojego pytania, wszystko pochodzi z wadliwej łatki, która została przesłana, spakowana i wypchnięta.
Videonauth,
Dzięki. Dotyk zadziałał. Całkiem głupie, jeśli to może zawieść w tak fatalny sposób tylko dlatego, że brakuje jakiegoś oczywiście nieistotnego pliku?
binaryanomaly