LinuxSir.cn,穿越时空的Linuxsir!

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

设置 fc3 HAL 的 storage-policy 自动挂载优盘上的 vfat 分区

[复制链接]
发表于 2004-11-20 21:39:49 | 显示全部楼层 |阅读模式
内容部分是翻译,参见 redhat magazine 第一期中,关于 fedora core 3 新特性的文章

http://www.redhat.com/magazine/001nov04/features/fedoracore3/


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 的好处。正确的解决办法,是添加自己的配置文件,我的是这样


  1. [yuan@jackycom ~/Desktop]$ cat /usr/share/hal/fdi/95userpolicy/storage-policy.fdi
  2. <?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->

  3. <deviceinfo version="0.2">
  4.   <device>
  5.     <match key="@block.storage_device:storage.removable" bool="true">
  6.       <merge key="volume.policy.mount_option.fmask=111" type="bool">true</merge>
  7.       <merge key="volume.policy.mount_option.dmask=0" type="bool">true</merge>
  8.       <merge key="volume.policy.mount_option.users" type="bool">true</merge>
  9.       <merge key="volume.policy.mount_option.utf8" type="bool">true</merge>
  10.    </match>
  11.     <match key="@block.storage_device:storage.hotpluggable" bool="true">
  12.       <merge key="volume.policy.mount_option.fmask=111" type="bool">true</merge>
  13.       <merge key="volume.policy.mount_option.dmask=0" type="bool">true</merge>
  14.       <merge key="volume.policy.mount_option.users" type="bool">true</merge>
  15.       <merge key="volume.policy.mount_option.utf8" type="bool">true</merge>
  16.    </match>
  17.   </device>
  18. </deviceinfo>
复制代码


原理正如上面所说,hal 在收到优盘插入的通知时,将读取这些 storage policy 配置文件。在改写 /etc/fstab 时,将用到配置文件中的数据,将这些 mount_option 全部加入 fstab 中去。


如何测试效果
测试效果的办法简单得很,但是不要急着插入优盘,而是应当先运行

  1. service haldaemon restart
复制代码

然后插入优盘。几秒钟之后,桌面上会出现优盘图标。看看你的 fstab,如果多了这样一行

  1. /dev/sda1               /media/YUAN             vfat    pamconsole,utf8,users,dmask=0,fmask=111,noatime,sync,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
复制代码

那么说明没什么问题。也许你的系统中 selinux 已经被关闭了,所以参数没有这么长。访问优盘,应该不会再出错了。


可能的问题
如果你的语言环境是 gb2312,那么要把上面的配置文件稍微修改一下,把两次出现的 utf8 修改为 iocharset=cp936
小心配置文件中的拼写错误
如果仍然会挂起或死机,那么可能 haldaemon 没有重启动,甚至可能被关闭了。运行

  1. chkconfig haldaemon on
  2. chkconfig messagebus on
  3. service messagebus restart
  4. service haldaemon restart
复制代码



命令的可重复性
不要手动修改 /etc/fstab,所有修改都会被丢弃掉,应该只修改 hal 的配置文件
因为我们只新建了一个配置文件,然后重启了一个服务,因此可重复性应该很好。配置文件中的选项如果发生冲突,据说将使用读取时靠后的一个,也就是说 95userpolicy 将比 90defaultpolicy 后读取?


与其他方案的兼容性
autofs 修改的是 /etc/auto.misc 和 /etc/auto.master,不会有冲突
手动挂载,或手动修改 /etc/fstab, 在重启后都将失效,因为 haldaemon 将接管 fstab 文件,除非在 fstab 中加入选项 unmanaged (?)


如何回退到最初的状态
因为只添加了一个配置文件,因此只要将它删除就可以了。另外最好执行一次

  1. service haldaemon restart
复制代码



正文结束

后记

这篇文档中的配置文件已经没有意义了,因为它的主要目的是添加 utf8 选项,而新版本的 hal 中已经包含了这个配置。并且,新版本的配置文件中使用 volume.fstype 作为匹配时的关键字,具有更好的通用性,当优盘是其他格式时仍然可用。代码如下,节选自新的 90defaultpolicy/storage-policy.fdi

  1.           <!-- Use UTF-8 charset for vfat -->
  2.           <match key="volume.fstype" string="vfat">
  3.             <merge key="volume.policy.mount_option.iocharset=utf8" ype="bool">true</merge>
  4.           </match>
