Я только что попытался обновить до 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 для любых файлов точек (файлы, начинающиеся с точки), содержащих бинарный мусор (который декодер Python Unicode выдает кусками). У меня была такая же проблема, и когда я удалил файлы точек из /etc/apt/sources.list.d/, это снова сработало.
У меня были немного отличающаяся причина и решение, но ответ user204109, вырученным на этом.
В основном у меня были некоторые несоответствующие utf-8 символы в файлах под /etc/apt/sources.list.d/
вставленный ранее dist обновляют сценарии. Это, потому что мой родной язык имеет некоторых не символы ASCII, и по-видимому локализация была не совсем корректна ранее.
Самый простой способ найти преступников состоит в том, чтобы работать:
cd /etc/apt/sources.list.d
file *.list
Затем открытый в редакторе каждый из файлов, который не перечислен как "текст ASCII" и удаляет любые символы, которые походят на мусор.
Для тех, у кого похожие проблемы, самое простое решение:
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
do-release-upgrade
Easy peasy. И это работает для многих подобных UTF-8
проблем, связанных с любыми установками.
Поверьте мне!