do-release-upgrade разбился на UnicodeDecodeError при декодировании () при обновлении до 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 

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

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

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

Самый простой способ найти виновных – запустить:

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

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