|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
PC主机:Ubuntu 和 redhat 9.0
4 X- ^, R$ a. p0 e; A) e, w3 z! O% M1 h! G$ ?( j% k2 Q
目标板:TQ2440开发板 cpu:s3c2440 linux内核:2.6.30
n8 M. _3 {' z5 [) n" P6 Z7 v/ ]. v: [
下文中所输入的命令就是在开发板中执行。3 Y! o. D" h& @- G
4 A; f" S, T; c" K- F+ r) E% G
1. fstab的作用
B# T8 Y4 g& i4 i' M& k O, E. s" Q" e
fstab包含了需要挂载的设备,相应的挂载点,以及属性等。在两种情况下,fstab中的内容将被读取。
& p6 E9 l$ ~/ Q& Z! f, A' X5 x- E# g- B ~7 Y' E5 a* l, u
1) 当执行mount -a的时候,fstab配置文件中的所有条目将被一一执行。9 g# Q% V7 l" y( M2 z+ s0 X
: i9 b3 Q1 J2 K0 s3 p/ c7 V
2) fstab配置文件中的内容将作为默认的配置,也就是说当mount命令只知道挂载设备或者是挂载点时,它将搜索fstab文件。,比如,执行mount /tmpfs的时候,此时我并没有给出需要挂载的设备,仅给出了挂载点,但是mount命令会首先查询fstab,如果查找到/tmpfs,将使用该默认配置进行挂载。请看例子:
5 p; E. A. ^$ T0 l
* `6 O- n( F4 |1 x9 _' i
+ @# h7 w! i7 W* L0 W' {4 k[root@yj423 /root]#cat /etc/fstab | grep /tmp
) S, A! r) W' U itmpfs /tmp tmpfs defaults 0 0 " e. q i8 \2 A/ M' Y7 l& D
[root@yj423 /root]#mount /tmp 4 e) S* m1 W1 q) A4 f& E$ }
[root@yj423 /root]#mount | grep /tmp 7 m. y: {6 n5 S* K! @
tmpfs on /tmp type tmpfs (rw,relatime)4 t, b. n* ]! O+ D1 a! n
* e$ M4 N8 h( K9 Y' O/ m" ^) r5 ?$ w
但是如果我们把fstab中/tmp所在的该行删除,则会
4 t8 G7 M9 l9 ^, Z0 e8 T
3 {# ], Q( ? [" S0 H[root@yj423 /root]#mount /tmp" D" [! v; s& z/ A
mount: can't find /tmp in /etc/fstab
+ p5 u$ Q: C# k) w1 Q3 D9 A! T* h* N' l9 {/ v& j/ J, X1 x! s
) y1 y8 g# _3 f2. fstab语法3 O2 C% a% \0 Y
. w& z. B' Q! m4 ]- t首先,先来看下完整的fstab内容
; j7 C {, x$ Y- s& h7 l! K$ v" U; [ N, `% h
[root@yj423 /root]#cat /etc/fstab
- ]- F) M3 r- _0 X0 B+ Y9 C<filesystem> <mountpoing> <type> <options> <dump> <pass>
- m- i* ]' }: u1 M* G$ Xproc /proc proc defaults 0 0
3 O; m9 P$ u$ V, }* x* Ftmpfs /tmp tmpfs defaults 0 0: h4 X1 [$ E! x* l& \
sysfs /sys sysfs defaults 0 0) _6 j, w# t/ T; V8 T
tmpfs /dev tmpfs defaults 0 08 i2 s; ?1 b+ m. U
var /dev tmpfs defaults 0 0& n2 b8 a$ F) W# U
ramfs /dev ramfs defaults 0 0
, i* ^% Y. n+ y* u7 v7 @! a9 m, h1 }5 t7 N9 S
第一列filesystem为mount命令所挂载的设备。
% i5 \' I% v, m6 h& s3 b7 \" i1 B# e( Z
第二列mount point为mount命令的挂载点。挂载点必须是一个已存在的目录。
- w5 o$ v, m8 i. ~
. d: A' F3 q; q第三列type为文件系统的类型。( H I9 O$ W1 f5 R
5 y. y3 b. `- M: \' ?, O m5 \第四列option为mount命令的选项。; v- O) W9 l- w! r2 \5 E* w/ i$ M+ p
- W+ t! I6 t8 p7 W
这里的defaults表示:rw, suid, dev, exec, auto, nouser, and async。
+ C% ?1 G% M/ y- o6 y& N5 Z! e& q' l, f" G) h
rw表示文件系统可以读写。5 ?) ]. Q7 b+ g- l9 T
2 W' w7 L0 n3 ?7 K# W; j8 D9 S/ fsuid表示当前用户权限和创建该文件的用户权限一样。
( o. ~ K6 M6 N# _+ z9 w
+ y0 B/ K1 m5 rdev表示识别文件系统中的字符设备和块设备。与其对应的是nodev。
1 ]& o' b9 V4 z: b& |
0 ^+ K0 Z3 K1 |# }: @exec表示可以在设备上运行二进制文件。与其对应的是noexec。& d( ~+ g6 ~1 Z J+ s# N
, S9 [- c1 G5 s4 k+ i7 F; H4 p
auto表示执行mount -a是会执行该条目。与其对应的是noauto。
5 x+ u; V1 a' N. _. C& P. j
( W* ?& y1 B; T' snosuer表示只有root才能挂载该设备。与其对应的是user。/ U+ J3 v* F" ]8 q
E! y# n: X7 d. Wasync表示对该设备的写入操作不会立刻写入设备,而在随后的某个时刻写入。与其对应的是sync。
! B: i- g8 y3 Z/ ]
M/ K# a2 | T5 w第五列dump表示是否使用dump备份该文件系统,如果是0,dump将忽略该文件系统。大多数情况下该列都为0.
+ Y+ n( K7 }* I
* p" n0 E$ T' H8 w5 v" V! O! g' I第六列pass表示fsck工具检查文件系统的顺序。0表示不使用fsck。
5 A$ p" l, F+ e2 i& s: I/ M6 E9 j7 [$ P8 O
! y. o0 U$ S3 @) k! I
! h6 c' V8 Z, W! {' T0 y2 b1 ^3 D; W" i7 r+ A& A% a/ |( @6 y
9 v3 T5 ]8 V. B: s: [, O
|
|