все. Я пытаюсь исправить свою систему, чтобы я мог установить драйверы nvidia, но, похоже, она застряла по какой-то причине. Я попытался вручную удалить загруженные файлы из
/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb
/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb
..., чтобы разрешить их повторную загрузку, но безрезультатно. Кто-нибудь пытался установить эти драйверы в 18.04 в последнее время?
~$ sudo apt --fix-broken install
[sudo] password for jarl:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
lib32gcc1 libc6-i386
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
libnvidia-gl-390 libnvidia-gl-390:i386
The following NEW packages will be installed
libnvidia-gl-390 libnvidia-gl-390:i386
0 to upgrade, 2 to newly install, 0 to remove and 4 not to upgrade.
3 not fully installed or removed.
Need to get 0 B/29,1 MB of archives.
After this operation, 147 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 214344 files and directories currently installed.)
Preparing to unpack .../libnvidia-gl-390_390.48-0ubuntu3_i386.deb ...
diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/libGL.so.1.distrib by nvidia-340
dpkg-divert: error: mismatch on package
when removing 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 by libnvidia-gl-390'
found 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/libGL.so.1.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb (--unpack):
new libnvidia-gl-390:i386 package pre-installation script subprocess returned error exit status 2
Preparing to unpack .../libnvidia-gl-390_390.48-0ubuntu3_amd64.deb ...
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340
dpkg-divert: error: mismatch on package
when removing 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 by libnvidia-gl-390'
found 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb (--unpack):
new libnvidia-gl-390:amd64 package pre-installation script subprocess returned error exit status 2
Errors were encountered while processing:
/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb
/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Найденный этой командой на форумах человечности, работавших очень хорошо со мной:
Выполненный:
LC_MESSAGES=C dpkg-divert --list '*nvidia-340*' | sed -nre 's/^diversion of (.*) to .*/\1/p' | xargs -rd'\n' -n1 -- sudo dpkg-divert --remove
sudo apt --fix-broken install
Первая команда удалит все отклоненные пакеты из nvidia-340
. Если у Вас есть другая версия Nvidia изменение "отклонения" это; прочитайте код ошибки для знания, какая версия занимательна.
Источник: https://ubuntuforums.org/showthread.php? благодарность t=2388026&p=13761809#post13761809 stutteringp0et2 :)
Я решил проблему путем удаления Nvidia-340, отклоняют. надо надеяться, я не должен использовать nvidia-340
. Следующее является примером:
dpkg-divert --package nvidia-340 --remove /usr/lib/i386-linux-gnu/libGL.so.1
Можно продолжить удалять каждый раз, когда у Вас есть конфликт.
Я работал бы склонный авточистый и видел бы, если, что я думаю, что это, испорченный пакет.
sudo apt auto-clean
sudo apt update
sudo apt upgrade
sudo apt install nvidia-driver-390 libvulkan1
править: отвечать на Ваш другой вопрос, когда я установил 18.04 на днях 390, хорошо работало, но идущий в 396 было немного "забавы". Это зафиксировало его для меня.
Вот полный ответ на другом форуме
Основная предпосылка ответа:
Я предполагаю, что у Вас есть cr*p от 340 установленных драйверов - который был моей проблемой
удалите старые зависимости
LC_MESSAGES=C dpkg-divert --list '*nvidia-340*' | sed -nre 's/^diversion of (.*) to .*/\1/p' | xargs -rd'\n' -n1 -- sudo dpkg-divert --remove
чистая путаница - зависела от путаницы, которую Вы установили, узнают это, если не работают из поля ;)
sudo dpkg --force-all -P nvidia-390 nvidia-compute-utils-390 nvidia-dkms-390 nvidia-prime nvidia-settings nvidia-opencl-icd-340 nvidia-opencl-icd-384 nvidia-kernel-source-390 nvidia-kernel-common-390 libnvidia-cfg1-390 libnvidia-common-390 libnvidia-compute-390 libnvidia-decode-390 libnvidia-encode-390 libnvidia-fbc1-390 libnvidia-ifr1-390
sudo apt purge --autoremove '*nvidia*'
sudo apt-get update
sudo apt-get upgrade
установите новые рекомендуемые драйверы
ubuntu-drivers devices
nvidia-settings
Мой совет:
не играйте с настройками в этом cr*ppy драйверы только для проверки, если установлено :)
Решение #for FILE in $(dpkg-divert --list | grep nvidia-340 | awk '{print $3}'); do dpkg-divert --remove $FILE; done
Затем установите его от ppa,
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-390
согласно: https://forums.developer.nvidia.com/t/problem-with-apt-and-nvidia-440-on-ubuntu-20-04/115281/4
Мне удалось исправить ' сломанный deb (вы можете получить сломанное имя deb, если запустите обновление из командной строки, например, с помощью aptitude)
sudo dpkg -i --force-overwrite /var/cache/apt/archives/libnvidia-extra-455_455.45.01-0ubuntu1_amd64.deb
После этого вы можете продолжить исправлять другие сломанные установки или просто снова выполнить обновление в обычном режиме