此前一直是使用linux开SAMBA-Server,Windows上挂载网络磁盘编辑。 但是这样在编辑文件,特别是索引的时候比较卡,因此想将代码放在本地。 尝试了几种方案,做记录。
直接Windows上共享文件夹。设置为Everyone读写。
#首次运行需要,系统默认不装的。不装会提示“出现有坏的超级块”yum install cifs-utils#输入你的Windows登录用户名密码mount -t cifs //172.10.3.233/share /opt/myshare -o username=yt,passWord=1挂载后所有文件都有Execute权限。
但是这个模式有两个致命缺点: 1)在共享目录下编译很慢 2)链接无法生成,直接导致开源库编译失败。
和Windows共享文件夹差不多,就不细说了。 可以使用haneWIN NFS Server作为服务端。
mount -t nfs 172.10.3.233:/share -o nolock,tcp在Windows机器上搭建RSYNC服务端。我选了cwRsyncServer。
安装过程中要键入你的登录用户名密码,方便他作为Windows服务启动。否则的话,就会创建新的帐户。
安装完毕后,记得设置开机自动启动。
安装完毕后,修改配置文件。去开始菜单找到配置文件。
假设我们的代码存储在e:/codes/share目录下。 下面是整个配置文件的样本。注意uid和gid=0必须要加
use chroot = falsestrict modes = falsehosts allow = *log file = rsyncd.loguid = 0gid = 0# Module definitions# Remember cygwin naming conventions : c:/work becomes /cygwin/c/work#[myshare]path = /cygdrive/e/codes/shareread only = truetransfer logging = yes如果设置readonly=true,就不用做第二步了。反之要选择你配置的目录进行索引操作。 就编辑代码而言,不建议打开可写,否则又会面临链接文件之类的问题。
全部编辑完毕后,需要重启服务生效。
由于cwRsyncServer在每次收到请求时,会自动进行一次域名解析(这当然是会失败的),然后就要等超时。因此比较简单的办法是将需要连接的机器加入你的hosts文件(C:/Windows/System32/drivers/etc/hosts)。
假设服务器的ip是172.10.10.196,在文件的最下面加入一行即可。
172.10.10.196 172.10.10.196在Linux服务器上敲下以下命令即可。 如果只要更新部分文件(例如示例中,只更新aaa目录)也可以。
rsync -av rsync://172.10.3.233/myshare/aaa/ /opt/myshare/aaa/首次更新会全量更新,后面就会增量了。
新闻热点
疑难解答