Ошибка do-release-upgrade на UnicodeDecodeError в decode () при обновлении до 13.10 с 13.04

Я только что попытался обновить до 13.10 с 13.04, и я получил следующую ошибку в консоли

Checking for a new Ubuntu release
authenticate 'saucy.tar.gz' against 'saucy.tar.gz.gpg' 
extracting 'saucy.tar.gz'
Traceback (most recent call last):
  File "/tmp/user/0/ubuntu-release-upgrader-xnzjbd/saucy", line 10, in <module>
    sys.exit(main())
  File "/tmp/user/0/ubuntu-release-upgrader-xnzjbd/DistUpgrade/DistUpgradeMain.py", line 240, in main
    save_system_state(logdir)
  File "/tmp/user/0/ubuntu-release-upgrader-xnzjbd/DistUpgrade/DistUpgradeMain.py", line 133, in save_system_state
    scrub_sources=True)
  File "/tmp/user/0/ubuntu-release-upgrader-xnzjbd/DistUpgrade/apt_clone.py", line 149, in save_state
    self._write_state_sources_list(tar, scrub_sources)
  File "/tmp/user/0/ubuntu-release-upgrader-xnzjbd/DistUpgrade/apt_clone.py", line 241, in _write_state_sources_list
    "./etc/apt/sources.list.d/"+source)
  File "/tmp/user/0/ubuntu-release-upgrader-xnzjbd/DistUpgrade/apt_clone.py", line 246, in _add_file_to_tar_with_password_check
    for line in f.readlines():
  File "/usr/lib/python2.7/codecs.py", line 296, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x9f in position 3: invalid start byte

Это то, что я получаю в update-manager GUI

do-release-upgrade crashed on UnicodeDecodeError in decode(): 'utf8' codec can't decode byte 0x9f in position 3 : invalid state
6
задан 16.04.2020, 13:19

2 ответа

У меня была немного другая причина и решение, но ответ пользователя 204109 помог в этом.

По сути, у меня было несколько несоответствующих символов utf-8 в файлах под /etc/apt/sources.list.d/, вставленных ранее сценариями dist upgrade. Это потому, что мой родной язык имеет некоторые символы, отличные от ASCII, и, очевидно, локализация была не совсем правильной ранее.

Простейший способ найти виновных - запустить:

cd /etc/apt/sources.list.d
file *.list

Затем откройте в редакторе каждый файл, который не указан как «текст ASCII», и удалите все символы, которые кажутся мусором. [115 ]

0
ответ дан 16.04.2020, 13:20

Проверьте sources.list.d для любых файлов точек (файлы, начинающиеся с точки), содержащих бинарный мусор (который декодер Python Unicode выдает кусками). У меня была такая же проблема, и когда я удалил файлы точек из /etc/apt/sources.list.d/, это снова сработало.

0
ответ дан 16.04.2020, 13:20
  • 1
    У меня есть точно та же проблема, но don' t имеют любые точечные файлы. Но отключенный все дополнительные источники и это работали. – gkeepa 16.04.2020, 13:21
  • 2
    решение гения – Phil 16.04.2020, 13:21
  • 3
    Имел ту же проблему. Это был файл отката Vim, который заставлял Python рвать. – gkeepa 16.04.2020, 13:22

Теги

Похожие вопросы