用 VirtualBox 的同学 有没有碰到过 win下 NTFS共享文件夹 无法做 hard linking 的问题啊?

2013-11-19 10:19:20 +08:00
 zjgsamuel
我现在还是在win平台上开发 但是我想我的环境是 ubuntu 的
参照了 打造 Mac 下的完美开发环境 http://www.imququ.com/post/my-dev-env-in-macos.html
使用 VirtualBox 搭了一个ubuntu 的开发环境来,使用共享文件夹 做和win主机的代码交换。

现在发现我运行一些实例代码的时候 一直会报错 检查了一下原因是我共享文件NTFS格式和ubuntu系统不一致导致的,网上也有类似问题:
http://stackoverflow.com/questions/7719380/python-setup-py-sdist-error-operation-not-permitted
https://www.virtualbox.org/ticket/818
https://www.virtualbox.org/ticket/10085

貌似 VirtualBox 也一直没有解决改问题,这个让我很郁闷,一直不想用FTP来访问开发环境,

所以来问问大家,你们win下的开发环境是咋部署的呢? 或者有没有更加好的方案让我借鉴一下,万分感谢!
4995 次点击
所在节点    VirtualBox
16 条回复
lululau
2013-11-19 10:32:02 +08:00
用 Windows 文件共享,然后在 Linux 上用 smbfs 挂载试试

http://www.samba.org/samba/smbfs/
yushiro
2013-11-19 12:08:04 +08:00
如果只是共享源代码的话, 通过git吧。
WIN下的远程源直接指定到ubuntu的IP上
justan
2013-11-19 13:40:37 +08:00
用的 xp ?
xp 不支持符号链接
zjgsamuel
2013-11-19 14:18:17 +08:00
@yushiro git 的话 每次更改都要更新 然后拉取 生产环境这么部署没有问题

我想的是如何快速的开发那 远程登录进 这个还不如我直接操作VirtualBox 去也麻烦 ...
zjgsamuel
2013-11-19 14:18:45 +08:00
@justan 恩 现在的win 是 Server2008
zjgsamuel
2013-11-19 14:35:08 +08:00
我突然发现了 我需要一台 apple mini 或者再装一台专门用来开发的笔记本或者台式机装 ubuntu 系统...
zjgsamuel
2013-11-19 14:37:49 +08:00
我的 VirtualBox 版本是4.3.0 貌似最新版是4.3.2了 我先更新一下再看看
yushiro
2013-11-19 16:12:41 +08:00
@zjgsamuel 不明白, 为什么要“远程登录进”?
我的理解:
开发机:Win,
生产环境:Ubuntu

在Win下写代码, git管理, 写完后git push 到ubuntu。
在ubuntu下git pull, 然后编译之类的。


如果你理想的状态不是这样, 那请详细描述一下。
yangg
2013-11-19 16:38:02 +08:00
不明白共享什么, 干嘛不直接用virtualbox的Shared Folders
yushiro
2013-11-19 17:10:46 +08:00
btw: 如果你的生产环境是不需要GUI界面的, 那干嘛不用vargrant + ssh?
zjgsamuel
2013-11-20 11:57:41 +08:00
@yushiro 谢谢你的回复哈,我再阐述的明确些

win下写代码 我想能快速实时能够看到代码的效果 按照你的方法 我就得不断的 git push 到ubuntu ,我嫌这个方式比较繁琐啦! 仅此而已...

我的理想方式就是能够 在win下部署一个和生产环境一样的开发环境 能够在win下写代码然后马上可以预览到效果 而我理想的生产环境又是基于ubuntu的 所以这里有些冲突了

主要是最新准备看看 meteor 发现按照之前的做法貌似压根就没法运行,提示错误
[[[[[ ~/Project/myapp ]]]]]
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Initializing mongo database... this may take a moment.
Unexpected mongo exit code 100. Restarting.
Can't start mongod
MongoDB had an unspecified uncaught exception.
This can be caused by MongoDB being unable to write to a local database.
Check that you have permissions to write to .meteor/local. MongoDB does
not support filesystems like NFS that do not allow file locking.


还有就是配置一些环境的时候提示
making hard links in helloworld-2013.2.dev1.gc66465f...
hard linking .testr.conf -> helloworld-2013.2.dev1.gc66465f
error: Operation not permitted

ln: failed to create hard link `Project/lnmp1.0-full.tar.gz' => `lnmp1.0-full.tar.gz': Invalid cross-device link

说白了就是 VirtualBox 的共享文件夹(Shared Folders) 的问题了...

不知道你平时win下的开发环境是怎么搭的?
zjgsamuel
2013-11-20 11:58:36 +08:00
@yangg 额 我说的 共享文件夹 就是你说的 Shared Folders 啦 ~~
yushiro
2013-11-20 12:09:01 +08:00
@zjgsamuel 感觉你做的是WEB项目? 那为什么要发布到ubuntu? 不能直接从ubuntu上面访问win下的IIS(或其他web服务)?
yushiro
2013-11-20 12:10:08 +08:00
还有, 既然WIN下的目录共享有问题, 能否以ubuntu下的目录为主, 然后“共享”或者SMB方式, 在WIN下访问?
zjgsamuel
2013-11-20 12:33:43 +08:00
@yushiro 对哦 我还可以试试这个方案 谢啦~

我一直觉得web项目在LNMP 会比较好 ,只不过一直没有把工作的环境切回到非win 下面,这一步迟早要做的 哈~
glasslion
2014-03-03 20:27:28 +08:00
@zjgsamuel
快猛糙的解决方法:

在setup.py里加上
if os.environ.get('USER','') == 'vagrant':
del os.link

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/89767

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX