![nvidia-304 패키지를 제거하려고 할 때 "UnicodeDecodeError: 'utf-8' 코덱이 위치 0의 바이트 0xff를 디코딩할 수 없습니다: 잘못된 시작 바이트" 오류](https://linux55.com/image/55047/nvidia-304%20%ED%8C%A8%ED%82%A4%EC%A7%80%EB%A5%BC%20%EC%A0%9C%EA%B1%B0%ED%95%98%EB%A0%A4%EA%B3%A0%20%ED%95%A0%20%EB%95%8C%20%22UnicodeDecodeError%3A%20'utf-8'%20%EC%BD%94%EB%8D%B1%EC%9D%B4%20%EC%9C%84%EC%B9%98%200%EC%9D%98%20%EB%B0%94%EC%9D%B4%ED%8A%B8%200xff%EB%A5%BC%20%EB%94%94%EC%BD%94%EB%94%A9%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%3A%20%EC%9E%98%EB%AA%BB%EB%90%9C%20%EC%8B%9C%EC%9E%91%20%EB%B0%94%EC%9D%B4%ED%8A%B8%22%20%EC%98%A4%EB%A5%98.png)
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)
삭제하고 싶은 이유는
- 그것은 사용되지 않습니다
fslint
nvidia-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
모두 삭제하고 패키지 삭제를 다시 시도하는 것이 좋습니다.