在VMware的Linux虚拟机中使用unzip解压从本地电脑复制过去的压缩包,一直报错:
Archive: instantclient-basic-linux.x64-11.2.0.4.0.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
网上大部分都是说压缩包太大,超过了2G,unzip解压不了。要使用jar/7Z来解压。但是我的压缩包才几十M,觉得应该不是这个问题。后来看到一篇文章,才发现应该是直接从本地拖拽文件到虚拟机导致文件不全无法解压。解决方法如下:
以上报错一般有两种可能
- unzip命令无法打开它(如压缩包太大等),这种情况就只能使用其他方法解压了
- 压缩包不完整,解决方法如下:
虚拟机:centos7
对比本地文件和拖拽复制进虚拟机的文件大小,相差了几M。应该是拖拽复制方式导致文件不完整。从网上找到另一种传输文件的方式:使用FileZilla
从官网下载、安装完成后,打开软件-->文件-->站点管理器中新建站点然后选择SFTP协议,输入用户名密码点击连接即可。
此时再在FileZilla上把文件拖过去虚拟机,就可以保证文件的完整。
再在虚拟机中使用unzip解压即可。