LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2506|回复: 5

[已解决]关于udev+hal+ivman+gnome-volume-manager自动挂载的字符集和权限问题

[复制链接]
发表于 2006-8-12 00:15:45 | 显示全部楼层 |阅读模式
搜索过论坛和google,发现解决方法无非是在fstab里面加入设置或者修改fdi文件。在fstab中加设置无法对应具体移动硬盘的分区,所以我希望能使用fdi来配置
fdi文件如下:

  1. <?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
  2. <deviceinfo version="0.2">
  3.   <!-- User specif policies merged onto computer root object  -->
  4.   <device>
  5.     <match key="volume.fstype" string="vfat">
  6.       <merge key="volume.policy.mount_option.utf8" type="bool">true</merge>
  7.     </match>
  8.     <match key="volume.fstype" string="ntfs">
  9.       <merge key="volume.policy.mount_option.utf8" type="bool">true</merge>
  10.       <merge key="volume.policy.mount_option.umask" type="strlist">000</merge>
  11.     </match>
  12.   </device>
  13. </deviceinfo>
复制代码


尝试过将其放在/etc/hal/fdi/policy/95userpolicy/95-user-policy.fdi,/etc/hal/fdi/95userpolicy/95-user-policy.fdi,/usr/share/hal/fdi/policy/10osvendor/95-user-policy.fdi,/usr/share/hal/fdi/policy/95userpolicy/95-user-policy.fdi,/usr/share/hal/fdi/95userpolicy/95-user-policy.fdi,每次修改位置都执行hald restart,但都不起作用。。。。

请各位帮忙看看,谢谢
 楼主| 发表于 2006-8-12 13:41:24 | 显示全部楼层
在编译内核时候设置iocharset=utf8解决了vfat中文的问题,但是ntfs权限问题依然未能解决
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-17 23:53:45 | 显示全部楼层
终于解决了,从Gentoo forum连接到FedoraForum= =
原文地址:http://www.fedoraforum.org/forum/showthread.php?t=108500
4楼
简单翻译如下:
创建文件/usr/share/hal/fdi/policy/10osvendor/95-ntfs-permissions.fdi(注:Gentoo可以创建为/etc/hal/fdi/policy/95userpolicy/95-ntfs-permisissons.fdi)
  1. <?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
  2. <deviceinfo version="0.2">
  3. <!-- Mount external ntfs drives with user privileges -->
  4. <device>
  5.   <match key="block.is_volume" bool="true">
  6.    <match key="volume.fsusage" string="filesystem">
  7.     <match key="@block.storage_device:storage.no_partitions_hint" bool="false">
  8.      <match key="volume.partition.msdos_part_table_type" exists="true">
  9.       <match key="volume.partition.msdos_part_table_type" int="0x07">
  10.        <merge key="volume.mount_option" type="string">umask=0222</merge>
  11.       </match>
  12.      </match>
  13.     </match>
  14.    </match>
  15.   </match>
  16. </device>
  17. </deviceinfo>
复制代码
重启hal服务(service haldaemon restart)(注:Gentoo为/etc/init.d/hald restart)
然后编辑/usr/share/hal/scripts/hal-system-storage-mount
在所有的MOUNTOPTIONS过程之后(在fi之后,被注释掉的echo之前)加入以下这行:
  1. fi
  2. [b]MOUNTOPTIONS="$MOUNTOPTIONS,$HAL_PROP_VOLUME_MOUNT_OPTION"[/b]
  3. # echo "options = '$MOUNTOPTIONS'"
复制代码
搞定
回复 支持 反对

使用道具 举报

发表于 2006-8-25 17:26:09 | 显示全部楼层
正为此苦恼呢,多谢!
回复 支持 反对

使用道具 举报

发表于 2006-9-8 09:05:37 | 显示全部楼层
楼主直接把这两个文件附上来多好……
回复 支持 反对

使用道具 举报

发表于 2006-9-27 14:42:55 | 显示全部楼层
Post by starain
重启hal服务(service haldaemon restart)(注:Gentoo为/etc/init.d/hald restart)
然后编辑/usr/share/hal/scripts/hal-system-storage-mount
在所有的MOUNTOPTIONS过程之后(在fi之后,被注释掉的echo之前)加入以下这行:

  1. fi

  2. [b]MOUNTOPTIONS="$MOUNTOPTIONS,$HAL_PROP_VOLUME_MOUNT_OPTION"[/b]

  3. # echo "options = '$MOUNTOPTIONS'"

复制代码

搞定

你的意思时说HAL缺省没有用到FDI里的mount option policy,所以要自己加吗?
这个方法可以用来加iocharset=utf8的选项而不用重编内核吗?我也是想用fdi加mount option让fat partition显示中文,可以在lshal输出里看到我加的选项,但就是不起作用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表