- 50
- 0
问题描述
使用salt-cp拷贝了一个tar.gz的压缩包,结果在执行后报错,但是文件却已经完整的传输到了minion端。
问题出现的环境背景及自己尝试过哪些方法
我尝试将python2.7的代码环境换成UTF-8,重启salt-master和salt-minion后再次尝试,还是不行。
报错情况
[root@localhost ]# salt-cp '*' scan.tar.gz /web/soft/scan
[CRITICAL] Could not deserialize msgpack message. This often happens when trying to read a file not in binary mode. To see message payload, enable debug logging and retry. Exception: 'utf8' codec can't decode byte 0x8b in position 1: invalid start byte
[ERROR ] An un-handled exception was caught by salt's global exception handler:
UnicodeDecodeError: 'utf8' codec can't decode byte 0x8b in position 1: invalid start byte
Traceback (most recent call last):
File "/usr/bin/salt-cp", line 10, in <module>
salt_cp()
File "/usr/lib/python2.7/site-packages/salt/scripts.py", line 387, in salt_cp
client.run()
File "/usr/lib/python2.7/site-packages/salt/cli/cp.py", line 52, in run
cp_.run()
File "/usr/lib/python2.7/site-packages/salt/cli/cp.py", line 142, in run
ret = self.run_oldstyle()
File "/usr/lib/python2.7/site-packages/salt/cli/cp.py", line 165, in run_oldstyle
return local.cmd(*args)
File "/usr/lib/python2.7/site-packages/salt/client/__init__.py", line 741, in cmd
**kwargs):
File "/usr/lib/python2.7/site-packages/salt/client/__init__.py", line 1603, in get_cli_event_returns
**kwargs
File "/usr/lib/python2.7/site-packages/salt/client/__init__.py", line 1184, in get_iter_returns
for raw in ret_iter:
File "/usr/lib/python2.7/site-packages/salt/client/__init__.py", line 1109, in get_returns_no_block
no_block=True, auto_reconnect=self.auto_reconnect)
File "/usr/lib/python2.7/site-packages/salt/utils/event.py", line 642, in get_event
ret = self._get_event(wait, tag, match_func, no_block)
File "/usr/lib/python2.7/site-packages/salt/utils/event.py", line 544, in _get_event
mtag, data = self.unpack(raw, self.serial)
File "/usr/lib/python2.7/site-packages/salt/utils/event.py", line 435, in unpack
data = serial.loads(mdata, encoding='utf-8')
File "/usr/lib/python2.7/site-packages/salt/payload.py", line 144, in loads
ret = msgpack.loads(msg, use_list=True, ext_hook=ext_type_decoder, encoding=encoding)
File "msgpack/_unpacker.pyx", line 138, in msgpack._unpacker.unpackb (msgpack/_unpacker.cpp:138)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x8b in position 1: invalid start byte
Traceback (most recent call last):
File "/usr/bin/salt-cp", line 10, in <module>
salt_cp()
File "/usr/lib/python2.7/site-packages/salt/scripts.py", line 387, in salt_cp
client.run()
File "/usr/lib/python2.7/site-packages/salt/cli/cp.py", line 52, in run
cp_.run()
File "/usr/lib/python2.7/site-packages/salt/cli/cp.py", line 142, in run
ret = self.run_oldstyle()
File "/usr/lib/python2.7/site-packages/salt/cli/cp.py", line 165, in run_oldstyle
return local.cmd(*args)
File "/usr/lib/python2.7/site-packages/salt/client/__init__.py", line 741, in cmd
**kwargs):
File "/usr/lib/python2.7/site-packages/salt/client/__init__.py", line 1603, in get_cli_event_returns
**kwargs
File "/usr/lib/python2.7/site-packages/salt/client/__init__.py", line 1184, in get_iter_returns
for raw in ret_iter:
File "/usr/lib/python2.7/site-packages/salt/client/__init__.py", line 1109, in get_returns_no_block
no_block=True, auto_reconnect=self.auto_reconnect)
File "/usr/lib/python2.7/site-packages/salt/utils/event.py", line 642, in get_event
ret = self._get_event(wait, tag, match_func, no_block)
File "/usr/lib/python2.7/site-packages/salt/utils/event.py", line 544, in _get_event
mtag, data = self.unpack(raw, self.serial)
File "/usr/lib/python2.7/site-packages/salt/utils/event.py", line 435, in unpack
data = serial.loads(mdata, encoding='utf-8')
File "/usr/lib/python2.7/site-packages/salt/payload.py", line 144, in loads
ret = msgpack.loads(msg, use_list=True, ext_hook=ext_type_decoder, encoding=encoding)
File "msgpack/_unpacker.pyx", line 138, in msgpack._unpacker.unpackb (msgpack/_unpacker.cpp:138)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x8b in position 1: invalid start byte
你期待的结果是什么?实际看到的错误信息又是什么?
不知道这是什么情况。
1
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
漫步あ雨中 普通会员 1楼
"UnicodeDecodeError"通常出现在你尝试使用Python的内置函数来解码一个包含非ASCII字符的字符串时。在Python中,所有字符都被视为ASCII字符,因此如果你尝试解码一个包含非ASCII字符的字符串,你将得到一个"UnicodeDecodeError"。
例如,如果你尝试解码一个包含日语字符的字符串,你将得到一个"UnicodeDecodeError",因为日语字符在ASCII编码中并不是一个单独的字符,而是由多个ASCII字符组成的。
如果你的代码中有一个字符串包含非ASCII字符,你可以尝试使用
encode()函数将其转换为ASCII编码。例如:python my_string = "你好世界!" my_string = my_string.encode("utf-8")在这个例子中,
encode("utf-8")将字符串"你好世界!"转换为UTF-8编码,以便它可以被解码。如果你的代码中有一个字符串包含非ASCII字符,但你希望这些字符仍然保持原始的格式,你可以使用
decode()函数将其转换回原始的格式。例如:python my_string = "你好世界!" my_string = my_string.decode("utf-8")在这个例子中,
decode("utf-8")将UTF-8编码的字符串"你好世界!"转换回原始的字符串,以便你可以继续使用它。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
