|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
PC主机:Ubuntu 和 redhat 9.0
) S1 o) ]( P7 |6 x# P+ C* v
0 |; R1 t& R6 e: ~目标板:TQ2440开发板 cpu:s3c2440 linux内核:2.6.30
( L* ^% D0 z- `5 z# f
$ v3 ]# E4 E" i* T0 H. K7 u$ {' j* ~下文中所输入的命令就是在开发板中执行。" Q, R" S' Z, W- W. u7 f/ ?# M. v" X2 `
" z/ U! L5 m/ l! p# `1. fstab的作用& o% _1 r$ e2 B* j7 o; O @
, [' w" _& D; ~( k- e) F
fstab包含了需要挂载的设备,相应的挂载点,以及属性等。在两种情况下,fstab中的内容将被读取。
" w v1 [! W+ z* V6 R8 r& L+ `) g% }3 H, u8 V
1) 当执行mount -a的时候,fstab配置文件中的所有条目将被一一执行。, @1 R1 \, W, `3 i4 r& P" k4 U
1 K( t! s$ m- y/ x0 g( |
2) fstab配置文件中的内容将作为默认的配置,也就是说当mount命令只知道挂载设备或者是挂载点时,它将搜索fstab文件。,比如,执行mount /tmpfs的时候,此时我并没有给出需要挂载的设备,仅给出了挂载点,但是mount命令会首先查询fstab,如果查找到/tmpfs,将使用该默认配置进行挂载。请看例子:1 I6 Y+ ]/ S7 h5 z% ^/ j
, D% {: c3 r7 J! Q8 R }1 F# T
- ?; g& l% a, q6 R C; e/ I; E[root@yj423 /root]#cat /etc/fstab | grep /tmp
8 l/ ~; s* }) K/ L Mtmpfs /tmp tmpfs defaults 0 0 ; F1 S: B, @( K) z
[root@yj423 /root]#mount /tmp & D8 k# W( X$ y3 V8 M& N
[root@yj423 /root]#mount | grep /tmp * W1 C: T' w; a- D) E
tmpfs on /tmp type tmpfs (rw,relatime)5 p) \2 k% `, r z; l
2 P6 r. N* p6 I5 q! S- l但是如果我们把fstab中/tmp所在的该行删除,则会
; K! c1 i1 P* s& |
8 D, N# f S. o4 E[root@yj423 /root]#mount /tmp5 n% U2 n$ Y) [' T3 ?2 T
mount: can't find /tmp in /etc/fstab/ c- T( n K1 P5 I9 ~+ |7 f
( n+ r- ?) B& m
. M' v5 V2 x6 M2. fstab语法
4 [) P. G! h8 c$ S
. z4 J0 `! T$ ?9 i首先,先来看下完整的fstab内容* _3 {$ U& r" Z7 S9 I
6 w3 A- s/ T5 n6 A9 t/ j9 {$ F! Z) p' W
[root@yj423 /root]#cat /etc/fstab
8 v# f; }) |3 M% I<filesystem> <mountpoing> <type> <options> <dump> <pass>
* R7 o8 J/ d8 h! L$ ~$ p/ k& oproc /proc proc defaults 0 0: w* [5 U9 D$ P# `; c/ \; C
tmpfs /tmp tmpfs defaults 0 0; L3 }) `+ y g& U
sysfs /sys sysfs defaults 0 0
0 \- C) U$ w9 X0 A( ~tmpfs /dev tmpfs defaults 0 0
4 Y1 p7 k1 W7 Yvar /dev tmpfs defaults 0 0
$ l% s! s1 t5 A a, gramfs /dev ramfs defaults 0 0
$ v2 w6 q! v4 g) d/ X0 g c
6 Z5 T& e: o9 R1 a* j第一列filesystem为mount命令所挂载的设备。
( A7 a$ U6 a7 x
: r8 @$ m9 [' `& w/ z& f第二列mount point为mount命令的挂载点。挂载点必须是一个已存在的目录。
* w7 M2 Y) l2 S8 u3 N
5 S6 ?' M0 b, ^- O第三列type为文件系统的类型。) {. V2 V9 B7 Z5 o
; K/ q8 D4 h- |# Z第四列option为mount命令的选项。9 |# |- S$ f; y1 b1 H
1 H: d. L! |9 a这里的defaults表示:rw, suid, dev, exec, auto, nouser, and async。
1 [* o% T) d/ U d1 b! Y0 F+ N0 B
- Y# \& k4 e9 @! n0 h: a$ orw表示文件系统可以读写。% z3 u+ G/ S0 ^# q6 ~0 D) N
& j# \6 R+ `( F7 j* |1 Jsuid表示当前用户权限和创建该文件的用户权限一样。
7 z0 F% P& q$ h; z
: E; f' s: S; gdev表示识别文件系统中的字符设备和块设备。与其对应的是nodev。
, W/ a/ Y3 o; d0 t+ ]; K# s1 j' I4 n T" D) v0 J
exec表示可以在设备上运行二进制文件。与其对应的是noexec。" b' D# r' r$ {+ G
2 w: R: K1 x" C& v. G3 j
auto表示执行mount -a是会执行该条目。与其对应的是noauto。% h" s& X% o( I& j! z& `7 b5 f% s. R/ U
! m# z$ s0 h9 l+ n9 `! D2 B" r
nosuer表示只有root才能挂载该设备。与其对应的是user。
' d: z2 D3 R. j
. v0 Z: A. @* {4 Hasync表示对该设备的写入操作不会立刻写入设备,而在随后的某个时刻写入。与其对应的是sync。
# s1 T/ H/ g/ l7 F$ l6 p4 w' [4 R5 l% Z
第五列dump表示是否使用dump备份该文件系统,如果是0,dump将忽略该文件系统。大多数情况下该列都为0.. k& P3 P5 h @2 Q
/ f) w, A$ v% \: {) x, a' U
第六列pass表示fsck工具检查文件系统的顺序。0表示不使用fsck。8 g' y+ ^. E$ l0 {0 r
0 V) [9 M9 u, n% B5 q7 H5 I
5 f0 k) V% V A# G2 \
+ b8 A* B! i9 P' I0 v2 t& W3 D/ x+ A, u3 g5 z
( R$ a! _5 j% ^
|
|