Итак, у меня есть эта ошибка, которая, по-видимому, является известной проблемой. Я ищу работу, пока не будет исправлено, потому что я не могу позволить себе без системного резервного копирования.
Traceback (most recent call last):
File "/usr/bin/duplicity", line 1532, in <module>
with_tempdir(main)
File "/usr/bin/duplicity", line 1526, in with_tempdir
fn()
File "/usr/bin/duplicity", line 1380, in main
do_backup(action)
File "/usr/bin/duplicity", line 1401, in do_backup
sync_archive(decrypt)
File "/usr/bin/duplicity", line 1139, in sync_archive
remote_metafiles, ignored, rem_needpass = get_metafiles(remlist)
File "/usr/bin/duplicity", line 1029, in get_metafiles
pr = file_naming.parse(fn)
File "/usr/lib/python2.7/dist-packages/duplicity/file_naming.py", line 400, in parse
pr = check_inc()
File "/usr/lib/python2.7/dist-packages/duplicity/file_naming.py", line 340, in check_inc
t1 = str2time((m1 or m2).group("start_time"), short)
File "/usr/lib/python2.7/dist-packages/duplicity/file_naming.py", line 290, in str2time
t = dup_time.genstrtotime(timestr.upper())
File "/usr/lib/python2.7/dist-packages/duplicity/dup_time.py", line 295, in genstrtotime
return override_curtime - intstringtoseconds(timestr)
File "/usr/lib/python2.7/dist-packages/duplicity/dup_time.py", line 203, in intstringtoseconds
error()
File "/usr/lib/python2.7/dist-packages/duplicity/dup_time.py", line 194, in error
raise TimeException(bad_interval_string % interval_string)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)
Связанные проблемы:
https://bugs.launchpad.net/ubuntu/+source/deja-dup/+bug/1377873 https://bugs.launchpad.net/ubuntu/+source/deja-dup/+bug/1422289 https://stackoverflow.com/questions/9644099/python-ascii-codec-cant-decode-byteОсновная проблема - строки Unicode - у вас их есть где-то, а Duplicity (или, по крайней мере, версия, которую вы используете) не настроена для правильной обработки строк Unicode. Это связано с предостережениями Python 2.
В Python 2 существуют два отдельных класса типа «string»:
str - Это является типичным стандартным кодеком ASCII, который наблюдается во многих системах, и является более или менее стандартным AZ, 0-9, некоторыми символами из набора символов клавиатуры. unicode - Это кодировка UTF-8, кодировки UTF-16 и т. д., которые имеют огромный диапазон международных символов, emojis и т. д.Что бы ни передавалось в Duplicity, в этом case, мы, скорее всего, будем использовать символ из кодировок UTF, который находится за пределами стандартного набора символов ASCII. Вот почему мы получаем UnicodeDecodeError в трассировке - мы пытаемся преобразовать строки Unicode в строки ASCII, и мы не можем из-за того, что символы находятся за пределами наборов символов ASCII.
[!d10 ]Я бы предложил записать ошибку в Duplicity, чтобы сделать заметку о том, что они не обрабатывают Юникод должным образом, но я также посмотрел бы на все файлы, которые использует Duplicity, и убедитесь, что у вас нет символов Unicode (или скрытых секретных управляющие символы) в строках, с которыми он пытается работать.
ПРИМЕЧАНИЕ. В соответствии с связанными ошибками это уже исправлено; возможно, это было исправлено в более поздней версии Deja-Dup, но не в той версии, которую вы используете, и в этом случае вам нужно будет найти версию Backported или Update, чтобы обойти эту ошибку. В одной из ошибок обходное решение для переименования имен файлов с иностранными наборами символов в наборе Unicode должно быть переименовано в имена файлов только для ASCII, для того чтобы DejaDup правильно их обрабатывал. Это единственное известное обходное решение, не связанное с обновлением до новой версии DejaDup.Основная проблема - строки Unicode - у вас их есть где-то, а Duplicity (или, по крайней мере, версия, которую вы используете) не настроена для правильной обработки строк Unicode. Это связано с предостережениями Python 2.
В Python 2 существуют два отдельных класса типа «string»:
str - Это является типичным стандартным кодеком ASCII, который наблюдается во многих системах, и является более или менее стандартным AZ, 0-9, некоторыми символами из набора символов клавиатуры. unicode - Это кодировка UTF-8, кодировки UTF-16 и т. д., которые имеют огромный диапазон международных символов, emojis и т. д.Что бы ни передавалось в Duplicity, в этом case, мы, скорее всего, будем использовать символ из кодировок UTF, который находится за пределами стандартного набора символов ASCII. Вот почему мы получаем UnicodeDecodeError в трассировке - мы пытаемся преобразовать строки Unicode в строки ASCII, и мы не можем из-за того, что символы находятся за пределами наборов символов ASCII.
Я бы предложил записать ошибку в Duplicity, чтобы сделать заметку о том, что они не обрабатывают Юникод должным образом, но я также посмотрел бы на все файлы, которые использует Duplicity, и убедитесь, что у вас нет символов Unicode (или скрытых секретных управляющие символы) в строках, с которыми он пытается работать.
ПРИМЕЧАНИЕ. В соответствии с связанными ошибками это уже исправлено; возможно, это было исправлено в более поздней версии Deja-Dup, но не в той версии, которую вы используете, и в этом случае вам нужно будет найти версию Backported или Update, чтобы обойти эту ошибку. В одной из ошибок обходное решение для переименования имен файлов с иностранными наборами символов в наборе Unicode должно быть переименовано в имена файлов только для ASCII, для того чтобы DejaDup правильно их обрабатывал. Это единственное известное обходное решение, не связанное с обновлением до новой версии DejaDup.Основная проблема - строки Unicode - у вас их есть где-то, а Duplicity (или, по крайней мере, версия, которую вы используете) не настроена для правильной обработки строк Unicode. Это связано с предостережениями Python 2.
В Python 2 существуют два отдельных класса типа «string»:
str - Это является типичным стандартным кодеком ASCII, который наблюдается во многих системах, и является более или менее стандартным AZ, 0-9, некоторыми символами из набора символов клавиатуры. unicode - Это кодировка UTF-8, кодировки UTF-16 и т. д., которые имеют огромный диапазон международных символов, emojis и т. д.Что бы ни передавалось в Duplicity, в этом case, мы, скорее всего, будем использовать символ из кодировок UTF, который находится за пределами стандартного набора символов ASCII. Вот почему мы получаем UnicodeDecodeError в трассировке - мы пытаемся преобразовать строки Unicode в строки ASCII, и мы не можем из-за того, что символы находятся за пределами наборов символов ASCII.
Я бы предложил записать ошибку в Duplicity, чтобы сделать заметку о том, что они не обрабатывают Юникод должным образом, но я также посмотрел бы на все файлы, которые использует Duplicity, и убедитесь, что у вас нет символов Unicode (или скрытых секретных управляющие символы) в строках, с которыми он пытается работать.
ПРИМЕЧАНИЕ. В соответствии с связанными ошибками это уже исправлено; возможно, это было исправлено в более поздней версии Deja-Dup, но не в той версии, которую вы используете, и в этом случае вам нужно будет найти версию Backported или Update, чтобы обойти эту ошибку. В одной из ошибок обходное решение для переименования имен файлов с иностранными наборами символов в наборе Unicode должно быть переименовано в имена файлов только для ASCII, для того чтобы DejaDup правильно их обрабатывал. Это единственное известное обходное решение, не связанное с обновлением до новой версии DejaDup.Основная проблема - строки Unicode - у вас их есть где-то, а Duplicity (или, по крайней мере, версия, которую вы используете) не настроена для правильной обработки строк Unicode. Это связано с предостережениями Python 2.
В Python 2 существуют два отдельных класса типа «string»:
str - Это является типичным стандартным кодеком ASCII, который наблюдается во многих системах, и является более или менее стандартным AZ, 0-9, некоторыми символами из набора символов клавиатуры. unicode - Это кодировка UTF-8, кодировки UTF-16 и т. д., которые имеют огромный диапазон международных символов, emojis и т. д.Что бы ни передавалось в Duplicity, в этом case, мы, скорее всего, будем использовать символ из кодировок UTF, который находится за пределами стандартного набора символов ASCII. Вот почему мы получаем UnicodeDecodeError в трассировке - мы пытаемся преобразовать строки Unicode в строки ASCII, и мы не можем из-за того, что символы находятся за пределами наборов символов ASCII.
Я бы предложил записать ошибку в Duplicity, чтобы сделать заметку о том, что они не обрабатывают Юникод должным образом, но я также посмотрел бы на все файлы, которые использует Duplicity, и убедитесь, что у вас нет символов Unicode (или скрытых секретных управляющие символы) в строках, с которыми он пытается работать.
ПРИМЕЧАНИЕ. В соответствии с связанными ошибками это уже исправлено; возможно, это было исправлено в более поздней версии Deja-Dup, но не в той версии, которую вы используете, и в этом случае вам нужно будет найти версию Backported или Update, чтобы обойти эту ошибку. В одной из ошибок обходное решение для переименования имен файлов с иностранными наборами символов в наборе Unicode должно быть переименовано в имена файлов только для ASCII, для того чтобы DejaDup правильно их обрабатывал. Это единственное известное обходное решение, не связанное с обновлением до новой версии DejaDup.Убедитесь, что вы используете последнюю версию 0.7.12, так как в этом отношении были некоторые улучшения.
Похоже, двуличность пытается повысить значение TimeException, но натыкается на печать перевода ошибки. [!d1 ]
В текущем обходном пути следует установить LC_ALL env var для запрета перевода двуличности и использования английских строк по умолчанию. Либо экспортируйте настройку, либо поставьте ее перед вызовом двуличности, например
LC_ALL=C duplicity ...
Это, конечно, не решит ошибку, но, по крайней мере, покажет, что вызвана ошибкой (TimeException).
.. ede / duply.net
Убедитесь, что вы используете последнюю версию 0.7.12, так как в этом отношении были некоторые улучшения.
Похоже, двуличность пытается повысить значение TimeException, но натыкается на печать перевода ошибки.
В текущем обходном пути следует установить LC_ALL env var для запрета перевода двуличности и использования английских строк по умолчанию. Либо экспортируйте настройку, либо поставьте ее перед вызовом двуличности, например
LC_ALL=C duplicity ...
Это, конечно, не решит ошибку, но, по крайней мере, покажет, что вызвана ошибкой (TimeException).
.. ede / duply.net
Убедитесь, что вы используете последнюю версию 0.7.12, так как в этом отношении были некоторые улучшения.
Похоже, двуличность пытается повысить значение TimeException, но натыкается на печать перевода ошибки.
В текущем обходном пути следует установить LC_ALL env var для запрета перевода двуличности и использования английских строк по умолчанию. Либо экспортируйте настройку, либо поставьте ее перед вызовом двуличности, например
LC_ALL=C duplicity ...
Это, конечно, не решит ошибку, но, по крайней мере, покажет, что вызвана ошибкой (TimeException).
.. ede / duply.net
Убедитесь, что вы используете последнюю версию 0.7.12, так как в этом отношении были некоторые улучшения.
Похоже, двуличность пытается повысить значение TimeException, но натыкается на печать перевода ошибки.
В текущем обходном пути следует установить LC_ALL env var для запрета перевода двуличности и использования английских строк по умолчанию. Либо экспортируйте настройку, либо поставьте ее перед вызовом двуличности, например
LC_ALL=C duplicity ...
Это, конечно, не решит ошибку, но, по крайней мере, покажет, что вызвана ошибкой (TimeException).
.. ede / duply.net