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

Жестокий способ устранения проблемы заключается в следующем

  1. отредактируйте файл /var/lib/dpkg/info/package-name.postrm; в этом случае это должно быть sudo gedit /var/lib/dpkg/info/nvidia-331.postrm
  2. добавляет выход 0 после строки #!bin/sh и сохранить.
  3. запустите "sudo apt-get remove --purge nvidia-331". Это должно закончиться без ошибок.
  4. убедитесь, что удалили ранее добавленную строку из файла (так снова sudo gedit /var/lib/dpkg/info/package-name.postrm, удалите строку и сохраните).
  5. прежде чем пытаться что-либо еще, беги sudo apt-get update а также sudo apt-get upgrade и убедитесь, что он возвращается без ошибок.

То, что работало для меня, было очистить nvidia-current, autoremove, перезагрузите, установите cairo-dock затем перейдите к обновлениям программного обеспечения и выберите nvidia 331 из дополнительных драйверов (это заняло гораздо больше времени, чем установка из cli), запустить снова. Затем из терминала установить CCSM и активируйте плагин Unity.

Теперь в командах то, что я считаю минимумом для решения проблемы:

  1. Перед входом в систему (потому что lightdm показывает вход в систему) введите ctrl+alt+F2
  2. От CLI тип sudo apt-get install cairo-dock
  3. Сейчас типаsudo apt-get install compizconfig-settings-manager
  4. Вернитесь к логину, набрав ctrl+alt+F7
  5. Выбрать cairo в качестве оболочки (нажмите на иконку Ubuntu) и войдите как обычно
  6. Из меню приложения в Каире перейдите к системным инструментам-> настройки->CompizConfig Settings Manager
  7. Нажмите OK в диалоговом окне предупреждения
  8. Нажмите на кнопку на рабочем столе в левой панели.
  9. Нажмите кнопку Ubuntu Unity Plugin на правой панели
  10. Установите флажок в левой панели, чтобы активировать плагин Ubuntu Unity
  11. Активируйте все, что нужно для того, чтобы вернуть Unity
  12. Voilá Unity снова работает как раньше

Я надеюсь, что эти шаги имеют смысл. Первым объяснением была очень быстрая история, рассказывающая о том, что я должен был сделать, поэтому, если подробные минимальные шаги для вас не сработают, следуйте в точности по тому пути, который мне пришлось сделать

  1. Не входите в систему,нажмите Ctrl+Alt+F2, поэтому вы переходите к CLI
  2. войдите, а затем введите sudo apt-get install cairo-dock
  3. sudo apt-get purge nvidia-current и подтвердить
  4. Сейчас типа sudo apt-get autoremove и подтвердить
  5. sudo reboot
  6. Теперь войдите из lightDM (графически) как обычно, но выбирая cairo оболочка от иконки Ubuntu
  7. Если графический интерфейс отображается хорошо, перейдите к шагу 11; иначе
  8. Вернитесь к CLI, набрав ctrl+alt+F2
  9. наберите cairo-dock (надеюсь, он правильно запускается в вашем графическом интерфейсе; в противном случае вы должны указать DISPLAY перед -gurus, пожалуйста, помогите-)
  10. Вернитесь в GUI, набрав ctrl+alt+F7
  11. Из меню приложений в Каире перейдите в Системные инструменты-> Обновления программного обеспечения.
  12. По завершении обновления нажмите кнопку конфигурации и перейдите на последнюю вкладку (дополнительные драйверы).
  13. Другой способ - перейти в Системные инструменты-> Настройки-> Дополнительные драйверы.
  14. Выберите лучший (проверенный) драйвер Nvidia и примените изменения
  15. Перезапустите, используя значок Каира для этого
  16. Затем войдите снова и установите compizconfig-settings-manager используя Системные инструменты-> Администрирование->Ubuntu Software Center
  17. Продолжите с шага 6 минимальных шагов (предыдущий список)

Я надеюсь, что это имеет смысл и работает для вас так же, как и для меня.

Другие вопросы по тегам