LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: minired

[暂时以重装Windows解决]我知道是老问题,可是解答太多,太乱,自身实验经过太坎坷……

[复制链接]
发表于 2009-12-21 23:53:47 | 显示全部楼层
这么多年没用过hal和policy,比较少麻烦和烦恼,也不知道错过了什么的人飘过~
回复 支持 反对

使用道具 举报

发表于 2009-12-22 00:01:30 | 显示全部楼层
应该没用policykit ,可以emerge -pv hal 确认下.
如果没用policykit的话:
去掉/etc/fstab里面你添加的哪行,将本地用户加入plugdev组,加好后要注销下这个用户。
如果无效,备份 /etc/hal/fdi/policy/10-ntfs3g.fdi ,用下面的内容替换这个文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <deviceinfo version="0.2">
  3.   <device>
  4.            <match key="volume.fstype" string="ntfs">
  5.         <append key="volume.fstype.alternative" type="copy_property">volume.fstype</append>
  6.         <merge key="volume.mount.ntfs.valid_options" type="copy_property">volume.mount.valid_options</merge>
  7.         <merge key="volume.unmount.ntfs.valid_options" type="copy_property">volume.unmount.valid_options</merge>
  8.         <merge key="volume.fstype" type="string">ntfs-3g</merge>
  9.                <merge key="volume.mount.valid_options" type="strlist">ro</merge>
  10.         <append key="volume.mount.valid_options" type="strlist">atime</append>
  11.         <append key="volume.mount.valid_options" type="strlist">noatime</append>
  12.                <append key="volume.mount.valid_options" type="strlist">relatime</append>
  13.                <append key="volume.mount.valid_options" type="strlist">fake_rw</append>
  14.                <append key="volume.mount.valid_options" type="strlist">no_def_opts</append>
  15.                <append key="volume.mount.valid_options" type="strlist">default_permissions</append>
  16.                <append key="volume.mount.valid_options" type="strlist">umask=</append>
  17.                <append key="volume.mount.valid_options" type="strlist">fmask=</append>
  18.                <append key="volume.mount.valid_options" type="strlist">dmask=</append>
  19.                <append key="volume.mount.valid_options" type="strlist">uid=</append>
  20.                <append key="volume.mount.valid_options" type="strlist">gid=</append>
  21.               <append key="volume.mount.valid_options" type="strlist">show_sys_files</append>
  22.                <append key="volume.mount.valid_options" type="strlist">silent</append>
  23.                <append key="volume.mount.valid_options" type="strlist">force</append>
  24.                <append key="volume.mount.valid_options" type="strlist">remove_hiberfile</append>
  25.                <append key="volume.mount.valid_options" type="strlist">locale=</append>
  26.                <append key="volume.mount.valid_options" type="strlist">streams_interface=</append>
  27.                <append key="volume.mount.valid_options" type="strlist">debug</append>
  28.                <append key="volume.mount.valid_options" type="strlist">no_detatch</append>
  29.                <append key="volume.mount.valid_options" type="strlist">sync</append>
  30.                <append key="volume.mount.valid_options" type="strlist">dirsync</append>
  31.                <append key="volume.mount.valid_options" type="strlist">nodiratime</append>
  32.                <append key="volume.mount.valid_options" type="strlist">noexec</append>
  33.         <append key="volume.mount.valid_options" type="strlist">quiet</append>
  34.                <append key="volume.mount.valid_options" type="strlist">remount</append>
  35.                <append key="volume.mount.valid_options" type="strlist">exec</append>
  36.                <append key="volume.mount.valid_options" type="strlist">recover</append>
  37.                <append key="volume.mount.valid_options" type="strlist">norecover</append>
  38.                <merge key="volume.unmount.valid_options" type="strlist">lazy</merge>
  39.                <merge key="volume.policy.mount_filesystem" type="string">ntfs-3g</merge>
  40.         </match>
  41.   </device>
  42. </deviceinfo>
复制代码

应该就可以了,如果不行,或者用了policykit,在USE里加上policykit  ,emerge -aDv --newuse world
之后修改/etc/PolicyKit/PolicyKit.conf,在<config> </config>之间添加:
  1. <match user="yan">
  2.         <return result="yes"/>
  3. </match>
