我们经常遇到这种问题,高版本的vmware遇到低版本的linux,使用起来就比较抠脚,比如低版本的linux安装在高版本的vmware里,
1.不能全屏显示虚拟机
2.每次切换出来,总要按一下Ctrl+Alt键
3.特别可恨的是不能直接互传文件
针对以上情况,本篇博客只是针对第三个问题展开的,怎么将vmware里的linux和外面的window互传文件,方法很多,有
1.建立共享目录
2.通过建立ftp,也就是把windows当做ftp的服务器
3.建立linux的tftp,也就是把linux当做tftp的服务器
我只试过以上三种方法,其他的没有试过,暂时不在这里面讨论。
下面我说一下各自的优点缺点,第一种建立共享目录的方法,我只是在fedora中试过,这个是看着视频做的,视频是通过图形界面来操作的,不过建立共享目录只是针对这款fedora比较实用,你很难把它移植到其他版本的linux的中,当然这只是对于我这种linux技术不是很好的人来说的。所以针对这种移植性不好的方法我就舍弃了。第二种方法,我是想在windows上建立一个ftp服务器,然后你的linux当做客户端,上传文件到windows上的服务器中,之后的windows上的文件就由你怎么处置了,不过当我想从linux上传送一个文件夹到windows的ftp服务器上去的时候,出现了两个问题,第一个,我想传送一个没有被压缩的文件夹是传送不进去的,只能单个的传送,所以你想传送一个整个的文件的话,你就必须想办法先把它在linux中做成一个压缩文件,然后即可在命令行中传送,这样看似是可行的,不过问题是,我linux中通过命令行传送过去的文件,在windows的ftp上打开会出现异常,不管是普通的.c,.txt文件还是你已经压缩过的tar.bz2文件等等,都会出现这种异常,具体什么原因我也不清楚,可能是windows自带的ftp有点问题吧,哈哈。两个windows之间互传文件是没有问题的。
所以针对以上两种方法的种种缺点,我这里强烈推荐一种方法,也就是用第三种方法,在linux中建立一个tftp服务器,建立这个tftp服务器的过程那可不是通过linux的图形界面设置的,这里都是用命令行设置的,为什么要介绍这种方法,因为用命令行设置可移植性比较好。
第一步:首先关闭你linux的防火墙和SELinux,这里的命令我就不介绍了,百度即可。
第二步:首先用命令行查看你的ftp-server有没有安装上,用命令:rpm -qa | grep tftp-server
如果安装成功就会出现这种提示信息。
第三步:如果没有安装,则用两条命令执行以下即可:
yum install xinetd
yum install tftp-server
第四步:用命令查看有没有安装成功。即:
rpm -qa | grep tftp-server
成功以后,执行命令:
vim /etc/xinetd.d/tftp
修改后的文件如上图,修改了两处位置,一处是server_args,指定在/tftpboot目录下,当然你之前要在根目录下新建一个tftpboot的目录,放在哪个目录由你定了;改的第二处位置是disable,表示“不使能吗”,当然要选no了,就是让他工作的意思。保存退出即可。还要注意要执行:chmod 777 /tftpboot,把tftp的目录的权限改一下
第五步:执行两个命令:
service xinetd restart或者执行
/etc/init.d/xinitd restart
然后用命令:netstat -a | grep tftp,查看tftp服务器的状态,出现如下截图即可:
现在linux的tftp已经配置好了,接下来我们就分别在windows上和另外一台linux机器上测试了:
在windows上测试:
要确保windows的tftp客户端已经打开,如果打开dos界面:你输入tftp命令,dos提醒你tftp“不是内部或外部命令,也不是可运行的程序”,那就现在windows上先做一小段的配置:配置过程如下:先进入控制面板里的这个界面,然后点击”打开或关闭windows功能“,把tftp客户端勾选上确定即可。
看后面的例子,Uers19.txt是vax1的一个文件,所以才能用put命令传送文件,所以之前的错误命令应该知道怎么改了吧,即:现在linux中先用命令:vim m.c 保存退出,不用写什么东西,然后用dos 命令:tftp 192.168.1.106 put b.c m.c 执行即可。看运行截图:
什么居然还有错,提示”服务器上的错误: Permission denied“,就是m.c的权限写过了,那你在linux里chmod 777 m.c即可,在次执行:
这回是真的成功了,也可以查看windows的目录下b.c和linux的m.c文件的内容是相同的,这就完成了文件的复制了。。。
同理本人在另外一个linux上也可以通过相对应的put和get命令向192.168.1.106的tftp服务器的linux上传和下载数据了, 不过你要上传一整个目录或下载一整个目录的话,是不行的,因为linux里面一切皆文件,你只能上传一个或下载一个最简单的文件,里面不要包含子目录,所以要上传一整个工程可以先把它用tar命令压缩一下,然后这种文件最好只在linux之间互传吧,linux传给windows一个压缩文件,总是会有点问题,所以你要传一个压缩文件,还是现在linux中互传吧。也许你用的另外一个linux可以直接拖文件到windows呢,那不也是可以么。呵呵,虽然这么一整套下来,是有点麻烦,总之可行。