嵌入式开发基础--关于Linux与windows的共享问题解决方法二的补充

关于Linux与windows的共享问题解决方法二的补充

 

    上篇文章是转载的一位网友总结的关于如何在Linux操作系统上搭建Samba服务器和如何做简单配置的工作笔记。看完跟着这篇博文做了一遍,发现了两个问题,而文中又没有给出说明,加上那篇博文后的回复中也有几位朋友反映遇到相似的问题。深感有必要将自己摸索的方法写出来了,供大家参考。

 

    1.关于rpm包版本及所使用安装命令的说明

    按照原文的步骤1进行服务查询,发现所使用的Linux系统也是只安装了samba-client-3.0.33-3.7.el5和samba-common-3.0.33-3.7.el5两个程序,显然我们还缺少安装samba-3.0.33-3.29.el5_6.2.i386.rpm 包。此时我们面临的问题是没有安装光盘,因此没有samba-3.0.33-3.29.el5_6.2.i386.rpm 这样一个安装包,那怎么办?当然是网上下载。网上的版本很多,我下载到了一个比系统原有的那部分稍微高点的一个版本,按照上篇博客中所讲的方法安装完相应的三个包。

rpm -ivh samba-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps

rpm -ivh samba-client-3.0.33-3.29.el5_6.2.i386.rpm  -f --nodeps
rpm -ivh samba-common-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps
    安装完成后,也使用命令rpm -qa | grep samba进行查询,同时也发现搭建samba服务器所依赖的所有服务器都已经安装好了即可。但是就是在最后启动samba服务器的smbd和nmbd进程(即启动samba服务器)时发生了错误。错误的提示大概是这样的,提示说启动失败,原因是缺少一个libxxx.so的文件。根据以往安装rpm包的经验,判断应该是安装samba的rpm包时,没有先安装其所依赖的程序。碰到的这个新问题又该如何解决?这里一般有两种解决方法,一个是找到那个依赖的程序的rpm包进行安装或者尝试安装比系统原有的那部分稍微低点的一个版本。在这两种方法中我选择了后者,下载了一个比系统原有的部分samba程序版本更低的samba软件rpm安装包进行安装。具体操作步骤同前,安装好了之后便可以顺利的启动刚刚不能启动的smbd和nmbd进程,至此可以通过查看系统当前已启动的服务的方法查看samba服务器已启动。

    最后我们回过头来想一想,为什么缺少一个libxxx.so的文件情况下我们不能使用所安装的samba服务器,但怎么能够安装成功的。照理说缺少依赖程序是不能安装成功的,为什么这里可以成功安装上,即使最终还是不能使用?原因在于博文的作者使用的命令中带-f和--nodeps两个参数,-f是强制安装而--nodeps是在安装时不用关心本rpm是不是要依赖其他什么程序。

 

    2.samba服务器启动后,Windows系统和Linux系统不能相互共享文件。

    关于这个问题在网上查了一番可能存在的问题。一般的说法都是检查Windows系统和Linux系统中的防火墙是否关闭,其次,要保证两个系统中设置ip地址时要在同一个网段。那么首先做的就是把两个系统中的防火墙关掉。在Windows中关防火墙是在控制面板中,而在Linux中关防火墙可分为暂时关闭和永久关闭两种方式。这里选择使用命令行方式暂时关闭防火墙。Linux中关闭防火墙的方法:

1)重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off   或者 /sbin/chkconfig --level 2345 iptables off
2) 即时生效,重启后失效service 方式
开启: service iptables start
关闭: service iptables stopiptables方式查看防火墙状态
/etc/init.d/iptables status暂时关闭防火墙(本文采用的方法)
/etc/init.d/iptables stop重启iptables
/etc/init.d/iptables restart
    然而关闭防火墙后,问题仍然存在,说明还有别的问题存在。此时,在Linux或Windows中ping了一下对方,发现没有ping通。这样就发现了问题,Windows和虚拟机中的Linux网络都没有连接上,那么问题出在什么地方了?思前想后,考虑是不是在VirtualBox中设置网络连接方式时,设置的不合理?

 

     将原来的网络地址转换(NAT)重设成桥接网卡的方式,再次在Linux或Windows中ping对方可ping成功。接下来再从Windows中访问Linux里启动的samba服务器便可访问成功。附上具体的访问方法,如下:
在开始-->运行的对话框中输入虚拟机中Linux系统里所设置的ip地址即可。

 

By:霜月孤鸟

2014.11.15

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值