复制代码
其中,yan是你要允许自动挂载的用户名。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-22 03:10:22 | 显示全部楼层
Post by Celinda;2058011
应该没用policykit ,可以emerge -pv hal 确认下.
如果没用policykit的话:
去掉/etc/fstab里面你添加的哪行,将本地用户加入plugdev组,加好后要注销下这个用户。
如果无效,备份 /etc/hal/fdi/policy/10-ntfs3g.fdi ,用下面的内容替换这个文件



  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <deviceinfo version="0.2">
  3.   <device>
  4.            <match key="volume.fstype" string="ntfs">
  5.         <append key="volume.fstype.alternative" type="copy_property">volume.fstype</append>
  6.         <merge key="volume.mount.ntfs.valid_options" type="copy_property">volume.mount.valid_options</merge>
  7.         <merge key="volume.unmount.ntfs.valid_options" type="copy_property">volume.unmount.valid_options</merge>
  8.         <merge key="volume.fstype" type="string">ntfs-3g</merge>
  9.                <merge key="volume.mount.valid_options" type="strlist">ro</merge>
  10.         <append key="volume.mount.valid_options" type="strlist">atime</append>
  11.         <append key="volume.mount.valid_options" type="strlist">noatime</append>
  12.                <append key="volume.mount.valid_options" type="strlist">relatime</append>
  13.                <append key="volume.mount.valid_options" type="strlist">fake_rw</append>
  14.                <append key="volume.mount.valid_options" type="strlist">no_def_opts</append>
  15.                <append key="volume.mount.valid_options" type="strlist">default_permissions</append>
  16.                <append key="volume.mount.valid_options" type="strlist">umask=</append>
  17.                <append key="volume.mount.valid_options" type="strlist">fmask=</append>
  18.                <append key="volume.mount.valid_options" type="strlist">dmask=</append>
  19.                <append key="volume.mount.valid_options" type="strlist">uid=</append>
  20.                <append key="volume.mount.valid_options" type="strlist">gid=</append>
  21.               <append key="volume.mount.valid_options" type="strlist">show_sys_files</append>
  22.                <append key="volume.mount.valid_options" type="strlist">silent</append>
  23.                <append key="volume.mount.valid_options" type="strlist">force</append>
  24.                <append key="volume.mount.valid_options" type="strlist">remove_hiberfile</append>
  25.                <append key="volume.mount.valid_options" type="strlist">locale=</append>
  26.                <append key="volume.mount.valid_options" type="strlist">streams_interface=</append>
  27.                <append key="volume.mount.valid_options" type="strlist">debug</append>
  28.                <append key="volume.mount.valid_options" type="strlist">no_detatch</append>
  29.                <append key="volume.mount.valid_options" type="strlist">sync</append>
  30.                <append key="volume.mount.valid_options" type="strlist">dirsync</append>
  31.                <append key="volume.mount.valid_options" type="strlist">nodiratime</append>
  32.                <append key="volume.mount.valid_options" type="strlist">noexec</append>
  33.         <append key="volume.mount.valid_options" type="strlist">quiet</append>
  34.                <append key="volume.mount.valid_options" type="strlist">remount</append>
  35.                <append key="volume.mount.valid_options" type="strlist">exec</append>
  36.                <append key="volume.mount.valid_options" type="strlist">recover</append>
  37.                <append key="volume.mount.valid_options" type="strlist">norecover</append>
  38.                <merge key="volume.unmount.valid_options" type="strlist">lazy</merge>
  39.                <merge key="volume.policy.mount_filesystem" type="string">ntfs-3g</merge>
  40.         </match>
  41.   </device>
  42. </deviceinfo>
复制代码


应该就可以了,如果不行,或者用了policykit,在USE里加上policykit  ,emerge -aDv --newuse world
之后修改/etc/PolicyKit/PolicyKit.conf,在<config> </config>之间添加:

  1. <match user="yan">
  2.         <return result="yes"/>
  3. </match>

复制代码

