正如上面的问题,当我尝试运行时sudo update-command-not-found
,出现此错误
Traceback (most recent call last):
File "/usr/sbin/update-command-not-found", line 26, in <module>
col.create(db)
File "/usr/share/command-not-found/CommandNotFound/db/creator.py", line 94, in create
self._fill_commands(con)
File "/usr/share/command-not-found/CommandNotFound/db/creator.py", line 132, in _fill_commands
self._parse_single_contents_file(con, f, fp.stdout)
File "/usr/share/command-not-found/CommandNotFound/db/creator.py", line 228, in _parse_single_contents_file
l = l.decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 15: invalid continuation byte
我尝试了很多方法来解决这个问题。问题似乎出在“utf-8”问题上。有什么想法吗?
答案1
对于有类似问题的人来说,最简单的解决方案是:
LC_ALL=C.UTF-8 update-command-not-found
这对于与任何类型的安装相关的许多类似 UTF-8 问题都有效。相信我!
答案2
从 Raspbian stretch 转移到 Raspbian buster 后,我在 Raspberry Pi 上遇到了同样的问题。
就我的情况而言,根本原因是 apt 工具更改了存储的文件格式/var/lib/apt/lists/*Contents*
,现在使用这些.lz4
格式对它们进行编码。因此该update-command-not-found
命令无法再读取它们。
这个问题可能可以通过新版本的“command-not-found”工具来解决(https://code.launchpad.net/command-not-found)