|
|
第 1 帖 | |
|
|
标题: mount(手工挂载/自动挂载)问题小结 1.vfat文件编码方式
fat32文件名分为两种,短文件名和长文件名 两种文件名在磁盘上的存储方式是不同的,长文件名在目录项中特殊的标记 短文件名也就是8.3格式,对于包含中文的任何文件来说都不可能是短文件名 mount挂载时默认将其变成小写,你可以加-o shortname=winnt来使其和 win2k/xp一致 长文件名都是unicode的,以utf16格式存储 2.codepage与iocharset 对于挂载fat32磁盘来说,codepage不需要设置,因为它只对短文件名编码方式起作用 系统默认cp437就足够了 unix世界里很多程序都不处理utf16,iocharset将16位unicode字符转成其他字符集, 系统默认为iso8859-1,一般把它设置成linux系统使用的字符集,如cp936(GBK),utf8 (注:不过linux系统推荐不要使用iocharset选项,推荐直接使用-o utf8 或者utf8=true 具体可参见linux-2.6.19/Documentation/filesystems/vfat.txt原文) 3.一般手工挂载/卸载步驟 (假定为root或sudo进行操作的用户,关于其他用户的挂载见后面) *找到需要挂载的设备名,通过查看所有块设备: cat /proc/partitions 或 fdisk -l 如果还是不清楚,可以对比查看已挂载设备: mount 或 mount -l (-l选项会多输出卷标) 或cat /proc/mounts cat /etc/mtab (加-n选项mount的设备不显示) *找到设备后,选择一个空目录作为挂载点 (当然你也可以把一个非空目录作为挂载点,但那样很容易将目录中的文件内容搞混) 如挂载u盘/dev/sda1到/mnt下,系统字符设定为utf8 mount -t vfat /dev/hda /mnt -o utf8 就足够了 不加-t vfat在很多情况下也是可以的,但手册上建议最好指定,因为不加-t的话,mount 会先去读根据/etc/filesystems,/proc/filesystems中的文件系统类型进行猜测,只是 一种启发式的猜测(与幻数magic有关),可能会出现问题 如果需要其它选项,见mount(8) *卸载设备 确保当前目录不在挂载目录中,并关闭所有使用挂载目录中文件的程序 umount <挂载点>或<设备名> 如果输出还是device busy,可以使用 fuser <挂载点> 查看哪个进程号正在使用该设备,结合ps aux应该能解决问题 (注:-f虽然是强制卸载的含义,但只是针对nfs设计的) 4.固定设备最好在/etc/fstab中设定 <设备名> <挂载点> <类别> <选项> <是否dump> <是否fsck检查> 对于最后一项,如果/根分区要检查设为1,ext2/3最好设成1 其它文件系统要检查的话需设成2,对于fat32,ntfs文件系统个人觉得没有必要 例如: # <file system> <dir> <type> <options> <dump> <pass> none /dev/pts devpts defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hda7 swap swap defaults 0 0 /dev/hda8 / ext3 defaults 0 1 /dev/hda1 /media/winc vfat ro,uid=1000,utf8 0 0 /dev/hda5 /media/wind vfat rw,uid=1000,utf8 0 0 /dev/hda6 /media/wine vfat rw,uid=1000,utf8 0 0 /dev/sda1 /media/sda1 vfat rw,user,utf8,noauto 0 0 系统在init加载完驱动模块后,会用一个类似mount -a的命令对/etc/fstab中的设备进行加载, 因此,有些人觉得没有必要每次都挂载那些fat32盘,只要在/etc/fstab选项中加上noautoid 就可以了,cdrom(/dev/hdc或/dev/cdrom)也可以加上noauto放在这里 登录进去之后如果想要挂载,mount 设备名或挂载点 就好了 注:user选项的意思可以让任何人都mount该设备,不过如果其他人或系统已经将其mount上了, 其余非root用户就不能umount; 要想让任何人都可以umount该设备,将user选项改成users 而设置uid=1000(非root uid)后,即使是系统mount上的,文件系统所有者仍然是该uid指定的用户,也 就对文件有了读写权限 5.自动挂载设置 *hal和dbus服务 自动挂载需要启动hal服务,所以把它加到/etc/rc.conf的DEAMONS列表中是个不错的主意 hal服务启动时会先检查dbus是否已经运行,如果未运行会先运行dbus, 所以你在DEAMONS列表中没有dbus也是可以的 *自动挂载权限问题 系统默认对于普通用户是没有自动挂载权限的,不过你可以在 /etc/dbus-1/system.d/hal.conf找到解决方案 在文件的结尾处可以看到 <!-- You can change this to a more suitable user, or make per-group --> <policy user="nobody"> 所以将其改成你的非root用户名就行了(这样设置后你也获得的电源管理和卷管理的权限) 当然,因为上面定义了storage组有自动挂载的权限,所以你可以把自己加入到storage组中 (注:加入到一个组中最简单的方法是编辑/etc/group,在storage组后添上你的用户名就可以了, 当然用groupmems -a username -g groupname也是一个不错的选择) *gnome和xfce中的自动挂载 hal探测到新硬件后,通过dbus通知gnome-volume-manager然后到gnome-mount (其中gnome-volume-manage没有也是可以的) gnome-mount会先到/etc/fstab中查找是有该设备,如果有则按/etc/fstab中的选项自动挂载 如果没有,则会按gnome-mount的挂载选项进行挂载 配置gnome-mount最简单的方法是使用gconf-editor,在 systerm-->storage-->default_options-->vfat:mount_options 中设定,一般你只需要加上utf8就可以了 (注:在gnome中桌面中,挂载后图标下面的盘符应该和该磁盘的卷标一致。如果磁盘没有卷标,或者卷标中含有中文字符,则显示该磁盘 的容量.对于fat32盘设置卷标最简单的方法是到windows底下右键电击该磁盘,在属性->常规中对卷标进行设置; 在linux中ext2/3可以 用e2label进行设置) 好了,以上就是一点小结,也是最常用到的,每个arch新手基本都会遇到的问题,俺们以前只会用 ubuntu,好像也没为这种事情操心(不过也基本啥都没学会,以前都不知有配置服务这回事, 机器开机慢得像蜗牛还以为linux本来就是这样,呵呵),遗漏部分、有错的部分希望大家指出,enjoy arching!
__________________
Thinking In Linux... 桌面系统全面拥抱ubuntu7.10~~ 此帖于 07-01-18 00:05 被 thinux 编辑. |
|
|
|
|
|
|
|
第 2 帖 | |
|
|
说得好,学Linux就是为了折腾,呵呵
__________________
AMD Athlon 4000+ (65nm) + AMD690G + ATI X1250 + Kingston DDR 667 1Gx2 + 希捷 SATA 160G + Creative SoundBlaster 128D PCI |
|
|
|
|
|
|
|
第 3 帖 | |
|
|
好文!受益匪浅,高手啊,多谢!
__________________
CPU: AMD Athlon XP 1800+ 主板: ASUS A7N8X 内存: DDR333 256M*3 硬盘: WD1200JB 显卡: QuadroDCC(GF3Ti500改) 声卡: Creative Live5.1 显示器: LG 795FT plus 光驱: LG GSA-H42N -------------------------------------- 系统: ArchLinux + Gnome |
|
|
|
|
|
|
|
第 4 帖 | |
|
|
看来年末来了,大家都在总结资源哈
收下了,谢过~
__________________
CPU:Intel Core2 Duo E4500 @ 3.3G (333x10) 散热器:TT mini tower 主板:SOYO OC01-P35-GR 显卡:Dataland X800XL 256MB DDR3 内存:A-DATE DDR2 800 1GBx2 @1GMHz 硬盘:Seagate 640G eSATA 刻录机:ASUS DRW-1608P3S 显示器:LG L225WT 电源:冷静王至尊版HK500-52AP 机箱:CoolerMaster 534 Enturion (MODed) |
|
|
|
|
|
|
|
第 5 帖 | ||
|
|
引用:
hal自己能做到检查到移动设备(如USB Disk)然后在/media(或是/mnt?)建立一个挂载点目录的吧? 我现在这个还没弄好……
__________________
MSN & Gtalk : leemars@gmail.com |
||
|
|
|
||
|
|
第 6 帖 | |
|
|
gnome-mount确实会为你在/meidia下建一个临时目录
xfce本身是不带自动挂载工具的.虽然/opt/xfce4/bin目录下有个xfmountdev4,但实际上这个脚本没有起r任何作用,估计是为以后开发留出的接口 所以现在解决方案可以如下: mkdir /media/usb 在/etc/fstab中加入如下内容 /dev/sda1(或你常用的移动设备) /media/usb vfat user,rw,utf8,noauto 0 0 基本能够解决问题... |
|
|
|
|
|
|
|
第 7 帖 | |
|
|
受益了,谢谢兄太,期待别的总结
PS:一直搞不定我的声卡多音频,主板是nf4的,希望看到的人帮助一下 此帖于 07-01-18 11:05 被 YourLai 编辑. |
|
|
|
|
|
|
|
第 8 帖 | ||
|
|
引用:
一点问题都没呢。它确实是在/media下临时目录。 那个允许xfce管理桌面的有点小问题 就是桌面的动作不能及时刷新。
__________________
winxp -> slackware-> gentoo!-> archlinux-> pacman -Syu xfce4.4..firefox.dta..mpd/mpc.. In ThinkPad 此帖于 07-01-21 23:29 被 risky 编辑. |
||
|
|
|
||
|
|
第 9 帖 | ||
|
|
引用:
你的hal会自动在/media下面建目录么?我的似乎不行,不知道是权限不够还是要自己设置。。。 |
||
|
|
|
||
|
|
第 10 帖 | ||
|
|
引用:
是在/media下建usbdisk、usbdisk-1 你的root能开么? hal/dbus正常的话一般没问题吧。 |
||
|
|
|
||