复制代码

所以仿照这个文件,将自定义的策略文件 /usr/share/hal/fdi/95userpolicy/storage-policy.fdi 修改如下

  1. <?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->

  2. <deviceinfo version="0.2">
  3.   <device>
  4.     <match key="block.is_volume" bool="true">
  5.       <match key="volume.fsusage" string="filesystem">
  6.         <match key="volume.fstype" string="vfat">
  7.           <merge key="volume.policy.mount_option.fmask=111" type="bool">true</merge>
  8.           <merge key="volume.policy.mount_option.dmask=0" type="bool">true</merge>
  9.           <merge key="volume.policy.mount_option.users" type="bool">true</merge>
  10.           <merge key="volume.policy.mount_option.utf8" type="bool">true</merge>
  11.         </match>
  12.       </match>
  13.     </match>
  14.   </device>
  15. </deviceinfo>
复制代码


update:
在新的 hal-0.50 中,配置文件的位置发生了变化,因此如果以前做过上面所说的设置,那么必须在安装之后,将 /usr/share/hal/fdi/95userpolicy 移动到 policy 子目录中,也就是说,移动后成为 /usr/share/hal/fdi/policy/95userpolicy 目录
如果以前没有做过任何设置,那么只要新建 /usr/share/hal/fdi/policy/95userpolicy 目录,并按照上面的内容复制配置文件就可以了

-
 楼主| 发表于 2004-11-20 21:43:32 | 显示全部楼层

挂载 vfat 分区的方法 (手动+自动)

挂载 vfat 分区的方法 (手动+自动)

声明
本文遵循 GNU FDL,仅正文部分可自由修改,重发布时正文之外的部分必须同时原样发布。作者对误读的后果表示不负责。


正文开始
如果不希望自动挂载优盘,或者要挂载的是 vfat 格式的硬盘分区,那么应当像下面这样手动进行操作。大概的步骤有几个,首先必须知道自己的语言环境是什么。其次必须知道要挂载的是什么分区。最后,要确定自己要挂载到什么位置。挂载硬盘分区的时候,和优盘是几乎一样的。


要想知道自己的语言环境,可以告诉别人自己使用的是什么发行版,有没有使用美化包,有没有修改过 /etc/sysconfig/i18n,这样别人可以猜到你用的究竟是什么。不过这样做实在麻烦了大家也麻烦了自己。最好的办法,还是运行 locale 命令,然后看看结果
首先,运行 locale

  1. [yuan@jackycom ~]$ locale
  2. LANG=zh_CN.UTF-8
  3. LC_CTYPE="zh_CN.UTF-8"
  4. LC_NUMERIC="zh_CN.UTF-8"
  5. LC_TIME="zh_CN.UTF-8"
  6. LC_COLLATE="zh_CN.UTF-8"
  7. LC_MONETARY="zh_CN.UTF-8"
  8. LC_MESSAGES="zh_CN.UTF-8"
  9. LC_PAPER="zh_CN.UTF-8"
  10. LC_NAME="zh_CN.UTF-8"
  11. LC_ADDRESS="zh_CN.UTF-8"
  12. LC_TELEPHONE="zh_CN.UTF-8"
  13. LC_MEASUREMENT="zh_CN.UTF-8"
  14. LC_IDENTIFICATION="zh_CN.UTF-8"
  15. LC_ALL=
复制代码

如果结果和我的一样都是 UTF-8,也就是 fc3 的默认值,那么挂载时需要加上 utf8 参数,就像这样 (假设我们是将优盘 /dev/sda1 挂载到 /media/usbdisk)

  1. mkdir /media/usbdisk
  2. mount -o utf8,umask=0,dmask=0,fmask=111,users /dev/sda1 /media/usbdisk
复制代码

但是如果结果不是 zh_CN.UTF-8 而是 zh_CN.GB18030,或者 zh_CN.GB2312 的话,那么挂载时需要使用 iocharset=cp936 参数,这样看到的文件名才不是乱码。就像这样 (仍然是将优盘 /dev/sda1 挂载到 /media/usbdisk)

  1. mkdir /media/usbdisk
  2. mount -o iocharset=cp936,umask=0,dmask=0,fmask=111,users /dev/sda1 /media/usbdisk
复制代码



