Linux与Windows利用ext3共享数据
2007-03-18 09:13
429 查看
Linux与Windows利用ext3共享数据
这里讨论的方法主要解决以下问题:
1、通常只能以fat区共享数据(NTFS写不安全)
2、但在Linux下访问fat区,不能有全为大写的文件名,导致程序开发时需要的诸如AUTHORS、README、NEWS等文件变成不规范的小写形式,更严重的是CVS目录变成了cvs!
3、但在Linux下访问fat区,无法建立符号链,导致程序开发时autoconf、automake无法执行
4、但在Linux下访问fat区,由于没有“x”标志,所有文件都统统具有了执行标志;
所以考虑用Linux下的文件系统作为共享区,在Windows下装对应的驱动。ReiserFS的Windows驱动不成熟,几乎每次都导致WindowsXP蓝屏,所以不得不用ext3,找了一个比较稳重的Windows驱动:Ext2IFS,最新版本是1.10b,这样就能把ext3区挂载成为某个盘(比如:D:/)来访问。
新的问题又出现了,Windows默认代码页是GB2312(cp936),而ext3不进行文件名底层转码,也就是说Linux端也必须使用zh_CN.GB2312环境,否则总有一边的中文文件名会是乱码,经过百般尝试,无解。
现在不得已只能把Linux环境设置为zh_CN.GB2312,放弃标准的UTF-8,设置的方法是编辑/etc/locale.gen,将zh_CN GB2312置于文件最后(没有就加上),再运行locale-gen,登录XWindow的时候选择“中文(中国)”即可。
需要注意的问题是,GTK从2.x的某个版本开始默认的底层编码就变成了UTF-8,导致不能正确处理GB2312的文件名,不过设置两个环境变量即可,可编辑/etc/environment文件,在末尾加入如下两行:
G_FILENAME_ENCODING=@locale
G_BROKEN_FILENAMES=1
第一行就不必解释了,地球人一看就知道,加入第二行的原因是,GTK的程序创建中文名文件时不管三七二十一,都使用UTF-8,而不是环境设置的GB2312,所以只能强制它不这样做了!
这样Linux与Windows的数据沟通就畅通无阻了,美中不足的是不得不又退回了GB2312的时代。
这里讨论的方法主要解决以下问题:
1、通常只能以fat区共享数据(NTFS写不安全)
2、但在Linux下访问fat区,不能有全为大写的文件名,导致程序开发时需要的诸如AUTHORS、README、NEWS等文件变成不规范的小写形式,更严重的是CVS目录变成了cvs!
3、但在Linux下访问fat区,无法建立符号链,导致程序开发时autoconf、automake无法执行
4、但在Linux下访问fat区,由于没有“x”标志,所有文件都统统具有了执行标志;
所以考虑用Linux下的文件系统作为共享区,在Windows下装对应的驱动。ReiserFS的Windows驱动不成熟,几乎每次都导致WindowsXP蓝屏,所以不得不用ext3,找了一个比较稳重的Windows驱动:Ext2IFS,最新版本是1.10b,这样就能把ext3区挂载成为某个盘(比如:D:/)来访问。
新的问题又出现了,Windows默认代码页是GB2312(cp936),而ext3不进行文件名底层转码,也就是说Linux端也必须使用zh_CN.GB2312环境,否则总有一边的中文文件名会是乱码,经过百般尝试,无解。
现在不得已只能把Linux环境设置为zh_CN.GB2312,放弃标准的UTF-8,设置的方法是编辑/etc/locale.gen,将zh_CN GB2312置于文件最后(没有就加上),再运行locale-gen,登录XWindow的时候选择“中文(中国)”即可。
需要注意的问题是,GTK从2.x的某个版本开始默认的底层编码就变成了UTF-8,导致不能正确处理GB2312的文件名,不过设置两个环境变量即可,可编辑/etc/environment文件,在末尾加入如下两行:
G_FILENAME_ENCODING=@locale
G_BROKEN_FILENAMES=1
第一行就不必解释了,地球人一看就知道,加入第二行的原因是,GTK的程序创建中文名文件时不管三七二十一,都使用UTF-8,而不是环境设置的GB2312,所以只能强制它不这样做了!
这样Linux与Windows的数据沟通就畅通无阻了,美中不足的是不得不又退回了GB2312的时代。
相关文章推荐
- windows设置通过NFS连接到Linux共享数据
- ubuntu14.04中利用samba访问linux/windows共享目录的方法
- 利用Rsync在windows和linux之间同步数据
- ubuntu14.04中利用samba访问linux/windows共享目录的方法
- vbox中windows主机与Linux虚拟机之间数据共享的几种方式
- 利用VMware Tools 解决 RHEL 5 linux系统 与windows 共享问题
- 利用net-snmp读取windows,linux,snmp设备数据(cpu,内存,网卡)
- linux访问windows下的共享数据
- Windows 和 在VMware中安装Linux两个系统实现数据共享
- 多学一点(二)——在 Linux 下挂载 Windows 共享目录、使用 scp 命令在两台 Linux 间传输数据
- Linux利用socket实现两台pc之间的数据传输功能,包括windows到linux,UDP实现
- Windows or Linux环境下利用“共享内存”实现进程间通信的C/C++代码
- linux和windows文件共享---利用samba
- 在虚拟机的linux中利用VMware Tools实现与windows共享文件
- windows和Linux上利用vlc插件获取rtsp视频流解码数据
- Linux/Windows等系统无线网卡无法使用时利用手机共享网络救急
- linux 中利用samba 与windows资源共享
- Windows host与VirtualBox中linux guest通过数据空间共享文件
- Windows 下用 SourceInsight 与 Linux 协作编码利用Samba的共享
- 在 linux 中利用samba访问windows的共享