其中,yan是你要允许自动挂载的用户名。


睡到3点又醒了,已经被gentoo弄得两周不能按时睡眠了,前段时间是因为安装和编译连轴转。最近是被自动挂载弄得很惨。

谢谢各位的解答,我今天有空试一下,再向大家作通报。我应该会采取使用pokicykit的方法,本地用户也早已添加进plugdev组了。前一种方法对我这种已经重装之后新生的电脑,还是有点忌惮……期末考试结束前,不想再出大的问题,我要复习啊,呵呵……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-22 03:29:17 | 显示全部楼层
Post by coderoar;2057999
不是文件权限,是一个授权机制。全局启用policykit这个USE,更新时会根据依赖装上PolicyKit,之后可以打开polkit-gnome-authorization查看,没有权限添上就是。

是要坚持,等过了这道坎,你会领略到Gentoo独有的魅力。


我找到polkit-gnome-authorization了,中文环境下应该就是菜单栏里的授权。

我找到的是storage这一块儿,果然没有什么人被授权。

具体修改其中的那一项我白天再尝试,我觉得应该是前两项。睡了一半醒过来真不爽……

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2009-12-22 08:48:58 | 显示全部楼层
確定你在haldeam這個組?
rc-update裡頭有fuse了?
內核編譯的時候選擇了相應的選項了?(模塊是否記得加載?)
fat32一般你使用hal的話絕對是可以自動掛載的 而且不需要polkit-gnome-authorization
ntfs吧 你也編譯了ntfs3g 這玩意兒 這也是需要的了
以上說的你看看你漏了什麼沒有 我這很正常
回复 支持 反对

使用道具 举报

发表于 2009-12-22 13:50:19 | 显示全部楼层
关于NTFS的配置什么都没有改,内核的NTFS支持已经被我去掉了

内核里ntfs默认是不支持的,你的用词该是 没选
我是一定编进内核的。
我mount 仅仅是  mount -t ntfs /dev/sdb2 /mnt/movie
这样就行,中文名内核里选了 936 也不会乱码
fuse+ntfs3g能写
也许从没碰到问题,也就没在mount是有其他的设置。早些年locale没设好倒是要iocharset的,但也只是编码问题,不会mount不上
回复 支持 反对

使用道具 举报

发表于 2009-12-22 23:09:27 | 显示全部楼层
Post by minired;2057828
关于NTFS的配置什么都没有改,内核的NTFS支持已经被我去掉了,也加入了ntfs-3g所需要的fuse模块,USE标记了suid选项,除了写fstab没有照做,都是按照wiki上的英文教程弄的。插上U盘还是不能实现自动挂载。


内核自带的NTFS驱动与FUSE下的ntfs-3g没有冲突,当然挂载的时候只能选择其中一个。
回复 支持 反对

使用道具 举报

发表于 2009-12-23 08:22:04 | 显示全部楼层
ntfs3g的使用很简单的,根本不需要修改任何权限。

1. 内核中fuse请选用模块的方式(M)。编译完内核请安装ntfs3g。
2. 不要在/etc/fstab 中增加任何内容。此文件中最好除了本地硬盘分区什么都不加,连光驱都去掉。
3. 在/etc/make.conf 中加入hal的USE,重新编译整个系统,并将hal加入开机启动: rc-update add hald
4. 如果是startx方式启动系统的,请在 .xinitrc 中采用
exec ck-launch-session gnome-session
方式来启动gnome。

至此系统已经能很好的支持移动盘了,插入u盘后可以在文件管理器中看到盘符,直接点击就可以自动挂载了。
回复 支持 反对

使用道具 举报

发表于 2009-12-25 03:17:58 | 显示全部楼层
楼主为何不在内核中直接加入ntfs文件系统的支持
回复 支持 反对

使用道具 举报

发表于 2009-12-25 08:18:04 | 显示全部楼层
Post by beyond1314;2059062
楼主为何不在内核中直接加入ntfs文件系统的支持


楼主要的是自动挂载好不,这样就需要ntfs3g。
回复 支持 反对

使用道具 举报

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

本版积分规则

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