第二步,应当清楚要挂载什么分区。
通常,优盘是只有一个分区的。上面提到的 /dev/sda1 通常是第一块优盘的第一个分区 (第一个分区也可能是 /dev/sda);而第二个分区可能是 /dev/sda2,或者 /dev/sda5。硬盘与优盘不同,通常有多个分区。遇到有多个分区时,优盘与硬盘同样麻烦,必须运行 fdisk 可以看到要挂载的分区的情况。下面是我的硬盘的分区情况

  1. [root@jackycom ~]# fdisk -l /dev/hda

  2. Disk /dev/hda: 40.0 GB, 40020664320 bytes
  3. 255 heads, 63 sectors/track, 4865 cylinders
  4. Units = cylinders of 16065 * 512 = 8225280 bytes

  5.    Device Boot      Start         End      Blocks   Id  System
  6. /dev/hda1   *           1         255     2048256   83  Linux
  7. /dev/hda2             256        4865    37029825    5  Extended
  8. /dev/hda5             256         893     5124703+  83  Linux
  9. /dev/hda6             894        1148     2048256   83  Linux
  10. /dev/hda7            1149        1403     2048256   c   Windows 95 fat 32 (LBA)
  11. /dev/hda8            1404        1658     2048256   83  Linux
  12. /dev/hda9            1659        2388     5863693+  83  Linux
  13. /dev/hda10           2389        3118     5863693+  83  Linux
  14. /dev/hda11           3119        4832    13767673+  83  Linux
  15. /dev/hda12           4833        4865      265041   82  Linux swap / Solaris
复制代码

假如输出是上面那样,我们要将 vfat 分区 /dev/hda7 挂载到 /mnt/D 目录,我们可以这样做

  1. mkdir -p /mnt/D
  2. mount -o utf8,umask=0,dmask=0,fmask=111,users /dev/hda7 /mnt/D
  3. 或者用这一句,仍然取决于 locale 命令的执行结果!
  4. mount -o iocharset=cp936,umask=0,dmask=0,fmask=111,users /dev/hda7 /mnt/D
复制代码



最后,我们可以考虑是不是将这条命令写到配置文件里,这样开机时就会自动挂载这个分区了
配置文件是 /etc/fstab。运行这样的命令

  1. [root@jackycom ~]# cat /etc/fstab
  2. # This file is edited by fstab-sync - see 'man fstab-sync' for details
  3. /dev/hda1               /                       ext3    defaults        1 1
  4. none                    /dev/pts                devpts  gid=5,mode=620  0 0
  5. none                    /dev/shm                tmpfs   defaults        0 0
  6. none                    /proc                   proc    defaults        0 0
  7. none                    /sys                    sysfs   defaults        0 0
  8. none                    /proc/bus/usb           usbfs    defaults        0 0
  9. none                    /tmp                    tmpfs   defaults        0 0
  10. none                    /media                  tmpfs   defaults        0 0
  11. /dev/hda5               /usr                    ext3    defaults        1 2
  12. /dev/hda6               /usr/local              ext3    defaults        1 2
  13. /dev/hda8               /home                   ext3    defaults        1 2
  14. /dev/hda9               /usr/share              ext3    defaults        1 2
  15. /dev/hda10              /var/ftp/incoming       auto    defaults,noauto,users 0 2
  16. /dev/hda12              swap                   swap    defaults        0 0
  17. none                    /var/lib/jack/tmp       tmpfs   defaults         0 0
  18. /dev/hdc                /media/cdrom            auto    pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
复制代码

会输出很多内容。以行为单位,每行保存了一个分区的配置。我们要挂载分区,只要照猫画虎就可以了,把这样的一行添加到 /etc/fstab 配置文件中:

  1. /dev/hda7            /mnt/D           auto        defaults,rw,users,utf8,umask=0,dmask=0,fmask=111   0  0
  2. 是不是应该使用这样的一行,而不是上面那个呢?仍然取决于 locale 命令的执行结果!
  3. /dev/hda7            /mnt/D           auto        defaults,rw,users,iocharset=cp936,umask=0,dmask=0,fmask=111   0  0
复制代码



如何测试效果
请先试验一下配置文件是不是写对了,再重启系统!怎么检查新添加的配置是不是正确呢?只要先把 /mnt/D 卸载,查看一下当前挂载了哪些分区;再加载一次,再次查看当前挂载了哪些分区。具体执行的命令如下:

  1. umount /mnt/D
  2. mount
