在帮美电升级时,进行docker load 操作时报错
Invalid or incomplete multibyte or wide character。
系统是ubuntu16.04
root@node-ip:~# locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
google 该错,网上大神们都说是tar解压时的编码问题。
我第一感觉也像编码问题,因为我的镜像中有中文名的文件。
但因为我之前在一模一样的系统上做过系统没有发现这个问题。
最后发现,我 /usr/lib/docker 挂载的分区是ntfs,之前的系统都是ext4的文件系统。
将挂载的分区改为ext4的文件系统后就没有出现该问题了。
结论:
linux下,在 ntfs 的分区下进行和tar解压的操作时,在解压中文文件时可能报错:
Invalid or incomplete multibyte or wide character。
解决办法:
将待解压的文件移动到ext4文件系统下。