最近在移植uboot,由于需要交叉编译,所以编译工作在虚拟机上进行(我安装的是Fedora10 Linux)。在移植的各个阶段,需要修改一些文件,而linux上没有非常好用的代码阅读器,只能通过Gedit或vi打开,阅读并修改需要修改的文件。对于我,用惯了windows下的Soruce Insight,所以做起来怪变扭的,视觉上如此,操作起来更是不方便。于是我想,用Soruce Insight为虚拟机(这里相当于一个服务器)上的uboot建立一个工程,这样,代码在服务器上,在windows下(相当于客户端)打开工程,阅读并修改起来就非常方便了。事情能够简单就应该让他简单,为了挑出肥皂出产线上空的肥皂盒,博士后想出通过光电检测来识别,然后用机械手将空的肥皂盒夹走,而一个普通的扫地工说“拿台电扇对着出口吹就行”。是啊,有时最简单的往往也是最好的,只要能答到目的就行。
我做事也喜欢简单,不过,有时候要让事情简单得先费一番脑筋。磨刀不误砍柴工,赶快行动吧。要想Soruce Insight能将虚拟机上的代码加进去,就先得实现共享,即让windows能访问虚拟机上linux的文件系统,那自然想到samba服务了。
先说安装。如果没有安装samba软件包,先将它安装好,装上以下4个rpm包就行:
samba-3.2.4-0.22.fc10.i386.rpm
samba-client-3.2.4-0.22.fc10.i386.rpm
samba-common-3.2.4-0.22.fc10.i386.rpm
samba-winbind-3.2.4-0.22.fc10.i386.rpm
这些rpm包在Fedora10的iso文件里都有的,不需要再下载。将虚拟机的光驱使用文件设为Fedora-10-i386-DVD.iso,然后挂载它。挂载后进入/media/Fedora 10 i386 DVD/Packages目录下进行rpm安装,在安装samba-3.2.4-0.22.fc10.i386.rpm 时可能会提示:
Error: Missing Dependency: perl(Convert::ASN1) is needed by package samba-3.0.33-3.7.el5.i386 (base)
没关系,先rpm -ivh perl-Convert-ASN1-0.21-3.fc9.noarch.rpm,再安装就不会有问题了。也可以通过网络安装,Google一下有很多告诉怎么安装samba。
装好后,service smb start启动samba服务。在运行级别为5的环境下,samba服务在系统启动默认是不开启的,要设为自启动,可以在终端下setup设置该服务即可,或在一些启动脚本里添加service smb start语句。
安装好了,下面说配置。
进入/etc/samba/目录,里面的smb.conf是其配置文件,文件的内容较多,我们只设置需要的。
对于Global Settings,根据你喜好可以设置以下三项:
workgroup = DEVELOPER #工作组
server string = Samba Server in Fedora10 #对服务的描述
netbios name = My-Fedora-10 #在windows里显示出来的计算机名
对于Standalone Server Options,采用默认设置即可:
security = user #安全级别设置,需要用户和密码访问,若为share,则完全开放
passdb backend = tdbsam #保存用户信息的后台方式
最后在Share Definitions里添加一个共享定义,这里的设置很重要,以下是我添加的:
[nfsshare] #windows里共享文件夹的显示名称
comment = developer #描述信息,可以随便设
path = /opt/nfsshare #要共享的路径
valid users = root #在linux下已存在的用户名,现在成为你在wingdows下登陆的用户名了,我直接用根用户
browseable =yes #是否可以浏览,意味着在工作组下是否显示共享文件夹
writable = yes #共享文件夹是否可写
好了,配置文件完成。
下面在linux下添加用户:smbpasswd –a root
root是在配置文件里设置的访问用户名,再两次输入密码就行,注意,这里的密码和你登陆linux的密码可以不一样,它只是访问samba共享的密码。
还有注意一下linux的防火墙设置把samba设置到允许状态或停掉防火墙。
最后,在windows下,在运行里键入//192.168.17.131(服务器IP),输入用户名和密码就可以访问samba共享文件夹了。
另外如果linux访问windows下面的共享:
mount -t cifs -o codepage=cp936,username=用户名,password=密码 -l //ip地址/共享文件夹名 挂载点
mount -t cifs -o username=用户名,password=密码 -l //IP地址/共享文件夹名 挂载点
mount -t cifs -o username=用户名,password=密码 //IP地址/共享文件夹名 挂载点
大功告成,祝你好运!
PS:linux挂载NTFS文件系统的u盘
mount -t ntfs-3g /dev/xxx /xx