复制代码

再运行

  1. mount -a
  2. mount
复制代码

看看中间有没有什么出错的提示消息就可以了。如果配置文件正确的话,第二次执行不带参数的 mount 命令时,会显示出 /dev/hda7 已经挂载到了 /mnt/D。这时候就可以放心地重启了



可能的问题
1. 如果你运行 locale 时,输出的东西是乱七八糟的 (混合的,尤其是同时使用多种编码值或者不指定编码时),那么还是先考虑一下将 locale 也就是语言环境变量的值调节为一致的之后,再进行其他操作吧。
很多人喜欢在英文 locale 中工作,但是又要使用中文输入法。在 fc3 中不必对 locale 做任何设置就可以办到,只要将 scim 的配置文件 /etc/X11/xinit/xinput.d/scim 链接到 $HOME/.xinput.d/en_US 就可以默认在英文环境中启动输入法了。但是在 rh9 等早些的系统中,那时的 UTF-8 支持还没有现在这么好,一般会在 $HOME/.i18n 中设置 LC_CTYPE=zh_CN.GB18030,这时 mount 也需要 iocharset=cp936 才可以工作。

2. 如果运行 fdisk  /dev/sda 时,输出的东西是乱七八糟的,那么可能这块优盘的分区方式是与其他优盘不一样的方式,大约是软驱方式 (?),优盘内部不再分区。很多播放器或支持启动功能的优盘都使用这种分区方式。那么挂载时,应当用 /dev/hda 而不是 /dev/hda1

  1. mount /dev/hda /media/usbdisk -o utf8
复制代码

3. 注意只能由 root 来运行 fdisk 命令。
4. /dev/hda 是说第一块硬盘 harddisk a,一般的机器都只有一块硬盘。/dev/sda 是说第一块优盘。第二块硬盘是 /dev/hdb, 优盘是 /dev/sdb,当然这只是说 IDE 硬盘和普通的优盘。如果是串行硬盘或者 SCSI,应该使用不同的设备文件。如果是 LVM 或者 raid,是不是还有别的设备呢?

命令的可重复性
mount -a 和 umount -a 可以任意运行多次

如何撤销所有操作?
如果要取消自动挂载,只要把 /etc/fstab 中新加的这一行删掉或者在行首添加一个 # 符号就可以了

与其他方案的相容性
关于手动挂载,大家都是一样的办法

正文结束

后记

第一次在 QQ 上回答如何挂载的问题,对方当然是懂这些的,但是并不熟练。

(14:44:37) qq-47727034: bbbush,你好
(14:45:01) 鱼鱼游: 忙吗
(15:00:18) hers: 你好
(15:00:42) 鱼鱼游: 你好
(15:00:58) hers: 忙什么啊……和mm聊天  ^_^
(15:01:17) 鱼鱼游: 我想请教你下问题,可以吗,,,,
(15:01:12) hers: 有事?
(15:01:19) 鱼鱼游: 厉害呀
(15:01:58) hers: 什么问题
(15:02:11) 鱼鱼游: 就是我用的是redhatlinux9,我想实现起动自动挂载其他WINDOWS硬盘
(15:02:16) 鱼鱼游: 怎么作呢
(15:02:16) hers: 改 /etc/fstab
(15:02:47) 鱼鱼游: 我能不能同是加载好几个呢
(15:03:07) hers: fstab 的每行对应一个分区
(15:03:53) 鱼鱼游: 代码怎么写呢,,,哪些都是NTFS的,我装插件了,,,
(15:04:18) hers: 第三列是格式,那一列写 ntfs 就可以了啊
(15:08:49) 鱼鱼游:

  1. LABEL=/                 /                       ext3    defaults        1 1

  2. LABEL=/boot             /boot                   ext3    defaults        1 2

  3. none                    /dev/pts                devpts  gid=5,mode=620  0 0

  4. none                    /proc                   proc    defaults        0 0

  5. none                    /dev/shm                tmpfs   defaults        0 0

  6. /dev/hda9              swap                    swap    defaults        0 0

  7. /dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,ro 0 0

  8. /dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0

  9. ~
复制代码


