apt-get приводит к ошибкам после установки nvidia 331
Я недавно установил nvidia-331
водитель через Software & Updates
-> Additional Drivers
Вкладка.
Теперь, когда я использую:
sudo apt-get install <package>
или же
sudo apt-get remove <package>
apt-get
заканчивается следующими ошибками:
lyn@antares:~$ sudo apt-get install hexedit
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
linux-image-generic
Use 'apt-get autoremove' to remove it.
The following NEW packages will be installed:
hexedit
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/24.6 kB of archives.
After this operation, 88.1 kB of additional disk space will be used.
Selecting previously unselected package hexedit.
(Reading database ... 226032 files and directories currently installed.)
Preparing to unpack .../hexedit_1.2.13-1_amd64.deb ...
Unpacking hexedit (1.2.13-1) ...
Processing triggers for man-db (2.6.7.1-1) ...
Setting up nvidia-331 (331.89-0ubuntu1~xedgers14.04.2) ...
INFO:Enable nvidia-331
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/dell_latitude
Traceback (most recent call last):
File "/usr/bin/quirks-handler", line 65, in <module>
operation_status = main(options)
File "/usr/bin/quirks-handler", line 44, in main
quirks = Quirks.quirkapplier.QuirkChecker(options.package_enable, path=quirks_path)
File "/usr/lib/python3/dist-packages/Quirks/quirkapplier.py", line 38, in __init__
self._system_info = self.get_system_info()
File "/usr/lib/python3/dist-packages/Quirks/quirkapplier.py", line 64, in get_system_info
return quirk_info.get_dmi_info()
File "/usr/lib/python3/dist-packages/Quirks/quirkinfo.py", line 46, in get_dmi_info
'class', 'dmi', 'id', item)).read().strip()
File "/usr/lib/python3.4/codecs.py", line 313, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
dpkg: error processing package nvidia-331 (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up hexedit (1.2.13-1) ...
Errors were encountered while processing:
nvidia-331
E: Sub-process /usr/bin/dpkg returned an error code (1)
Я уже пытался удалить драйверы NVIDIA, используя эту тему, однако apt-get
по-прежнему показывает почти ту же ошибку.
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
3 ответа
Это сработало для меня:)
Сделайте резервную копию и отредактируйте файл:
sudo cp /usr/bin/quirks-handler /usr/bin/quirks-handler.bak
sudo gedit /usr/bin/quirks-handler
замените содержимое следующим кодом:
#! /usr/bin/python3
if __name__ == '__main__':
pass
Чистка nvidia-331:
sudo apt-get purge nvidia-331
Он успешно завершится, и вы сможете восстановить резервную копию:
sudo mv /usr/bin/quirks-handler.bak /usr/bin/quirks-handler
Жестокий способ устранения проблемы заключается в следующем
- отредактируйте файл /var/lib/dpkg/info/package-name.postrm; в этом случае это должно быть
sudo gedit /var/lib/dpkg/info/nvidia-331.postrm
- добавляет выход 0 после строки
#!bin/sh
и сохранить. - запустите "sudo apt-get remove --purge nvidia-331". Это должно закончиться без ошибок.
- убедитесь, что удалили ранее добавленную строку из файла (так снова
sudo gedit /var/lib/dpkg/info/package-name.postrm
, удалите строку и сохраните). - прежде чем пытаться что-либо еще, беги
sudo apt-get update
а такжеsudo apt-get upgrade
и убедитесь, что он возвращается без ошибок.
То, что работало для меня, было очистить nvidia-current
, autoremove
, перезагрузите, установите cairo-dock
затем перейдите к обновлениям программного обеспечения и выберите nvidia 331 из дополнительных драйверов (это заняло гораздо больше времени, чем установка из cli
), запустить снова. Затем из терминала установить CCSM
и активируйте плагин Unity.
Теперь в командах то, что я считаю минимумом для решения проблемы:
- Перед входом в систему (потому что lightdm показывает вход в систему) введите ctrl+alt+F2
- От
CLI
типsudo apt-get install cairo-dock
- Сейчас типа
sudo apt-get install compizconfig-settings-manager
- Вернитесь к логину, набрав ctrl+alt+F7
- Выбрать
cairo
в качестве оболочки (нажмите на иконку Ubuntu) и войдите как обычно - Из меню приложения в Каире перейдите к системным инструментам-> настройки->CompizConfig Settings Manager
- Нажмите OK в диалоговом окне предупреждения
- Нажмите на кнопку на рабочем столе в левой панели.
- Нажмите кнопку Ubuntu Unity Plugin на правой панели
- Установите флажок в левой панели, чтобы активировать плагин Ubuntu Unity
- Активируйте все, что нужно для того, чтобы вернуть Unity
- Voilá Unity снова работает как раньше
Я надеюсь, что эти шаги имеют смысл. Первым объяснением была очень быстрая история, рассказывающая о том, что я должен был сделать, поэтому, если подробные минимальные шаги для вас не сработают, следуйте в точности по тому пути, который мне пришлось сделать
- Не входите в систему,нажмите Ctrl+Alt+F2, поэтому вы переходите к
CLI
- войдите, а затем введите
sudo apt-get install cairo-dock
sudo apt-get purge nvidia-current
и подтвердить- Сейчас типа
sudo apt-get autoremove
и подтвердить sudo reboot
- Теперь войдите из
lightDM
(графически) как обычно, но выбираяcairo
оболочка от иконки Ubuntu - Если графический интерфейс отображается хорошо, перейдите к шагу 11; иначе
- Вернитесь к CLI, набрав ctrl+alt+F2
- наберите cairo-dock (надеюсь, он правильно запускается в вашем графическом интерфейсе; в противном случае вы должны указать DISPLAY перед -gurus, пожалуйста, помогите-)
- Вернитесь в GUI, набрав ctrl+alt+F7
- Из меню приложений в Каире перейдите в Системные инструменты-> Обновления программного обеспечения.
- По завершении обновления нажмите кнопку конфигурации и перейдите на последнюю вкладку (дополнительные драйверы).
- Другой способ - перейти в Системные инструменты-> Настройки-> Дополнительные драйверы.
- Выберите лучший (проверенный) драйвер Nvidia и примените изменения
- Перезапустите, используя значок Каира для этого
- Затем войдите снова и установите
compizconfig-settings-manager
используя Системные инструменты-> Администрирование->Ubuntu Software Center - Продолжите с шага 6 минимальных шагов (предыдущий список)
Я надеюсь, что это имеет смысл и работает для вас так же, как и для меня.