nvidia-304 패키지를 제거하려고 할 때 "UnicodeDecodeError: 'utf-8' 코덱이 위치 0의 바이트 0xff를 디코딩할 수 없습니다: 잘못된 시작 바이트" 오류

nvidia-304 패키지를 제거하려고 할 때 "UnicodeDecodeError: 'utf-8' 코덱이 위치 0의 바이트 0xff를 디코딩할 수 없습니다: 잘못된 시작 바이트" 오류

nvidia-304내 시스템(Ubuntu 14.04)에서 패키지를 제거 하려고 하는데 다음 오류가 발생합니다.

Do you want to continue? [Y/n] y
(Reading database ... 283298 files and directories currently installed.)
Removing nvidia-304 (304.117-0ubuntu1) ...
Removing all DKMS Modules
Error! There are no instances of module: nvidia-304
304.117 located in the DKMS tree.
Done.
update-alternatives: using /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in auto mode
update-alternatives: using /usr/lib/i386-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in auto mode
INFO:Disable nvidia-304
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/dell_latitude
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad
DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here
Traceback (most recent call last):
  File "/usr/bin/quirks-handler", line 65, in <module>
    operation_status = main(options)
  File "/usr/bin/quirks-handler", line 48, in main
    quirks = Quirks.quirkapplier.QuirkChecker(options.package_disable, 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-304 (--purge):
 subprocess installed pre-removal script returned error exit status 1
Processing triggers for libc-bin (2.19-0ubuntu6.3) ...
Errors were encountered while processing:
 nvidia-304
E: Sub-process /usr/bin/dpkg returned an error code (1)

삭제하고 싶은 이유는

  1. 그것은 사용되지 않습니다
  2. fslintnvidia-304패키지가 완전히 구성되지 않았기 때문에 설치 시도가 실패했습니다.

모든 문제는 버전 13.10에서 14.04 LTS로 업그레이드한 후 시작되었습니다.

이 문제를 어떻게 해결할 수 있나요?

답변1

정확한 오류는 다음과 같습니다.

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

중간코드라는 의미에서는 고치고 고칠 수 없습니다. 는허점개발자의 관점에서 보면 IMO는 수정하기 쉽습니다(파일 인코딩 수정). 이제 패키지를 제거하는 유일한 방법은 강제로 수행하는 것입니다.어떤 상황에서도 이 작업을 수행하지 않는 것이 좋습니다..

나는 이것이 /usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here더미 파일인 것으로 보이며 문제의 원인일 수 있음을 발견했습니다. file /usr/share/ubuntu-drivers-common/quirks/*다음과 같이 파일이 UTF-8이 아닌지 확인해야 합니다.

$ file /mnt/usr/share/ubuntu-drivers-common/quirks/*
/mnt/usr/share/ubuntu-drivers-common/quirks/dell_latitude:        ASCII text
/mnt/usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad:      ASCII text
/mnt/usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here: empty

해당 파일이 아닌 경우 ASCII text모두 삭제하고 패키지 삭제를 다시 시도하는 것이 좋습니다.

관련 정보