(15:09:13) 鱼鱼游: 写到任意位置都可以吗
(15:09:21) hers: 各行之间的顺序没关系的
(15:11:05) 鱼鱼游: 我用vi 命令好像写不进去,,,,怎么
(15:12:37) hers: 普通用户?必须用 root
(15:13:51) hers: 写?先按 i 或者 a,按 p 或者 o 也可以,vi 有编辑模式和命令模式,用 esc 转到命令模式,用 i/a/o/p 转到编辑模式
(15:14:21) 鱼鱼游: 哦
(15:14:51) hers: 写好了不要急着重启,运行几次 mount -a 和 umount -a 看看有没有问题
(15:15:08) 鱼鱼游: 好
(15:15:35) 鱼鱼游: 老大,用这个命令吗
(15:15:38) 鱼鱼游:
  1. mount /dev/hda6 /mnt/f -o iocharset=cp936
复制代码

(15:16:03) hers: 你的 fstab 写好了吗?贴过来看看
(15:16:20) 鱼鱼游: 马上
(15:21:07) 鱼鱼游:

  1. LABEL=/                 /                       ext3    defaults        1 1

  2. LABEL=/boot             /boot                   ext3    defaults        1 2

  3. none                    /dev/pts                devpts  gid=5,mode=620  0 0

  4. none                    /proc                   proc    defaults        0 0

  5. none                    /dev/shm                tmpfs   defaults        0 0

  6. /dev/hda9             swap                    swap    defaults        0 0

  7. /dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,ro 0 0

  8. /dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0

  9. /dev/hda1               /mnt/WinC                auto     defaults

  10. /dev/hda5               /mnt/WinD                 auto     defaults

  11. ~
复制代码


(15:21:32) 鱼鱼游:

  1. /dev/hda1               /mnt/WinC                auto     defaults

  2. /dev/hda5               /mnt/WinD                 auto     defaults
复制代码

(15:21:42) 鱼鱼游: 老大,我添加了这2个,你看对不对呢
(15:22:34) hers: 看起来还成。你是在 windows 中用 qq 啊?不是吧
(15:23:01) 鱼鱼游: 不是我用REDHAT
(15:23:23) 鱼鱼游: 不用这样吗
(15:23:36) hers: 没事,我是怕你不停的重启。运行
  1. umount -a
复制代码
再运行
  1. mount -a
复制代码
会不会报错?
(15:24:03) 鱼鱼游:
  1. mount /dev/hda6 /mnt/f -o iocharset=cp936
复制代码

(15:24:28) 鱼鱼游: 我看坛子上用这个的,,,,
(15:24:37) 鱼鱼游: 不知道什么意思
(15:25:10) hers: 这个是手动的挂载,你不是说要自动操作吗?mount -a 就是模拟开机时的自动操作
(15:25:43) 鱼鱼游: 明白了
(15:26:01) 鱼鱼游: 那现在我就执行命令了,是吧
(15:26:27) hers: 嗯。mount -a 会把 fstab 中所有分区都挂载上
(15:26:53) 鱼鱼游: 在 /root 下执行吗
(15:27:25) hers: 只要是 root 用户就可以了
(15:27:38) 鱼鱼游: 好
(15:32:40) 鱼鱼游:

  1. [root@localhost root]# mount -a

  2. [root@localhost root]# mount -a

  3. [root@localhost root]# mount -a

  4. [root@localhost root]# umount -a

  5. umount: /mnt/WinE: device is busy

  6. umount: /dev/pts: device is busy

  7. umount: /: device is busy

  8. [root@localhost root]# umount -a

  9. umount: /dev/pts: device is busy

  10. umount: /: device is busy

  11. [root@localhost root]# umount -a

  12. umount: /dev/pts: device is busy

  13. umount: /: device is busy

  14. [root@localhost root]# umount -a

  15. umount: /dev/pts: device is busy

  16. umount: /: device is busy

  17. [root@localhost root]#
复制代码

(15:32:58) 鱼鱼游: 老大,这个正常吗
(15:33:58) hers: 很正常啊
(15:34:15) hers: 运行 mount -a 之后,/mnt/winC 应该就已经挂载好了。
(15:34:53) hers: 看错了,没有 winC
(15:35:07) 鱼鱼游: 那我想把这几个做个快捷方式放到桌面或者是任务栏的话该怎么作讷,,,
(15:35:36) 鱼鱼游: 老是 搞不清楚这个,,,
(15:35:47) hers: 快捷方式?把 /mnt/WinC 链接到桌面行不行啊
(15:36:19) 鱼鱼游: 可以啊,就是不知道怎么去做这个,,,,
(15:36:40) hers: 命令是这样
  1. cd $HOME/Desktop && ln -s /mnt/WinC
