分类: LINUX
2006-02-22 21:12:35
内容部分是翻译,参见 redhat magazine 第一期中,关于 fedora core 3 新特性的文章 Meet Fedora Core 3 by Warren Togami and Colin Charles * Introduction * Desktop Improvements * Behind the Desktop * NetworkManager * International Language Input * Multimedia and Fun * GCC * Faster Updates * Common Gotchas in Fedora Core 3 * Looking Ahead * About the Authors 本来把文档翻译了一遍,但是在后台打开另一个网页时,firefox 挂掉了 本来还做了很多很多评注的。把大概意思说说 FC3 的新东西,包括 gnome-2.8, kernel-2.6.9, gcc-3.4.2 等等。(文中就是这样说的, 而论坛上大家关心的 fat32, ntfs, mp3, nvidia,fonts 等等几乎不可能成为自由软件的东西是永远不会出现的。)(所有其他发行版都会用到 redhat 在 linux 的开发中做出的贡献,并不是只有一个公司会受益。即使你使用别的发行版,也有一大半的组件是 redhat 的作品,那么用 fedora 有什么不好?) fedora 中主要的新内容,是设备的即插即用。这一套并不是表面上可以看到的。它主要由 hotplug, udev, D-BUS, HAL, gamin 几个组件组成。 hotplug 是内核的一部分,在设备插入或拔出时,自动进行配置内核状态。udev 是 hotplug 的一部分,负责维护动态的 /dev 目录,使 /dev 目录的内容与当前系统状态一致。D-BUS 可以在应用程序之间传送消息,例如可以把“连接上一台打印机”的消息发送给 HAL。HAL 可以集成多种来源的信息,包括内核消息,配置文件等等,然后根据 D-BUS 的消息进行操 作。gamin 是改进的文件状态监视程序。 例如插 入优盘。hotplug 自动加载需要的模块,udev 创建相应的 /dev/sda1 等等节点,hotplug 向 HAL 发消息,HAL 收到消息后,根据配置文件,它运行 fstab-sync 来修改 fstab,创建 /media 的子目录作为挂载点。gamin 检测到 fstab 发生变化之后,通知桌面系统。桌面系统在 “计算机” 项目中建立驱动器图标。 在拔出优盘时,与上面的过程类似,模块被卸载,设备文件被删除,fstab 中相应条目被删除,/media 目录下的挂载点也被删除了。 如果认为 autofs 或者手动 mount 比这个要简单,那么可以同时使用两个优盘,试试看哪个更好用。 这 个过程非常有用,不同的设备都可以用这个过程,例如音乐 CD 放入光驱后,HAL 可以启动播放程序或者抓轨程序等等。另一个最重要的用途,在 redhat magazine 第三期中提到了,是 NetworkManager。因为使用移动无线通讯的用户可能会频繁更换网络的连接方式,只有用 hotplug 和 hal 等协作,才可能快速地作出反应,动态切换网络配置。 gnome-2.8 对于 gnome-2.6 的改进,体现在文件选择框上。只要按任意键,就会弹出简单 的搜索窗口,可以更快地找到自己需要的内容。如果按下 `/' 键,那么会跳出与在 nautilus 中按下 ctrl-l 一样的跳转位置框。 evolution-2.0 采用了 SpamAssassin,垃圾邮件的防范非常出色。另外还有 gpg 等等非常重要的功能。至于去掉的新闻功能,使用 firefox 的动态书签可以更方便. 忘了其他的了。 建议大家关心一下 redhat magazine 中关于 fedora 的内容,有些是非常精彩的! 设置 hal 的 mount policy 使优盘自动挂载可以正常工作 声明 部分转载并翻译自 redhat 网站,本文遵循 GNU FDL,仅正文部分可自由修改,重发布时正 文之外的部分必须同时原样发布。译者对未告知作者表示歉意,但对误读的后果表示不负责。 正文开始 由于 fc3 内核默认 fat32 文件系统字符编码是 ascii,如果优盘的文件名包含中文,那么在转换时会出问题,应用程序就会失去响应。具体的表现有多种,比如桌面假死,关机时提示无法卸载分区等等 解 决的办法是在挂载时,根据语言环境 locale 的值,使用挂载参数。如果是 UTF-8 那么就用 mount -o utf8,如果是 GB* 那么就用 mount -o iocharset=cp936。但是这样繁琐地手动挂载就失掉了 FC3 的好处。正确的解决办法,是添加自己的配置文件,我的是这样 代码:
如何测试效果 测试效果的办法简单得很,但是不要急着插入优盘,而是应当先运行 代码:
代码:
可能的问题 如果你的语言环境是 gb2312,那么要把上面的配置文件稍微修改一下,把两次出现的 utf8 修改为 iocharset=cp936 小心配置文件中的拼写错误 如果仍然会挂起或死机,那么可能 haldaemon 没有重启动,甚至可能被关闭了。运行 代码:
不要手动修改 /etc/fstab,所有修改都会被丢弃掉,应该只修改 hal 的配置文件 因为我们只新建了一个配置文件,然后重启了一个服务,因此可重复性应该很好。配置文件中的选项如果发生冲突,据说将使用读取时靠后的一个,也就是说 95userpolicy 将比 90defaultpolicy 后读取? 与其他方案的兼容性 autofs 修改的是 /etc/auto.misc 和 /etc/auto.master,不会有冲突 手动挂载,或手动修改 /etc/fstab, 在重启后都将失效,因为 haldaemon 将接管 fstab 文件,除非在 fstab 中加入选项 unmanaged (?) 如何回退到最初的状态 因为只添加了一个配置文件,因此只要将它删除就可以了。另外最好执行一次 代码:
后记 这 篇文档中的配置文件已经没有意义了,因为它的主要目的是添加 utf8 选项,而新版本的 hal 中已经包含了这个配置。并且,新版本的配置文件中使用 volume.fstype 作为匹配时的关键字,具有更好的通用性,当优盘是其他格式时仍然可用。代码如下,节选自新的 90defaultpolicy/storage-policy.fdi 代码:
代码:
在 新的 hal-0.50 中,配置文件的位置发生了变化,因此如果以前做过上面所说的设置,那么必须在安装之后,将 /usr/share/hal/fdi/95userpolicy 移动到 policy 子目录中,也就是说,移动后成为 /usr/share/hal/fdi/policy/95userpolicy 目录 如果以前没有做过任何设置,那么只要新建 /usr/share/hal/fdi/policy/95userpolicy 目录,并按照上面的内容复制配置文件就可以了 |