复制代码

(15:37:13) 鱼鱼游: 太好了,我试验下
(15:37:30) hers: 也可以在文件管理器里面,用中键来拖放图标,把 /mnt/WinC 拖放到桌面上
(15:37:49) 鱼鱼游:
  1. [root@localhost root]# cd $HOME/Desktop && ln -s /mnt/WinC

  2. bash: cd: /root/Desktop: 没有那个文件或目录
复制代码

(15:38:13) 鱼鱼游: 哦,不过还是命令行爽啊
(15:40:52) 鱼鱼游: 这个命令怎么会出错了呢
(15:41:33) hers: 平时你用的不是 root 用户吧
(15:41:52) 鱼鱼游: 我一直是用的ROOT
(15:42:08) hers: 哦 对了,你用的不是 fedora
(15:42:36) 鱼鱼游: REDHAT
(15:42:38) 鱼鱼游: 是的
(15:42:48) 鱼鱼游: REDHATLINUX9
(15:42:55) hers: 在 fedora 中,桌面就是 Desktop 目录
(15:43:15) 鱼鱼游: 哦
(15:43:50) hers: 在 rh9 中,桌面应该是 .gnome-desktop 之类的目录吧,我也不记得了
(15:43:58) 鱼鱼游: 那我这个REDHATLINUX9是属于那种版本呢?不是FC3吧
(15:44:39) hers: redhat linux 9 是 2003 年 4 月的,fc3 是 2004 年 11 月的
(15:45:23) 鱼鱼游: 呵呵,那一种高级呢
(15:46:05) hers: 新一点的好。这么着,在桌面上新建一个文件夹,随便起个名字比如 test
(15:46:20) 鱼鱼游: FC3应该是桌面版吧
(15:46:30) 鱼鱼游: 好
(15:47:31) hers: 然后执行
  1. find $HOME -name test -type d
复制代码
,看看能不能找到这个文件夹
(15:49:56) 鱼鱼游:
  1. [root@localhost root]# find $HOME -name test -type d

  2. /root/.gnome-desktop/test
复制代码

(15:50:40) hers: 果然没记错啊,.gnome-desktop 这个目录就是桌面。那么只要把 WinC 链接到这个目录下就可以了
(15:50:58) 鱼鱼游: 好
(15:51:19) hers:
  1. ln -s /mnt/WinC $HOME/.gnome-desktop/WinC
复制代码

(15:53:10) 鱼鱼游: 老大,成功,高人啊
(15:54:11) hers: 很简单的事情。对了,我可以把这些聊天记录整理后发到网上吗?

(15:54:40) 鱼鱼游: 老大,当然,,,,,
(15:55:34) hers: 可以?那谢谢了
发表于 2004-11-20 21:51:40 | 显示全部楼层

up

是的,RedHat 是Linux的先锋!!
发表于 2004-11-20 21:56:58 | 显示全部楼层
支持一下,虽然不完整。这篇文章足以回答为什么要升级到FC3的问题了:gnome 2.8的文件选择器,firefox 1.0,evolution 2.0,hotplug和硬件管理,无线网卡支持,改进的输入法支持,gcc 3.4,gcc 4.0和坦克大战。
发表于 2004-11-20 21:57:30 | 显示全部楼层
感觉还是XP用的舒服阿
发表于 2004-11-20 22:24:30 | 显示全部楼层

U盘的多次拔插

自己加上storage-policy.fdi文件,U盘确实可以用,不死了,但只能用一次呀,拔下再插上就不能自动识别了,有什么好的解决方法吗?
发表于 2004-11-20 22:33:16 | 显示全部楼层
我的U盘可以多次插拔啊。
发表于 2004-11-20 22:51:39 | 显示全部楼层
虽然还没装,支持一下……
发表于 2004-11-20 22:53:39 | 显示全部楼层

怎么正确的卸下U盘

是在终端里用umount命令,在gnome桌面上右击U盘图标卸载,还是直接往下拔:p ,呵呵!
 楼主| 发表于 2004-11-23 18:27:56 | 显示全部楼层
*deleted*
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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